Создание отчетов из данных Excel в C#

Вы можете легко создавать настраиваемые отчеты из таблиц данных Microsoft Excel. Такие отчеты можно генерировать программно, используя электронные таблицы Excel в качестве таблицы данных. В этой статье основное внимание будет уделено тому, как создавать отчеты из данных Excel с помощью C#.

В этой статье обсуждаются/рассматриваются следующие темы:

C# API для создания отчетов

Я буду использовать GroupDocs.Assembly for .NET API для создания отчетов из данных Excel. Это дает вам возможность создавать мощные приложения для автоматизации документов и создания отчетов. API поддерживает получение данных из различных источников данных, таких как XML, JSON и CSV. Вы можете легко создавать отчеты во всех широко используемых форматах файлов, таких как PDF, HTML и Microsoft Word. Его можно использовать для разработки приложений в любой среде разработки, ориентированной на платформу .NET.

Вы можете либо скачать DLL API, либо установить его с помощью NuGet.

Install-Package GroupDocs.Assembly

Создание отчетов из данных Excel с использованием C#

Вы можете создавать отчеты из данных Excel, выполнив простые шаги, указанные ниже:

  1. Получите источник данные Excel.
  2. Определите template в соответствии с данными Excel.
  3. Укажите источник данных и шаблон для простого кода C# для создания отчета

Данные Excel

Табличные данные, доступные в электронной таблице Excel, можно использовать в качестве источника данных для создания отчетов. Я буду использовать следующий пример данных Excel для создания отчета. Это контрактные данные клиентов с их соответствующими менеджерами и согласованная цена контракта.

Источник данных Excel

Источник данных Excel

Шаблон

Теперь определите следующий шаблон в файле DOCX. Это позволяет повторять данные контрактов и их соответствующих менеджеров с ценой контракта. После этого вы можете перейти к коду для создания отчета.

Шаблон отчета

Шаблон отчета

Преобразование отчета Excel в Word на C#

Выполните шаги, указанные ниже, чтобы автоматизировать преобразование данных Excel в отчет DOCX на основе шаблона.

  • Определите пути к файлу данных Excel, файлу шаблона и выходному файлу отчета DOCX.
  • Определите DocumentTableOptions
  • Создайте DocumentTable с определенным файлом данных Excel и DocumentTableOptions
  • Вызовите метод AssembleDocument класса DocumentAssembler, чтобы создать отчет на основе предоставленных данных Excel и определенного шаблона.

В следующем примере кода показано, как создать отчет из источника данных Excel в соответствии с определенным шаблоном с помощью C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Определить таблицу данных из файла Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Соберите документ, используя внешнюю таблицу документов в качестве источника данных.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

Приведенный выше пример кода создаст следующий отчет.

Сгенерированный отчет

Сгенерированный отчет

Класс DocumentTableOptions предоставляет набор параметров для управления извлечением данных из таблицы документа. Здесь для свойства FirstRowContainsColumnNames установлено значение true.

Класс DocumentTable обеспечивает доступ к данным одной таблицы (или электронной таблицы), расположенной во внешнем документе, для использования при сборке документа.

Класс DocumentAssembler предоставляет методы для создания отчетов на основе шаблона документа с данными.

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как создавать отчеты из данных Excel с помощью C#. Вы можете узнать больше о GroupDocs.Assembly для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также