В одном из наших приложений ASP.NET на С# мы берем определенный сбор данных (коллекцию SubSonic) и экспортируем его в Excel. Мы также хотим импортировать файлы Excel в определенном формате. Я ищу библиотеку, которую я могу использовать для этой цели.
Требования:
- Файлы Excel 2007 (Поддерживает ли Excel 2003 более 64 тыс. строк? Мне нужно больше.)
- Не требуется Excel на сервере
- Получает типизированную коллекцию и, если возможно, пытается поместить числовые поля в числовое число в Excel.
- Хорошо работает с большими файлами (от 100 к до 10 М) - достаточно быстро.
- При экспорте GUID не сбой!
- Не стоит покупать деньги (нет корпоративной библиотеки, такой как aspose). Бесплатно всегда здорово, но может быть коммерческой библиотекой.
Какую библиотеку вы рекомендуете? Вы использовали его для большого количества данных? Существуют ли другие решения?
Сейчас я использую простой инструмент, который генерирует HTML, который позже загружается Excel, но я теряю некоторые возможности, плюс Excel жалуется, когда мы его загружаем. Мне не нужно создавать диаграммы или что-то в этом роде, просто экспортируйте необработанные данные.
Я думаю о плоских CSV файлах, но Excel - это требование клиента. Я могу работать с CSV напрямую, если бы у меня был инструмент для конвертирования в Excel и из него. Учитывая, что Excel 2007 представляет собой формат файла на основе xml (и zipped), я предполагаю, что такую библиотеку следует легко найти. Однако для меня важны ваши комментарии и мнения.
EDIT: По иронии судьбы, по моему мнению, и после ответа с наибольшим количеством голосов лучшая библиотека экспорта Excel и экспорта не экспортирует вообще. Это не относится ко всем сценариям, но это для меня. Файлы XLS поддерживают только строки 64k. XLSX поддерживает до 1M. Свободные библиотеки, которые я пробовал, имеют плохую производительность (одна секунда для загрузки одной строки, когда у вас есть 200 тыс. Строк). Я не пробовал заплатить, так как я чувствую, что они переоценены за ценность, которую они приносят, когда все, что вам нужно, это быстрая процедура преобразования XLSX ↔ CSV.