{"id":261022,"date":"2015-07-09T12:35:03","date_gmt":"2015-07-09T08:35:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=261022"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=261022","title":{"rendered":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 Excel \u0432 \u0441\u043f\u0438\u0441\u043e\u043a SharePoint 2013. \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Excel. \u0412\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432 Excel"},"content":{"rendered":"<p>             \u042f \u2013 \u0441\u0442\u0443\u0434\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0442\u043e\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0432\u0443\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0434\u043e\u043b\u0433\u0443 \u0441\u043b\u0443\u0436\u0431\u044b \u0442\u0435\u0441\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u0430\u043b\u043e\u0432 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 SharePoint 2013. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Excel \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a SharePoint, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435.<\/p>\n<p>  <b>\u0410 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0430\u0434\u043e?<\/b> \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u00ab\u0411\u0435\u043d\u0434\u0435\u0440 \u0438 \u041a<sup>\u043e<\/sup>\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0444\u0438\u043b\u0438\u0430\u043b\u043e\u0432, \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043c\u0441\u044f \u0434\u0432\u0443\u043c\u044f \u2013 \u00ab\u0420\u043e\u0433\u0430\u00bb \u0438 \u00ab\u041a\u043e\u043f\u044b\u0442\u0430\u00bb. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0441\u0442\u0443\u0442, \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043d\u043e\u0432\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438, \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u043e \u043d\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 10 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u0412\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u0435 2-3 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432 \u0441\u043f\u0438\u0441\u043e\u043a SharePoint \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043c\u043d\u043e\u0433\u043e \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0430 \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 20 \u0438\u043b\u0438 50? \u0414\u0430 \u0438 Excel \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u043e\u043a\u0430 \u0431\u043b\u0438\u0436\u0435, \u0447\u0435\u043c SharePoint. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441 \u0446\u0435\u043b\u044c\u044e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 Excel. <\/p>\n<p>  \u0418\u043c\u043f\u043e\u0440\u0442, \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 SharePoint.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\u0438.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>1. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u00ab\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438\u00bb \u0432 SharePoint \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d Excel \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/h4>\n<p>  \u041c\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/5df\/c1f\/2ec\/5dfc1f2ecfdf4e519ab117fc26a1a908.png\"\/><\/p>\n<p>  \u041f\u0440\u043e\u0448\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 3 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f <b>\u043f\u0430\u043f\u043a\u0430\u043c\u0438<\/b>, \u0432\u043d\u0443\u0442\u0440\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<p>  \u0410 \u0448\u0430\u0431\u043b\u043e\u043d Excel \u2014 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/76f\/10c\/dce\/76f10cdce17e47c4a7d0b8bf4751c5b6.png\"\/><\/p>\n<p>  \u0421\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e <b>\u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445<\/b> \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 SharePoint \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 Excel. \u042f \u0432\u0441\u0435 \u043f\u043e\u043b\u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c\u0438.<\/p>\n<h4>2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442 SharePoint 2013<\/h4>\n<p>  New Project -&gt; SharePoint Solutions -&gt; SharePoint 2013 \u2014 Empty Project -&gt; \u041e\u041a.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ee6\/d56\/635\/ee6d56635175448ca27e59784b476a19.png\"\/><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c <b>\u0443\u0437\u0435\u043b<\/b>, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <b>Deploy as a farm solution<\/b> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <b>Finish<\/b>.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/645\/153\/455\/6451534552f343b1bf06e3cebc7b0830.png\"\/><\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <b>Visual Web Part<\/b>. \u041a\u043b\u0438\u043a \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 -&gt; Add -&gt; New Item -&gt; Visual Web Part -&gt; Add.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/8f2\/6a1\/b04\/8f26a1b042f245f1adee02d2bdfa5835.png\"\/><\/p>\n<h4>3. \u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438<\/h4>\n<p>  \u0417\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0444\u0430\u0439\u043b <b>.ascx<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 Add \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430. \u0412 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0443\u0441\u044c 2 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0445\u043e\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438; \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c FileUpload, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438; DropDownList \u2014 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0444\u0438\u043b\u0438\u0430\u043b\u044b; 3 \u043a\u043d\u043e\u043f\u043a\u0438 \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430:<\/p>\n<pre><code>&lt;asp:Label ID=&quot;Label1&quot; runat=&quot;server&quot; Text=&quot;&quot; EnableViewState=&quot;false&quot;&gt;&lt;\/asp:Label&gt; &lt;asp:Label ID=&quot;Label2&quot; runat=&quot;server&quot; Text=&quot;&quot;&gt;&lt;\/asp:Label&gt; &lt;div id=&quot;dvSource&quot; runat=&quot;server&quot;&gt;    \t&lt;fieldset style=&quot;width:51%; max-width:600px; min-width:600px;&quot;&gt;    \t&lt;legend&gt;&lt;\/legend&gt;    \t&lt;table&gt;        \t&lt;tr&gt;            \t&lt;td&gt;\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 Excel \u0444\u0430\u0439\u043b :  &lt;\/td&gt;            \t&lt;td&gt;                \t&lt;asp:FileUpload ID=&quot;FileUpload1&quot; runat=&quot;server&quot; Width=&quot;453px&quot; \/&gt;            \t&lt;\/td&gt;         \t&lt;\/tr&gt;         \t&lt;tr&gt;            \t&lt;td&gt;\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043b\u0438\u0430\u043b : &lt;\/td&gt;            \t&lt;td&gt;                \t&lt;asp:DropDownList ID=&quot;DropDownList1&quot; runat=&quot;server&quot; Width=&quot;238px&quot;&gt;                \t&lt;asp:ListItem Enabled=&quot;true&quot; Text=&quot;&quot; Value=&quot;-1&quot;&gt;&lt;\/asp:ListItem&gt;                    \t&lt;asp:ListItem Text=&quot;\u0411\u0435\u043d\u0434\u0435\u0440 \u0438 \u041a\u043e&quot; Value=&quot;1&quot;&gt;&lt;\/asp:ListItem&gt;                    \t&lt;asp:ListItem Text=&quot;\u0420\u043e\u0433\u0430&quot; Value=&quot;2&quot;&gt;&lt;\/asp:ListItem&gt;                    \t&lt;asp:ListItem Text=&quot;\u041a\u043e\u043f\u044b\u0442\u0430&quot; Value=&quot;3&quot;&gt;&lt;\/asp:ListItem&gt;                \t&lt;\/asp:DropDownList&gt;            \t&lt;\/td&gt;        \t&lt;\/tr&gt;         \t&lt;\/table&gt; &lt;div style=&quot;float:left; margin-top:20px; width:80%; margin-left:122px&quot;&gt;    &lt;asp:Button ID=&quot;Button1&quot; runat=&quot;server&quot; OnClick=&quot;btnUpload_Click&quot; Text=&quot;\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435&quot;  \/&gt;    &lt;asp:Button ID=&quot;Button2&quot; runat=&quot;server&quot; OnClick=&quot;btnRemove_Click&quot; Text=&quot;\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435&quot; \/&gt;    &lt;asp:Button ID=&quot;Button3&quot; runat=&quot;server&quot; OnClick=&quot;btnUnload_Click&quot; Text=&quot;\u0412\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Excel&quot;  \/&gt;            \t&lt;\/div&gt; \t&lt;\/fieldset&gt; &lt;\/div&gt; <\/code><\/pre>\n<p>  \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u044c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4e8\/757\/ade\/4e8757ade5d74b678867e7d55fe100ee.png\"\/><\/p>\n<h4>4. \u0412 \u0444\u0430\u0439\u043b\u0435 <b>.webpart<\/b>, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u043c\u0435\u043d\u044f\u0435\u043c Title \u0438 Description \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438<\/h4>\n<p>  <\/p>\n<h4>5. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 EPPlus<\/h4>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 Excel \u0441\u043a\u0430\u0447\u0430\u0435\u043c \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 .net \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <a href=\"http:\/\/epplus.codeplex.com\/\">EPPlus<\/a>. \u041a\u043b\u0438\u043a \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 -&gt; Add Reference -&gt; Browse -&gt; \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c EPPlus.dll -&gt; OK.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b30\/b13\/a40\/b30b13a40b2d4a328a6b839988d47102.png\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c EPPlus.dll \u0432 <b>wsp \u043f\u0430\u043a\u0435\u0442<\/b>. \u041b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043a\u043b\u0438\u043a \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 Package -&gt; Advanced -&gt; Add -&gt; Add Existing Assembly -&gt; \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c EPPlus.dll -&gt; OK.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/1d7\/705\/268\/1d7705268a8048d3a43dfdad2b985d32.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0448\u0430\u0433 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 <\/p>\n<pre><code>using OfficeOpenXml; using Microsoft.SharePoint; using System.IO; using System.Collections.Generic;<\/code><\/pre>\n<p> \u0432 \u0444\u0430\u0439\u043b <b>.ascx.cs<\/b>. <\/p>\n<h4>6. \u041f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434<\/h4>\n<p>  <\/p>\n<h5>6.1. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u043b\u044f\u043c\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 Excel \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 SharePoint \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/msdn.microsoft.com\/ru-ru\/library\/k7z0zy8k(v=vs.110).aspx\">Dictionary<\/a><\/h5>\n<pre><code>private Dictionary&lt;int, string&gt; GetColumnMapping()    { \t       \tDictionary&lt;int, string&gt; map = new Dictionary&lt;int, string&gt;(); \t       \tmap.Add(0, &quot;\u0418\u0414&quot;); \t       \tmap.Add(1, &quot;\u0424\u0418\u041e&quot;); \t       \tmap.Add(2, &quot;\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c&quot;); \t       \tmap.Add(3, &quot;E-mail&quot;); \t       \tmap.Add(4, &quot;\u041d\u043e\u043c\u0435\u0440 \u0444\u0430\u043a\u0441\u0430&quot;); \t       \tmap.Add(5, &quot;\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440&quot;); \t       \tmap.Add(6, &quot;\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d&quot;); \t       \tmap.Add(7, &quot;\u0410\u0434\u0440\u0435\u0441&quot;); \t       \tmap.Add(8, &quot;\u041d\u043e\u043c\u0435\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430&quot;); \t       \tmap.Add(9, &quot;\u0414\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f&quot;);  \t       \treturn map;    } <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 Add \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <b>\u0438\u043d\u0434\u0435\u043a\u0441<\/b> \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Excel, \u0432\u0442\u043e\u0440\u044b\u043c \u2014 <b>Display Name<\/b> \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 SharePoint. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<h5>6.2. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435\u00bb<\/h5>\n<p>  <\/p>\n<pre><code>protected void btnUpload_Click(object sender, EventArgs e)         {             if (!FileUpload1.HasFile)             {                 Label1.Text = &quot;\u0412\u044b \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 Excel \u0444\u0430\u0439\u043b!&quot;;                 return;             }             try             {                 string Url = SPContext.Current.Web.Url;                 using (SPSite spSite = new SPSite(Url))                 {                     using (SPWeb spWeb = spSite.OpenWeb())                     {                         spWeb.AllowUnsafeUpdates = true;                         SPList list = spWeb.Lists[&quot;\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438&quot;];                         var folderDZO = list.RootFolder.SubFolders[DropDownList1.SelectedItem.Text].ToString();                         SPFolder folder = spWeb.GetFolder(folderDZO);                                     string LoginName = SPContext.Current.Web.CurrentUser.LoginName;                          if (CheckPermission(LoginName, folder.Item, spWeb) == false)                         {                             Label2.Text += &quot;\u0423 \u0412\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438!&quot;;                             return;                         }                         else                         {                             try                             {                                 byte[] fileData = FileUpload1.FileBytes;                                 using (MemoryStream memStream = new MemoryStream(fileData))                                 {                                     memStream.Flush();                                     using (ExcelPackage pck = new ExcelPackage(memStream))                                     {                                         if (pck != null)                                         {                                             CreateListItem(pck, list, spWeb);                                         }                                     }                                 }                                  Label1.Text = &quot;\u0414\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b...&quot;;                             }                             catch (Exception Ex1)                             {                                 Label1.Text = &quot;\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430   &quot; + Ex1.Message;                             }                         }                     }                 }             }             catch (Exception Ex)             {                 Label1.Text = &quot;\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430   &quot; + Ex.Message;             }         } <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0438 2 \u0444\u0438\u043b\u0438\u0430\u043b\u0430. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u0441\u0432\u043e\u0438 \u0444\u0438\u043b\u0438\u0430\u043b\u044b, \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u043d\u044b\u043c\u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0443 \u043f\u0430\u043f\u043e\u043a \u0431\u0443\u0434\u0443\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f CheckPermission.<\/p>\n<pre><code>public static bool CheckPermission(string userName, SPListItem folders, SPWeb spWeb)         {             bool perm = false;             SPUser oUser = spWeb.CurrentUser;             perm = (bool)folders.DoesUserHavePermissions(oUser, SPBasePermissions.EditListItems);             return perm;         } <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 SPBasePermissions \u0432\u044b \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/msdn.microsoft.com\/ru-ru\/library\/microsoft.sharepoint.spbasepermissions(v=office.12).aspx\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f CreateListItem, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<pre><code>private void CreateListItem(ExcelPackage pck, SPList list, SPWeb spWeb)         {             Dictionary&lt;int, string&gt; column = GetColumnMapping();             ExcelWorksheet ws = pck.Workbook.Worksheets[1];             int rowCount = ws.Dimension.End.Row + 1;             int colCount = ws.Dimension.End.Column + 1;             var folderDZO = list.RootFolder.SubFolders[DropDownList1.SelectedItem.Text];             SPListItemCollection itemColl = list.Items;              for (int i = 2; i &lt; rowCount && ws.Cells[i, 1].Value != null; i++)             {                 if (IsPeople(ws.Cells[i, 1].Value.ToString(), list) == false)                 {                                      SPListItem item = list.AddItem(folderDZO.ServerRelativeUrl, SPFileSystemObjectType.File, null);                     for (int j = 1; j &lt; colCount; j++)                     {                         if (column.ContainsKey(j))                             item[column[j]] = ws.Cells[i, j].Value.ToString();                     }                     item.Update();                 }                 else Label2.Text += &quot; \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c &quot; + ws.Cells[i, 1].Value.ToString() + &quot; \u043d\u0435 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!&quot;;             }         } <\/code><\/pre>\n<p>  \u0412\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043c\u044b \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 IsPeople, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0435 \u0431\u044b\u043b \u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0440\u0430\u043d\u0435\u0435.<\/p>\n<pre><code>public static bool IsPeople(string fio, SPList list)         {                        foreach (SPListItem item in list.Items)             {                 if (item[&quot;\u0424\u0418\u041e&quot;].ToString() == fio)                     return true;             }              return false;         } <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043b\u044e\u0434\u0435\u0439 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u0444\u0430\u043c\u0438\u043b\u0438\u0435\u0439, \u0438\u043c\u0435\u043d\u0435\u043c \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0435\u0442, \u0442\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0424\u0418\u041e. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, E-mail.<\/p>\n<h5>6.3. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u00bb<\/h5>\n<p>  \u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0436\u0435 \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f CreateListItem \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0430.<\/p>\n<pre><code>private void RemoveListItem(ExcelPackage pck, SPList list, SPWeb spWeb)         {             Dictionary&lt;int, string&gt; column = GetColumnMapping();             ExcelWorksheet ws = pck.Workbook.Worksheets[1];             int rowCount = ws.Dimension.End.Row + 1;             int colCount = ws.Dimension.End.Column + 1;             var folderDZO = list.RootFolder.SubFolders[DropDownList1.SelectedItem.Text];             SPListItemCollection itemColl = list.Items;              for (int i = 2; i &lt; rowCount && ws.Cells[i, 1].Value != null; i++)             {                 if (IsPeople(ws.Cells[i, 1].Value.ToString(), list) == true)                 {                                         foreach (SPListItem item in list.Items)                     {                         if (ws.Cells[i, 1].Value.ToString() == item[&quot;\u0424\u0418\u041e&quot;].ToString())                         {                             item.Delete();                             break;                         }                     }                     list.Update();                 }                 else Label2.Text += &quot; \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c &quot; + ws.Cells[i, 1].Value.ToString() + &quot; \u043d\u0435 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0435\u043d, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0433\u043e \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!&quot;;             }         } <\/code><\/pre>\n<p>  <\/p>\n<h5>6.4. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0412\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Excel\u00bb<\/h5>\n<p>  <\/p>\n<pre><code> protected void btnUnload_Click(object sender, EventArgs e)         {             string Url = SPContext.Current.Web.Url;             using (SPSite spSite = new SPSite(Url))             {                 using (SPWeb spWeb = spSite.OpenWeb())                 {                     spWeb.AllowUnsafeUpdates = true;                     SPList list = spWeb.Lists[&quot;\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438&quot;];                     SPFolder folder = list.RootFolder.SubFolders[DropDownList1.SelectedItem.Text.ToString()];                      SPQuery query = new SPQuery();                     query.Folder = folder;                     SPListItemCollection listitem = list.GetItems(query);                      ExcelPackage pck = new ExcelPackage();                     var ws = pck.Workbook.Worksheets.Add(&quot;\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438&quot;);                      int rowIndex = 1;                     ws.Cells[rowIndex, 1].Value = &quot;\u0418\u0414&quot;;                     ws.Cells[rowIndex, 2].Value = &quot;\u0424\u0418\u041e&quot;;                     ws.Cells[rowIndex, 3].Value = &quot;\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c&quot;;                     ws.Cells[rowIndex, 4].Value = &quot;E-mail&quot;;                     ws.Cells[rowIndex, 5].Value = &quot;\u041d\u043e\u043c\u0435\u0440 \u0444\u0430\u043a\u0441\u0430&quot;;                     ws.Cells[rowIndex, 6].Value = &quot;\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440&quot;;                     ws.Cells[rowIndex, 7].Value = &quot;\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d&quot;;                     ws.Cells[rowIndex, 8].Value = &quot;\u0410\u0434\u0440\u0435\u0441&quot;;                     ws.Cells[rowIndex, 9].Value = &quot;\u041d\u043e\u043c\u0435\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430&quot;;                     ws.Cells[rowIndex, 10].Value = &quot;\u0414\u0430\u0442\u0430 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f&quot;;                     rowIndex++;                                 for (int i = 0; i &lt; listitem.Count; i++)                     {                         SPListItem item = listitem[i];                         ws.Cells[rowIndex, 1].Value = item[&quot;\u0418\u0414&quot;];                         ws.Cells[rowIndex, 2].Value = item[&quot;\u0424\u0418\u041e&quot;];                         ws.Cells[rowIndex, 3].Value = item[&quot;\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c&quot;];                         ws.Cells[rowIndex, 4].Value = item[&quot;E-mail&quot;];                         ws.Cells[rowIndex, 5].Value = item[&quot;\u041d\u043e\u043c\u0435\u0440 \u0444\u0430\u043a\u0441\u0430&quot;];                         ws.Cells[rowIndex, 6].Value = item[&quot;\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440&quot;];                         ws.Cells[rowIndex, 7].Value = item[&quot;\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d&quot;];                         ws.Cells[rowIndex, 8].Value = item[&quot;\u0410\u0434\u0440\u0435\u0441&quot;];                         ws.Cells[rowIndex, 9].Value = item[&quot;\u041d\u043e\u043c\u0435\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430&quot;];                         ws.Cells[rowIndex, 10].Value = item[&quot;\u0414\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f&quot;];                         rowIndex++;                     }                      pck.SaveAs(this.Page.Response.OutputStream);                     this.Page.Response.ContentType = &quot;application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet&quot;;                     this.Page.Response.AddHeader(&quot;content-disposition&quot;, &quot;attachment;  filename=List_of_Employees_as_on_&quot; + DateTime.Now.ToString(&quot;dd_MMM_yyyy_HH_mm_ss&quot;) + &quot;.xlsx&quot;);                     this.Page.Response.Flush();                     this.Page.Response.End();                                }           }       } <\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043a\u043e\u0434\u0438\u0442\u044c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438.<\/p>\n<h4>7. \u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443<\/h4>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u043d\u0430\u0448 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 Visual Web Part \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 \u0444\u0438\u0447\u0443. \u0412 \u043e\u043a\u043d\u0435 Solution Explorer \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 Feature \u0438 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043a\u043b\u0438\u043a \u043f\u043e Feature1. \u0415\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 \u0444\u0438\u0447\u0443 \u2014 <b>Items in the Feature<\/b>, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2013 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u043e\u043a\u043e\u0448\u043a\u0430 \u0432 \u043f\u0440\u0430\u0432\u043e\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b2d\/245\/eb4\/b2d245eb4060437a8a380a09f627b850.PNG\"\/><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 -&gt;<b>Deploy<\/b>. \u0414\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f <b>Deploy succeeded<\/b>. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435. \u0412\u0435\u0431-\u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 Custom.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ee0\/a5e\/1b2\/ee0a5e1b223a4629a024aa1b850ea197.PNG\"\/><\/p>\n<h4>8. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438<\/h4>\n<p>  <\/p>\n<h5>8.1. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432<\/h5>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ae2\/2bc\/03a\/ae22bc03a51a48c784cfb61a47482368.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/dc0\/00f\/cdd\/dc000fcdd3b848eb8082f47c0a42b008.png\"\/><\/p>\n<h4>8.2. \u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u0435<\/h4>\n<p>  <\/p>\n<h5>8.3. \u0412\u044b\u0433\u0440\u0443\u0437\u0438\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432<\/h5>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/401\/2da\/58b\/4012da58bb1c4c68a1170e284bb068d4.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b0f\/2fd\/ed2\/b0f2fded2e624caab01c548affeed705.png\"\/><\/p>\n<p>  <b>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/b> \u041f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438, \u043c\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0444\u0438\u043b\u0438\u0430\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043a\u043d\u043e\u043f\u043e\u0447\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0438 Excel \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 SharePoint \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435.<\/p>\n<p>  \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/drive.google.com\/folderview?id=0B6hNOYjFYFCOfm1DNDVRQnZIdlRENmhQN01WV1A2ZWdsVHByLVM2Y2lZTno3SllKeElKWlk&amp;usp=sharing\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.             <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/262147\/\"> http:\/\/habrahabr.ru\/post\/262147\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>             \u042f \u2013 \u0441\u0442\u0443\u0434\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0442\u043e\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0432\u0443\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0434\u043e\u043b\u0433\u0443 \u0441\u043b\u0443\u0436\u0431\u044b \u0442\u0435\u0441\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u0430\u043b\u043e\u0432 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 SharePoint 2013. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Excel \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a SharePoint, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435.<\/p>\n<p>  <b>\u0410 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0430\u0434\u043e?<\/b> \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u00ab\u0411\u0435\u043d\u0434\u0435\u0440 \u0438 \u041a<sup>\u043e<\/sup>\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0444\u0438\u043b\u0438\u0430\u043b\u043e\u0432, \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043c\u0441\u044f \u0434\u0432\u0443\u043c\u044f \u2013 \u00ab\u0420\u043e\u0433\u0430\u00bb \u0438 \u00ab\u041a\u043e\u043f\u044b\u0442\u0430\u00bb. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0441\u0442\u0443\u0442, \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043d\u043e\u0432\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438, \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u043e \u043d\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 10 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u0412\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u0435 2-3 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432 \u0441\u043f\u0438\u0441\u043e\u043a SharePoint \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043c\u043d\u043e\u0433\u043e \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0430 \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 20 \u0438\u043b\u0438 50? \u0414\u0430 \u0438 Excel \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u043e\u043a\u0430 \u0431\u043b\u0438\u0436\u0435, \u0447\u0435\u043c SharePoint. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441 \u0446\u0435\u043b\u044c\u044e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 Excel. <\/p>\n<p>  \u0418\u043c\u043f\u043e\u0440\u0442, \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 SharePoint.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\u0438.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-261022","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=261022"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261022\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=261022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=261022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=261022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}