在 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 編輯過