以下是使用Asp.net/C#将Datatable导出到Excel的解决方法,包含代码示例:
public void ExportToExcel(DataTable dt, string filename)
{
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");
ws.Cells["A1"].LoadFromDataTable(dt, true);
Byte[] fileBytes = pck.GetAsByteArray();
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.BinaryWrite(fileBytes);
Response.End();
}
}
protected void ExportButton_Click(object sender, EventArgs e)
{
// 创建一个DataTable并填充数据
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add(1, "John");
dt.Rows.Add(2, "Jane");
// 调用导出函数
ExportToExcel(dt, "filename.xlsx");
}
在上面的示例中,我们首先创建了一个简单的DataTable,并填充了一些数据。然后,在按钮的点击事件中,我们调用了ExportToExcel函数,并传递了DataTable和要保存的文件名作为参数。该函数将DataTable加载到Excel工作簿中,并将其保存为一个文件,通过Response对象将文件发送给用户进行下载。
请注意,上述代码使用了一个名为"EPPlus"的第三方库来处理Excel文件。你可以通过NuGet包管理器将其安装到你的项目中,或者从官方网站下载并手动添加引用。