Как стать автором
Поиск
Написать публикацию
Обновить

Разрабатываем печать документов на .NET с помощью OpenXml. Часть 3

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров953
Всего голосов 3: ↑3 и ↓0+3
Комментарии6

Комментарии 6

а closedxml не кажется более удобным?

Лучше epplus

Для небольших, узконаправленных задач, возможно, библиотеки с более высокоуровневым API будут удобнее, и задачи на них будут решаться быстрее. Однако мы при разработке сервиса Sprinter, проходя по пути использования более удобных API неоднократно сталкивались с такими ограничениями, что ту или иную возможность стандарта OOXML библиотека просто не поддерживает. Поэтому пришли к тому, чтобы использовать наиболее общий API от авторов самого стандарта OOXML, чтобы в будущем снова не упереться в ограничения.

EPPlus же, как и многие другие коммерческие компоненты, не всегда можно использовать по лицензионным ограничениям.

Какой кошмарный стиль разметки регионами. Зачем внутри тела метода несколько регионов? А зачем там один регион на все тело? Если метод длинный, то его следует разить на несколько методов. Если короткий - его и так можно в среде свернуть. Между регионами нет пустых строк.

Хотели сделать код более читаемым? Не получилось. Сделали хуже.

Классный разбор, спасибо! Подскажите, а как лучше обрабатывать многостраничные таблицы с повторяющейся шапкой? Есть ли удобный способ автоматизировать это через OpenXml, или всё вручную?

Для чтения таблиц можно посмотреть, какие инструменты предлагают авторы DocumentFormat.OpenXml в других своих пакетах, хотя, возможно, в других, более высокоуровневых API других доступных библиотек есть более быстрые способы чтения и поиска данных. У нас в проекте решаются задачи формирования файлов, поэтому насчёт чтения и обработки готовых файлов проконсультировать сходу труднее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий