在asp.net(aspx)中如何导出Excel文件?
				
									
					
					
						 | 
						
							
							admin 
							
							
								2025年1月1日 17:42
								本文热度 2102
							
							 
						 | 
					
					
				 
				在 ASP.NET(aspx)中可以使用以下方法导出 Excel 文件:
一、使用 EPPlus 库
3. 首先,确保在项目中引用 EPPlus 库。可以通过 NuGet 包管理器进行安装。
4. 以下是一个示例代码:
using OfficeOpenXml;
protected void ExportToExcel_Click(object sender, EventArgs e)
{
    using (ExcelPackage package = new ExcelPackage())
    {
        ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
        // 设置表头
        worksheet.Cells[1, 1].Value = "Column1";
        worksheet.Cells[1, 2].Value = "Column2";
        worksheet.Cells[1, 3].Value = "Column3";
        // 设置数据
        worksheet.Cells[2, 1].Value = "Value11";
        worksheet.Cells[2, 2].Value = "Value12";
        worksheet.Cells[2, 3].Value = "Value13";
        worksheet.Cells[3, 1].Value = "Value21";
        worksheet.Cells[3, 2].Value = "Value22";
        worksheet.Cells[3, 3].Value = "Value23";
        // 设置响应类型为 Excel 文件
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment;  filename=export.xlsx");
        // 将 Excel 内容写入响应流
        Response.BinaryWrite(package.GetAsByteArray());
        Response.End();
    }
}
二、使用 NPOI 库
1. 通过 NuGet 安装 NPOI 库。
2. 示例代码如下:
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
protected void ExportToExcel_Click(object sender, EventArgs e)
{
    IWorkbook workbook = new XSSFWorkbook();
    ISheet sheet = workbook.CreateSheet("Sheet1");
    // 设置表头
    IRow headerRow = sheet.CreateRow(0);
    headerRow.CreateCell(0).SetCellValue("Column1");
    headerRow.CreateCell(1).SetCellValue("Column2");
    headerRow.CreateCell(2).SetCellValue("Column3");
    // 设置数据
    IRow dataRow1 = sheet.CreateRow(1);
    dataRow1.CreateCell(0).SetCellValue("Value11");
    dataRow1.CreateCell(1).SetCellValue("Value12");
    dataRow1.CreateCell(2).SetCellValue("Value13");
    IRow dataRow2 = sheet.CreateRow(2);
    dataRow2.CreateCell(0).SetCellValue("Value21");
    dataRow2.CreateCell(1).SetCellValue("Value22");
    dataRow2.CreateCell(2).SetCellValue("Value23");
    // 设置响应类型为 Excel 文件
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AddHeader("content-disposition", "attachment;  filename=export.xlsx");
    // 将 Excel 内容写入响应流
    using (MemoryStream ms = new MemoryStream())
    {
        workbook.Write(ms);
        Response.BinaryWrite(ms.ToArray());
    }
    Response.End();
}
该文章在 2025/1/1 17:42:37 编辑过