Экспорт данных в Excel (включая форматирование) с использованием C # - PullRequest
0 голосов
/ 06 января 2011

В моей программе есть DataTable, который я ранее экспортировал в Excel, используя файл CSV.Однако я хочу условно отформатировать фоновый цвет ячеек - что, очевидно, требует нового подхода.

Проблема в том, что компьютер, на котором будет работать программное обеспечение, не имеет Excel.Поэтому я не могу пойти по пути вызова API Excel.

Есть ли простой способ сделать это, что я пропустил?Если нет, то опубликован ли формат файлов Excel или как мне достичь этой цели?

Спасибо.


РЕДАКТИРОВАТЬ:

Для всех, кто заинтересован,В конце концов я нашел этот пост , который предоставляет самый простой метод, который я нашел.Работает с Excel 2003.

Ответы [ 2 ]

1 голос
/ 06 января 2011

Какая версия Excel?Если вам нужен Excel 2003, взгляните на: http://www.carlosag.net/Tools/ExcelXmlWriter/

Если вы согласны с Excel 2007, то есть: http://excelpackage.codeplex.com/ (с открытым исходным кодом) или http://msdn.microsoft.com/en-us/library/bb448854.aspx(официальный продукт MS)

0 голосов
/ 06 января 2011

Проверьте NPOI , который является .NET-портом POI, бесплатной библиотекой взаимодействия MS Office. Это мощный и довольно простой в освоении (хотя документация сомнительна). Я бы прочитал некоторые из прошлых постов здесь о NPOI (их не так уж много), чтобы ознакомиться с несколькими неприятными хитростями, которые представляют собой не столько проблемы, сколько вещи, противоречащие интуиции и не всегда очевидные из документации.

Но как только вы преодолеете отсутствие хорошего учебника, это будет потрясающая библиотека.

Полагаю, вы говорите о формате xls. Если вы можете использовать более новый формат xlsx на основе XML, это совершенно другая проблема. Вам просто нужно написать XML, формат доступен на веб-сайте Microsoft. могут быть (см. Другой ответ) инструмент, который может помочь с этим, хотя лично я всегда просто использую NPOI и пишу XLS-файлы, чтобы быть уверенным, что их может открыть любой. *

...