Как экспортировать данные отчета из SQL / ASP.NET в .XLS, загрузить с цветом и форматированием? - PullRequest
0 голосов
/ 27 мая 2009

Хотелось бы иметь возможность устанавливать цвета заголовков и т. Д., Разные размеры шрифтов и цвета фона для ячеек.

C # пожалуйста.

Ответы [ 3 ]

0 голосов
/ 27 мая 2009

Мне повезло с этими парнями: http://officewriter.softartisans.com/OfficeWriter-257.aspx

Недорого, но объектная модель очень элегантна, и вы имеете большой контроль над внешним видом. (Я использовал предыдущую версию COM и полагаю, что новые версии также хороши.)

0 голосов
/ 27 мая 2009
  • Магия

Если вы хотите положиться на магию MS Excel, вы можете установить

Response.ContentType = "application/vnd.ms-excel";

создайте свою таблицу внутри вывода HTML и позвольте Excel интерпретировать ее, как если бы это был файл XLS.

Если вы используете нестандартные цвета, вам, вероятно, нужно добавить их в раздел , как я только что нашел в одном из моих прошлых проектов:

<!--[if gte mso 9]>
  <xml>
    <o:OfficeDocumentSettings>
      <o:Colors>
        <o:Color>
          <o:Index>16</o:Index>
          <o:RGB>#E10056</o:RGB>
        </o:Color>
        <o:Color>
          <o:Index>17</o:Index>
          <o:RGB>#d4d1b8</o:RGB>
        </o:Color>
      </o:Colors>
    </o:OfficeDocumentSettings>
  </xml>
<![endif]-->
  • Офисная автоматизация

Используйте автоматизацию Excel COM для создания real XLS на стороне сервера и отправки его через Response.WriteBinary

  • Сторонний инструмент

как ответил Мэтт

0 голосов
/ 27 мая 2009

Это решение довольно умное. Он использует StringWriter для экспорта сетки данных в файл Excel, используя тип MIME:

http://blog.aasheim.org/2008/03/export-data-from-web-page-to-excel.html

...