Экспорт собственных файлов Excel 2007 из .NET

Кто-нибудь знает ресурсы, которые могут помочь мне экспортировать простое содержимое GridView в собственный формат Excel 2007 (т.е. формат OpenOfficeXML).

Я уже видел такие решения, как Мэтта Берсета, и на самом деле я был используя это какое-то время, но он приходит с раздражающим предупреждением, выдаваемым Excel 2007 как описано здесь, что связано с тем, что собственный файл Excel не создается; скорее это HTML.

Мои первоначальные исследования показывают, что, по сути, файлы xlsx представляют собой zip-файлы, но я понятия не имею, как их создавать и что в них входит.

Будем очень признательны за любые предложения (или учебные пособия).


person Matthew Jones    schedule 28.05.2009    source источник
comment
По какой причине вы не можете использовать Office Automation, чтобы Excel управлял процессом создания документа за вас?   -  person Ankur Goel    schedule 28.05.2009
comment
Ничего, кроме того, что это кажется ужасно медленным.   -  person Matthew Jones    schedule 28.05.2009


Ответы (3)


CarlosAg имеет модуль записи ExcelXML, который работает очень хорошо. Это не исходный файл в формате Excel 2007, но он будет доступен для чтения в Excel 2007.

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

person Bob    schedule 28.05.2009

Я предпочитаю использовать собственный от Microsoft. SDK формата Open XML. Он бесплатный, выпущен Microsoft и создает настоящие файлы .xlsx.

Вы можете найти справочную документацию здесь, как как видите, пользоваться им довольно просто.

person Tamas Czinege    schedule 28.05.2009
comment
Мне, наверное, следовало пояснить, что мы используем .NET 2.0, поэтому это решение не сработает. - person Matthew Jones; 28.05.2009

SpreadsheetGear для .NET может читать и записывать собственные файлы xls и xlsx, и его проще использовать (занимает меньше time), чем другие решения, потому что у него есть API, подобный Excel, поэтому вам не нужно ничего изучать об Open XML.

Вы можете увидеть некоторые живые примеры отчетов ASP.NET (C # и VB) Excel здесь и загрузите ознакомительную версию здесь.

Отказ от ответственности: я владею SpreadsheetGear LLC

person Joe Erickson    schedule 28.05.2009