Deze korte tutorial zal u begeleiden bij het converteren van DataTable naar Excel in C#. Eerst zullen we een gegevenstabel maken en deze vervolgens importeren in het werkblad van het nieuw gemaakte werkmapobject met behulp van de functie ImportData van de klasse WorkSheet.Cells. Nadat DataTable-gegevens naar Excel zijn geschreven in C#, slaan we deze op als een XLSX-bestand op de schijf.
Stappen om DataTable naar Excel te converteren in C#
- Gebruik de NuGet-pakketbeheerder en voeg Aspose.Cells for .NET toe om DataTable in Excel te importeren
- Maak een instantie van een lege Workbook om DataTable naar te exporteren
- Een gegevenstabel maken en initialiseren om naar een Excel-bestand te schrijven
- Declareer een object van de klasse ImportTableOptions voor het instellen van parameters tijdens het importeren van gegevens uit DataTable
- Een verwijzing krijgen naar het eerste werkblad in de nieuw gemaakte werkmap
- Roep de functie Cells.ImportData aan in de klasse WorkSheet om DataTable te importeren
- Bewaar de resulterende werkmap met gegevens uit de DataTable
Deze stappen beschrijven het proces om gegevens van DataTable naar Excel in C# te exporteren op een stapsgewijze manier, zodat eerst de lege werkmap wordt gemaakt en vervolgens een DataTable wordt geïnitialiseerd en gevuld met enkele dummy-gegevens. Er wordt een object van de klasse ImportTableOptions gemaakt dat veel parameters bevat die kunnen worden ingesteld, maar hier worden de standaardopties gebruikt. Uiteindelijk wordt de DataTable geïmporteerd in het eerste werkblad van de werkmap in een opgegeven startcel.
Code om DataTable-gegevens naar Excel te exporteren in 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"); | |
} | |
} | |
} |
In deze code wordt ImportTableOptions gebruikt met standaardinstellingen, maar u kunt verschillende parameters instellen, zoals een lijst met 0 indexgebaseerde kolomnummers waarvan de gegevens moeten worden geïmporteerd uit de DataTable, het datumformaat instellen, het totale aantal rijen en kolommen instellen geïmporteerd, en nog veel meer. U kunt ook beslissen of kolomtitels moeten worden geïmporteerd of niet.
Deze korte tutorial heeft uitgelegd hoe je in C# een Excel-bestand maakt vanuit DataTable. Als u het omgekeerde proces wilt leren, zoals Excel converteren naar gegevenstabel, raadpleeg dan het artikel over hoe Excel naar DataTable te converteren in C#.