Jak převést DataTable do Excelu v C#

Tento rychlý tutoriál vás provede tím, jak převést DataTable do Excelu v C#. Nejprve vytvoříme DataTable a poté ji importujeme do listu nově vytvořeného objektu sešit pomocí funkce ImportData třídy WorkSheet.Cells. Po zapsání dat DataTable do Excelu v C# je uložíme jako XLSX soubor na disk.

Kroky k převodu DataTable do Excelu v C#

  1. Pomocí správce balíčků NuGet přidejte Aspose.Cells for .NET pro import DataTable do Excelu
  2. Vytvořte instanci prázdného Workbook pro export DataTable do něj
  3. Vytvořte a inicializujte DataTable pro zápis do souboru Excel
  4. Deklarujte objekt třídy ImportTableOptions pro nastavení parametrů při importu dat z DataTable
  5. Získejte odkaz na první list v nově vytvořeném sešitu
  6. Chcete-li importovat DataTable, zavolejte funkci Cells.ImportData ve třídě WorkSheet
  7. Uložte výsledný sešit s daty z DataTable

Tyto kroky popisují proces exportu dat z DataTable do Excelu v C# krok za krokem tak, že se nejprve vytvoří prázdný sešit a poté se inicializuje DataTable a naplní se nějakými fiktivními daty. Vytvoří se objekt třídy ImportTableOptions, který obsahuje spoustu parametrů, které lze nastavit, zde jsou však použity výchozí možnosti. Nakonec se DataTable importuje do prvního listu sešitu v zadané počáteční buňce.

Kód pro export dat DataTable do Excelu v C#

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");
}
}
}

V tomto kódu se ImportTableOptions používá s výchozím nastavením, můžete však nastavit řadu parametrů, jako je seznam čísel sloupců založených na indexu 0, jejichž data mají být importována z DataTable, nastavit formát data, nastavit celkový počet řádků a sloupců, které mají být dovezené a mnoho dalších. Můžete se také rozhodnout, zda mají být importovány názvy sloupců nebo ne.

Tento krátký tutoriál vysvětlil, jak v C# vytvořit soubor Excel z DataTable. Pokud se chcete naučit opačný proces, jako je převod Excelu na DataTable, přečtěte si článek na jak převést Excel na DataTable v C#.

 Čeština