Как преобразовать DataTable в Excel в C#

В этом кратком руководстве вы узнаете, как преобразовать DataTable в Excel на C#. Сначала мы создадим DataTable, а затем импортируем его на рабочий лист вновь созданного объекта рабочей книги с помощью функции ImportData класса WorkSheet.Cells. После записи данных DataTable в Excel на C# мы сохраним их как файл XLSX на диске.

Действия по преобразованию DataTable в Excel в C#

  1. С помощью диспетчера пакетов NuGet добавьте Aspose.Cells for .NET, чтобы импортировать DataTable в Excel.
  2. Создайте экземпляр пустой Workbook для экспорта в нее DataTable.
  3. Создайте и инициализируйте DataTable для записи в файл Excel
  4. Объявить объект класса ImportTableOptions для установки параметров при импорте данных из DataTable
  5. Получить ссылку на первый лист во вновь созданной книге
  6. Вызовите функцию Cells.ImportData в классе WorkSheet, чтобы импортировать DataTable.
  7. Сохраните результирующую рабочую книгу с данными из DataTable.

Эти шаги описывают процесс экспорта данных из DataTable в Excel в C# пошагово, так что сначала создается пустая рабочая книга, а затем инициализируется DataTable и заполняется некоторыми фиктивными данными. Создается объект класса ImportTableOptions, который содержит множество параметров, которые можно задавать, однако здесь используются параметры по умолчанию. В конце DataTable импортируется на первый лист рабочей книги в указанной начальной ячейке.

Код для экспорта данных DataTable в Excel на С#

using System;
using System.Data;
using Aspose.Cells;
namespace ConvertDataTableToExcelInCSharp
{
class Program
{
static void Main(string[] args)
{
// Use Aspose.Cells license to remove trial version watermark from the Excel file after exporting DataTable
License licenseForCells = new License();
licenseForCells.SetLicense("Aspose.Cells.lic");
// Create an object of a workbook to export DataTable
Workbook workbookForDataTable = new Workbook();
// Create a sample DataTable for the student
DataTable studentTable = new DataTable("Student");
// Add multiple columns in the newly created DataTable
studentTable.Columns.Add("Roll No", typeof(long));
studentTable.Columns.Add("Age", typeof(short));
studentTable.Columns.Add("Name", typeof(string));
// Create a new row for adding to the data table
DataRow studentRecord = studentTable.NewRow();
// Set the fields data in the row
studentRecord["Roll No"] = 1002;
studentRecord["Age"] = 19;
studentRecord["Name"] = "Alfred Keam";
// Add this newly created record into the student table
studentTable.Rows.Add(studentRecord);
// Create another row for the student table
studentRecord = studentTable.NewRow();
// Set data in the newly created row
studentRecord["Roll No"] = 1003;
studentRecord["Age"] = 20;
studentRecord["Name"] = "Bernadette Thares";
// Add this record to the student table
studentTable.Rows.Add(studentRecord);
// Instantiate an object of ImportTableOptions for controlling the import of DataTable into Excel
ImportTableOptions importOptions = new ImportTableOptions();
// Get reference to the first worksheet in the workbook
Worksheet dataTableWorksheet = workbookForDataTable.Worksheets[0];
// Call the ImportData function to import DataTable starting from cell A1 described by row 0 and column 0
dataTableWorksheet.Cells.ImportData(studentTable, 0, 0, importOptions);
// Set the columns width so that entire data is visible within the cell
dataTableWorksheet.AutoFitColumns();
// Save the output workbook on the disc
workbookForDataTable.Save("DataTableImported.xlsx");
}
}
}

В этом коде ImportTableOptions используется с настройками по умолчанию, однако вы можете установить различные параметры, такие как список из 0 номеров столбцов на основе индекса, данные которых должны быть импортированы из DataTable, установить формат даты, установить общее количество строк и столбцов. импортные и многие другие. Вы также можете решить, следует ли импортировать заголовки столбцов.

В этом кратком руководстве объясняется, как в C# создать файл Excel из DataTable. Если вы хотите узнать об обратном процессе, таком как преобразование Excel в DataTable, обратитесь к статье как преобразовать Excel в DataTable в С#.

 Русский