Я собираюсь добавить руку для плоских файлов CSV, если только потому, что у Вас есть самое большое управление кодом. Просто удостоверьтесь, что Вы читаете в строках и обрабатываете их по одному (читающий документ до конца, и разделение съест всю Вашу память - то же с записью, передаст его потоком).
Да, пользователь будет иметь к CSV сохранить Как в Excel, прежде чем можно будет обработать его, но возможно это ограничение может быть преодолено обучением и обеспечением четких указаний на странице?
Наконец, когда Вы экспортируете в клиента при установке типа пантомимы на text/csv Excel обычно отображается на том типе, таким образом, это, кажется пользователю 'файл Excel'.
Существует довольно хорошая статья и библиотека по CodeProject Yogesh Jagota:
Excel XML Import-Export Library
я использовал его для экспорта данных из SQL-запросов, и другие источники данных к Excel - работает просто великолепно для меня.
Аплодисменты
Проверьте проект ExcelPackage, он использует Office Открытый формат файлов XML Excel 2007, это легко и с открытым исходным кодом...
Экспорт CSV прост, легок реализовать, и быстро. Существует одна потенциальная проблема, которую стоит отметить, все же. Excel (до 2007) не сохраняет начальные нули в файлах CSV. Это исказит почтовые индексы, идентификаторы продукта и другие текстовые данные, содержащие числовые значения. Существует один прием, который заставит Excel импортировать значения правильно (использующий разделители и значения префикса с = знак, если я буду помнить правильно, например, = "02052"...). Если у Вас есть пользователи, которые сделают выполняющие последующую обработку задачи с CSV, они должны знать, что должны изменить формат на XLS и не сохранить файл назад к CSV. Если они сделают, то начальные нули будут потеряны навсегда.
Я использовал Flexcel в прошлом, и это было большим. Но это было больше для того, чтобы программно создать и обновить рабочие листы Excel.
Я обнаружил эти , Открывают XML SDK начиная с моего исходного ответа. Это обеспечивает классы со строгим контролем типов для объектов электронной таблицы, среди прочего, и, кажется, довольно легко работать с. Я собираюсь использовать его для отчетов в одном из моих проектов. Увы, версия 2.0, как предполагается, не выпущена до конца 2009 года или 2010.
SpreadsheetGear для .NET читает и записывает CSV / XLS / XLSX и делает многое другое.
Вы можете увидеть живые образцы ASP.NET с исходным кодом C # и VB здесь и загрузить бесплатную пробную версию здесь .
Конечно, я думаю, что SpreadsheetGear - лучшая библиотека для импорта / экспорта Книги Excel в ASP.NET - но я предвзято. Вы можете увидеть, что говорят некоторые из наших клиентов в правой части этой страницы .
Заявление об ограничении ответственности: мне принадлежит SpreadsheetGear LLC
NPOI для Excel 2003 с открытым исходным кодом http://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html
В течение многих лет я использовал для этого JExcel , отличный проект Java с открытым исходным кодом. Он также был .NET-совместим с использованием J # для его компиляции, и я также добился большого успеха с ним в этом воплощении. Однако недавно мне потребовалось перенести код на собственный .NET для поддержки 64-битного приложения IIS, в котором я создаю выходные данные Excel. 32-разрядная версия J # не загружается.
Код для CSharpJExcel - LGPL и в настоящее время доступен на этой странице, пока мы готовимся к его развертыванию на сайте JExcel SourceForge. Он будет компилироваться с VS2005 или VS2008. Примеры в исходной документации JExcel вполне могут быть перенесены без изменений в версию .NET.
Надеюсь, это поможет кому-то здесь.
новая версия ExcelPackage здесь http://EPPlus.codeplex.com
Я все еще борюсь с функцией экспорта в Excel, поскольку мое приложение должно экспортировать некоторые данные в Excel-template 2007
, этот проект мне кажется подходящим, а разработчик очень быстро реагирует на ошибки и проблемы.
Spreadsheetgear - лучшая коммерческая библиотека, которую мы нашли и используем. Наша компания делает много расширенного импорта и экспорта в excel, и Spreadsheetgear поддерживает множество расширенных функций excel, намного превосходящих все, что вы можете сделать с простым CSV, и это быстро. Это не бесплатная или очень дешевая программа, но она того стоит, потому что поддержка отличная. Разработчики действительно ответят вам, если вы столкнетесь с проблемой.