В одному з наших додатків ASP.NET в C # ми беремо певний збір даних (колекція SubSonic) та експортуємо його в Excel. Ми також хочемо імпортувати файли Excel у визначеному форматі. Я шукаю бібліотеку, яку можу використовувати для цієї мети.
Вимоги:
- Файли Excel 2007 (Чи підтримує Excel 2003 понад 64 к рядків? Мені потрібно більше, ніж це.)
- Не вимагає Excel на сервері
- Бере набрану колекцію і, якщо може, намагається поставити числові поля як числові в Excel.
- Добре працює з великими файлами (від 100 до 10 М) - досить швидко.
- Не виходить з ладу під час експорту GUID!
- Не коштує збиття грошей (жодна корпоративна бібліотека не подобається). Безкоштовно завжди чудово, але може бути комерційною бібліотекою.
Яку бібліотеку ви рекомендуєте? Ви використовували його для великої кількості даних? Є інші рішення?
Зараз я використовую простий інструмент, який генерує HTML, завантажений Excel пізніше, але я втрачаю деякі можливості, плюс Excel скаржиться, коли ми завантажуємо його. Мені не потрібно генерувати діаграми чи щось подібне, просто експортувати необроблені дані.
Я думаю про плоскі файли CSV, але Excel - вимога клієнта. Я можу працювати безпосередньо з CSV, якщо у мене був інструмент для перетворення в Excel і з нього. Враховуючи, що Excel 2007 - це формат файлів на основі XML (і на блискавці), я здогадуюсь, що цю бібліотеку слід легко знайти. Однак найважливіше для мене - це ваші коментарі та думки.
EDIT: За іронією долі, на мою думку, і після відповіді, отримавши найбільшу кількість голосів, найкраща бібліотека імпорту та експорту Excel - це не експорт. Це стосується не всіх сценаріїв, але це для мого. XLS-файли підтримують лише 64k рядків. XLSX підтримує до 1М. Безкоштовні бібліотеки, які я намагався, мають погані показники (одна секунда, щоб завантажити один рядок, коли у вас є 200k рядків). Я не пробував платні, оскільки я вважаю, що вони завищені за значення, яке вони отримують, коли все, що вам потрібно, - це швидкий порядок перетворення XLSX <-> CSV.