Создание файлов Excel с помощью C #
Мне нужно создать файл excel через C #. Я прочитал несколько мест, которые создают XML-документ – это самый простой способ сделать это? Мне нужно иметь несколько названных вкладок и иметь возможность указывать, что определенные ячейки – это текст, дата, число и т. Д. Любые предложения или хорошие примеры?
- Извлечение данных XML для Excel
- XML для CSV / Excel
- Диапазон экспорта в формате XML без расширения файла
- Команда VBA экспортирует XML в порядке, но не заменяет
- Доступ к свойствам узла XML в vba
- OpenXML Sax метод для экспорта 100K + строк в Excel быстро
- Экспорт нескольких листов из Excel в XML
- Импортировать тестовые примеры в Testlink
Вам нужен API System.IO.Packaging – это позволит вам создавать документы .xlsx, как описано в разделе «Вставка значений в ячейки Excel 2007» . Формат Excel 2007 также может использоваться Excel 2003 и XP с установленным пакетом совместимости Microsoft Office .
Взгляните на NPOI:
Это также довольно хорошо описано в других разделах SO:
Это сложно сделать, так как рекомендованный Microsoft механизм предполагает использование Office, который отлично подходит для настольных компьютеров, но бесполезен для Интернета.
Бинарный формат файлов .xls
является пристойным, поэтому Microsoft представила файлы .xlsx
OpenXML в Office 2007.
Предполагается, что .xslx
просто – это просто почтовый контейнер, полный XML-файлов. Вы можете открыть его с помощью System.IO.Packaging
и отредактировать его с помощью System.Xml
. Есть даже пакет совместимости для более старых версий офиса.
К сожалению, это просто не просто – формат .xslx
ужасен за пределами слов .
Похоже, что они взяли 16-битный оптимизированный двоичный формат .xls
(разработанный первоначально для Windows 3.1) и сериализовали его вместо XML вместо XML. Затем они добавили действительно глупые изменения, такие как комментарии к ячейкам на самом деле VML – формат, предположительно удаленный с IE5! Они также добавили тонну магических чисел и метаданных в XML, чтобы вы не могли использовать какие-либо преобразования на нем, поэтому вы разбираете эту присоску вручную.
Наконец, они сделали его полным ослом для отладки, и мы регулярно находим файлы .xslx
которые пакет совместимости сообщает как поврежденный (без объяснения причин), но эта последняя версия Office может открыться нормально.
Там есть действительно хорошая библиотека с открытым исходным кодом: SpreadsheetLight . Это очень хорошая библиотека, но все, что требует от вас, чтобы выкопать и .xslx
файлы .xslx
будет болезненным.
вы можете перенести эту ссылку
и распределительные устройства
и CarlosAg Excel Xml Writer Library
Мы используем набор под названием Aspose на работе. Он имеет большой полнофункциональный компонент «Ячейки», который творит чудеса для нас.
http://epplus.codeplex.com/ – Взгляните на этот проект, его музыка помогает мне так много. Я нашел эту ссылку по адресу: https://stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets
Visual Studio Tools for Office – отличный способ сделать это