Начало Работы С Excel На C#

В современном мире разработки приложений часто возникает необходимость работы с документами Excel. Чаще всего это различного рода отчеты, но иногда в качестве хранилища данных используются файлы xls/x. Например, если пользователю необходимо иметь возможность загружать данные в приложение или выгружать их в удобочитаемой форме, Excel является фактическим стандартом.

Относительно дружелюбный интерфейс, прозрачная структура вкупе с ее распространённостью.

лучшее решение навскидку сложно назвать.



Начало работы с Excel на C#

Однако многие Excel все еще связан чем-то тяжелым, неповоротливым и сложным.

Давайте посмотрим, как мы, обычные разработчики C#, можем легко создать простой документ Excel, на примере табличного отчета.



Историческая справка

Времена, когда доминировал собственный формат .

xls (двоичный формат файла Excel), давно прошли, и теперь у нас есть только .

xlsx (книга Excel) в рамках структуры Office Open XML. Последний представляет собой обычный ZIP-архив с XML-файлами.

Мы не будем углубляться в его структуру; Я искренне надеюсь, что оно вам никогда не понадобится.

На github и не только можно найти ряд библиотек , бесплатно и многое другое.

Пожалуй, самым популярным является EPPlus. В определенной степени он достаточно хорошо отражает концепцию Excel, поэтому я всегда использую EPPlus. Версия 4 полностью бесплатна, начиная с версии 5 вам потребуется приобрести лицензию для коммерческого использования.



Задача

Так, предполагать , менеджера по продукту поразила мысль, что возможность скачать определенный отчет в формате Excel увеличит количество пользователей на 100500%.

Менеджер проекта решает выпустить эту убойную функцию в качестве исправления прямо сегодня — ведь это занимает всего пару часов работы.



Начало работы с Excel на C#

Сам по себе отчет содержит краткое описание компании и историю изменения отдельных экономических показателей.

Для простоты все свойства компании являются строками.

Экономические индикаторы — большие целые числа и числа с плавающей запятой, а также даты.

Предположим, что где-то в недрах микросервисного бэкенда есть генератор сервисов таких отчетов, например, по идентификатору компании.

Однако, поскольку нет смысла отображать идентификатор пользователю, идентификатор не включается в саму модель отчета.

Аналитик, в свою очередь, выдает задачу с феноменально точным описанием — «Сформировать отчет Excel на основе базы данных MarketReport».

Ну и для нашего примера создадим заглушку — генератор фейковые данные:

Начало работы с Excel на C#



Первый старт

Подключим EPPlus версии 4.5.3.3 и создадим базовую обвязку будущего генератора.



Начало работы с Excel на C#

Сердцем генератора будет метод Generate. ExcelPackage — это модель документа, посредством которой мы будем осуществлять все взаимодействия с ним.

Также имеется конструктор для передачи пути к файлу или потоку.



Начало работы с Excel на C#

Основной метод создает генератор отчетов, а также генератор файлов Excel. Далее полученный файл просто записывается на диск.

При попытке запустить приложение , мы получаем исключение:

   

InvalidOperationException: The workbook must contain at least one worksheet

Правильно, документ Excel не может существовать без страниц; должен быть хотя бы один.

Добавим, все интуитивно понятно:

var sheet = package.Workbook.Worksheets

Теги: #программирование #C++ #.

NET #Excel #epplus

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.