Denna snabba handledning guidar dig om hur du konverterar DataTable till Excel i C#. Först skapar vi en DataTable och importerar den sedan till kalkylbladet för det nyskapade arbetsboksobjektet med hjälp av funktionen ImportData i klassen WorkSheet.Cells. Efter att ha skrivit DataTable-data till Excel i C#, sparar vi den som en XLSX-fil på skivan.
Steg för att konvertera DataTable till Excel i C#
- Använd NuGet-pakethanteraren, lägg till Aspose.Cells for .NET för att importera DataTable till Excel
- Skapa en instans av en tom Workbook för att exportera DataTable till den
- Skapa och initiera en datatabell för att skriva till Excel-fil
- Deklarera ett objekt av klassen ImportTableOptions för att ställa in parametrar vid import av data från DataTable
- Få en referens till det första kalkylbladet i den nyskapade arbetsboken
- Anropa Cells.ImportData-funktionen i klassen WorkSheet för att importera DataTable
- Spara den resulterande arbetsboken med data från DataTable
Dessa steg beskriver processen att exportera data från DataTable till Excel i C# på ett steg-för-steg sätt så att först den tomma arbetsboken skapas och sedan en DataTable initieras och fylls med lite dummy-data. Ett objekt av klassen ImportTableOptions skapas som innehåller många parametrar som kan ställas in, men här används standardalternativen. Till slut importeras datatabellen till det första kalkylbladet i arbetsboken vid en angiven startcell.
Kod för att exportera datatabelldata till Excel i 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"); | |
} | |
} | |
} |
I den här koden används ImportTableOptions med standardinställningar, men du kan ställa in en mängd parametrar som en lista med 0 indexbaserade kolumnnummer vars data ska importeras från DataTable, ställa in datumformatet, ställa in totalt antal rader och kolumner importerade och många fler. Du kan också bestämma om kolumntitlar ska importeras eller inte.
Denna korta handledning har förklarat hur man i C# skapar en Excel-fil från DataTable. Om du vill lära dig den omvända processen som Konvertera Excel till DataTable, se artikeln om hur man konverterar Excel till DataTable i C#.