Форматування xls файлу. Need dll

Потрібна бібліотека для створення, зчитування та модифікацій xls файлу.
+форматування документу(задання стилів)
+було б дуже ок імпорт\експорт макросів.
+розповсюдження на вільних засадах

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Обязательно XLS (Office 2003) или достаточно XLSX (Office 2007+)? Если второе, то у Microsoft была библиотека для записи/чтения XLSX файлов, причем, что важно, она бесплатна и самодостаточна, т.е. не требует присутствия на компьютере установленного Microsoft Office — что более чем актуально для серверных решений.

Более того, XLSX можно просматривать и в Office 2003, установив Compatibility Pack. Но, для этого, в них при генерации нельзя использовать фичи, появившиеся только в Office 2007.

Так в .NET є вбудовані бібліотеки для роботи з майкрософт офіс файлами.
Add Reference:
-Office
-Microsoft.office.Interop.Excel

Інфу можна знайти в гуглі чи на MSDN.

ага. тільки форматування там треба робити через одне місце.

на даному етапі так і зроблено, але проект трохи розширюється, тому хочеться спростити собі роботу.

Ну так створіть один раз свою «обертку» і використовуйте її. Я коли з вордом працював — то створив класс зі статичними функціями і використовував їх. Один раз поламати голову, а далі все просто.

думаю, що так в резалті і буде саме так.

так як платити 500$ за ліцензію не дуже хочеться)

я про платні бібліотеки)

Реалии подсказывают, что с Экселем лучше работать только через CSV файлы, а не через XLS — там может выплыть проблема совместимости. К тому же, через COM Interop будет с XLS файлами только тогда, когда на машине эксель установлен (а иначе хост не создастся). Лучше не морочить себе голову, забить на красоту и макросы, и процессить CSV файлы (Comma Separated Values — прекрасно парсится/создается в сыром виде в программе, и эксель его считает как обычную книгу с одним листом, без всяких прибамбасов с форматированием и макросами). К тому же, Microsoft.office.Interop.Excel — сторонняя библиотека, нужно смотреть, есть ли она всегда на машине, или ставится только с офисом, а также можно ли ее распространять.

Спасибо за идею, почитаю на предмет CSV, с ними еще не работал.

на всякий, якщо мож знадобиться.
бібліотека FileHelpers

потужна і няшна штука)

xls файли, в моєму випадку, це щось схоже на звіт. тому блекджек і всі діла мають бути)

Для отчета лучше выводить в PDF, инструментария — навалом. Хотя, если в вашем случае — XLS сгенерили, а в нем формулы / макросы чтобы пользователь в нем подогнал цифры — такой вариант вам не подойдет. Но блин, завязываться, чтобы генерить XLS — это питательная среда для роста багов, я писал почему. Есть вариант, чтобы сам xls файл делал выборку из базы, и шаблонно вписывал результат в листы. Поищите в нем опцию, что-то напоминающее «внешние источники данных». Один раз сконструируете запрос или руками, или в откроющемся визуальном дизайнере — а дальше, он сам будет все пересчитывать. Для этого желательно в системе иметь (и с книгой экселя распространять) описание ODBC источника данных, который можно проимпортировать в систему, а книга будет только к нему и обращаться (а в нем уже вся конкретика и будет настроена, для доступа к данным). В итоге, на выходе создали, скажем, XML, или выдали результат в таблицу SQL сервера, или в dbf файл :) а уже эксель, при формировании листа, будет обновлять данные, для этого выполнит SQL запрос конкретно в вашему ODBC источнику, а в источнике уже все указано, что, куда, с каким именем и т.д. Т.е., без формирования XLS файла мы получим готовый отчет, потому что отчет сформирует сама книга.

p.s. В этом случае, вам может предоставиться подарок судьбы — изучить VBA под Эксель :)

Підписатись на коментарі