Excel数据导出datatable
时间: 2024-12-10 18:31:47 浏览: 14
在.NET中,使用`System.Data.DataTable`处理Excel数据通常涉及以下几个步骤:
1. **创建DataTable**: 首先,你需要创建一个`DataTable`对象,这可以包含你想要导出的数据集。
```csharp
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(string));
dataTable.Columns.Add("Column2", typeof(int));
// ... 添加更多列和数据行
```
2. **添加数据**: 将数据插入到表格的行中。
```csharp
DataRow newRow = dataTable.NewRow();
newRow["Column1"] = "Value1";
newRow["Column2"] = 123;
dataTable.Rows.Add(newRow);
// ... 添加更多行数据
```
3. **使用Epplus库导出**: Epplus是一个开源库,用于操作Microsoft Office Open XML(.xlsx文件)。安装后,你可以使用它将`DataTable`保存为Excel文件。
```csharp
using OfficeOpenXml;
FileInfo excelFile = new FileInfo("output.xlsx");
using (ExcelPackage excelPackage = new ExcelPackage(excelFile))
{
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1"); // 创建工作表
// 将DataTable内容写入Excel
foreach (DataColumn column in dataTable.Columns)
{
worksheet.Cells[1, column.Ordinal + 1].Value = column.ColumnName; // 写头
}
for (int i = 0; i < dataTable.Rows.Count; i++)
{
DataRow row = dataTable.Rows[i];
int rowIndex = i + 2; // 跳过标题行
for (int j = 0; j < row.ItemArray.Length; j++)
{
worksheet.Cells[rowIndex, j + 1].Value = row[j]; // 写入单元格值
}
}
excelPackage.Save(); // 保存文件
}
```
阅读全文