Pull to refresh

Как обойтись без MS Office Automation

Lumber room
Передо мной встала задача: надо импортировать данные из программы на .Net в XLS-файл (формат MS Excel). Нужно также уметь задавать для данных в файле шрифты, цвета, параметры печати и прочие бесполезные свойства.

Microsoft предлагает для этого запускать Excel и обращаться к нему. И это — единственный способ работы с форматом, официально поддерживаемый компанией. Само собой разумеется, что на каждом компьютере, на котором будут запускать мою программу должен быть установлен MS Office. И никого не смущает, что даже для записи банальнейшей таблицы из 10 ячеек в файл приходится запускать многомегабайтного монстра — Excel.

В общем, я решил найти другой путь. Как оказалось, существует множество библиотек, работающих с XLS-файлами напрямую, без запуска Excel. Но подавляющее большинство из них — платные.

Из бесплатных библиотек я выделил две:
  • MyXLs — написана на C#, лицензия MIT, поддерживает базовое чтение и запись, форматирование. Проект развивается.
  • JExcelAPI — написана на Java, LGPL, очень мощная библиотека — поддерживает практически всё, что может понадобиться (включая картинки и формулы)

Полнофункциональной бесплатной библиотеки для .Net я, к сожалению, не нашёл. Однако, JExcelAPI без труда запускается с помощью IKVM. Это, конечно, не самое изящное решение, но оно работает. А в тех случаях, когда нужны только базовый функционал можно использовать MyXLs.
Tags:.netofficeexceljexcelapimyxlsjavaikvm
Hubs: Lumber room
Total votes 10: ↑8 and ↓2 +6
Views635

Popular right now

.NET-разработчик
from 200,000 to 300,000 ₽Mad DevsСанкт-ПетербургRemote job
.net developer
from 100,000 to 200,000 ₽БАРС ГрупКазаньRemote job
.Net разработчик
from 120,000 ₽ITFB GroupМосква
.Net разработчик
from 150,000 ₽ArtezioСанкт-Петербург
.Net разработчик
from 150,000 ₽ArtezioСаратов