kykyryky
@kykyryky

Как читать и записывать xlsx стандартными средствами .NET?

Привет. Допустим есть произвольный файл xlsx(или xls), например такой:

213887e0c63f4fe4b6bea2360f5a1d7f.jpg

Возможно ли его прочитать, и записать в него что-нибудь без сторонних библиотек, без установленного на машине ms office и т.д. - просто стандартными средствами на языке C#?

Посмотрел различные способы:
1) OLE DB - работает только с данными в виде таблиц бд, к моей таблице не подходит.
2) Microsoft.Office.Interop.Excel - нужен установленный офис.

Какие у меня еще есть варианты? Нужен совет.
  • Вопрос задан
  • 726 просмотров
Решения вопроса 1
fedorez
@fedorez
Хатуль мадан
Если планируете работать только с простыми табличками - EPPlus отличный выход.
Если таблички планируются большие и сложные - лучший вариант на рынке - Aspose Cells.
Вышеупомянутые позволяют обойтись без установленного офиса.
Но огромные тяжелые таблицы с массой формул всё равно никто кроме родного MS Excel переварить не в состоянии, увы((
OpenXML без крайней нужды не советую, это как ассемблер - он может всё, но очень низкоуровневый. То что кома делает одной командой там часто требует невнятного кода на полтора экрана...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
Без сторонних врятли... Но много раз уже пользовался ClosedXML
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
Если вас интересует xlsx, можете стандартными средствами его распаковать (т.к. это обычный ZIP), и поработать с содержимым. Основное содержимое книги будет в XML (не помню имя файла), так что сформировать его особых проблем не составит. Если вариант подходит, расскажу подробнее, что можно сделать.

А вообще EPPlus тащит.
Ответ написан
Если на компьютере, где запускается ваша программа, установлен Microsoft Office, то можно использовать это.
Ответ написан
Комментировать
@Hydro
C#/.NET Developer
OpenXML, правда API там низкоуровневый.
Ответ написан
Комментировать
Ogoun
@Ogoun
Programmer
Из всех библиотек которые перепробовал лучшим выбором, на мой взгляд, является NPOI, основные плюсы - не требует наличия офиса на машине, и умеет работать со старыми форматами (xls), в отличие от того же EPPlus.
Для работы с Excel из nuget'а нужно установить сам NPOI и NPOI.ExcelExtend
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы