ASP.NET 导出 Excel

简介

在 Web 开发中,经常会遇到需要将数据导出为 Excel 文件的需求。ASP.NET 提供了多种方法来实现这一功能,本文将介绍其中的两种常用方法:使用 NPOI 库和使用 EPPlus 库。NPOI 是一个开源的 .NET 类库,用于处理 Office 文件,而 EPPlus 是一个专门用于处理 Excel 文件的 .NET 类库。

使用 NPOI 库导出 Excel

NPOI 是一个非常强大的库,可以用来读取、写入和修改 Excel 文件。在使用 NPOI 导出 Excel 之前,我们需要在项目中添加对 NPOI 的引用。可以通过 NuGet 包管理器来安装 NPOI 库,或者手动下载并添加到项目引用中。

步骤 1:创建 Excel 文件

首先,我们需要创建一个 Excel 工作簿对象。可以通过以下代码来实现:

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

// 创建工作簿
IWorkbook workbook = new HSSFWorkbook();

步骤 2:创建工作表

在 Excel 文件中,数据是以工作表的形式进行组织的。我们可以通过以下代码创建一个工作表对象:

// 创建工作表
ISheet sheet = workbook.CreateSheet("Sheet1");

步骤 3:写入数据

接下来,我们可以向工作表中写入数据。以下是一个示例代码,将一个二维数组的数据写入到工作表中:

// 写入数据
string[,] data = new string[3, 2] {
    { "Name", "Age" },
    { "Alice", "25" },
    { "Bob", "30" }
};

for (int i = 0; i < data.GetLength(0); i++)
{
    IRow row = sheet.CreateRow(i);
    for (int j = 0; j < data.GetLength(1); j++)
    {
        ICell cell = row.CreateCell(j);
        cell.SetCellValue(data[i, j]);
    }
}

步骤 4:保存文件

最后,我们需要将工作簿保存为一个文件。以下是一个示例代码,将工作簿保存为名为 "output.xls" 的文件:

// 保存文件
using (FileStream fs = new FileStream("output.xls", FileMode.Create))
{
    workbook.Write(fs);
}

通过以上步骤,我们就可以将数据导出为一个 Excel 文件了。

使用 EPPlus 库导出 Excel

与 NPOI 类似,EPPlus 也是一个用于处理 Excel 文件的类库。同样,我们需要在项目中添加对 EPPlus 的引用。

步骤 1:创建 Excel 文件

首先,我们需要创建一个 ExcelPackage 对象,用于处理 Excel 文件。以下是一个示例代码:

using OfficeOpenXml;

// 创建 ExcelPackage 对象
ExcelPackage package = new ExcelPackage();

步骤 2:创建工作表

通过 ExcelPackage 对象,我们可以创建一个工作表。以下是一个示例代码:

// 创建工作表
ExcelWorksheet sheet = package.Workbook.Worksheets.Add("Sheet1");

步骤 3:写入数据

接下来,我们可以向工作表中写入数据。以下是一个示例代码,将一个二维数组的数据写入到工作表中:

// 写入数据
string[,] data = new string[3, 2] {
    { "Name", "Age" },
    { "Alice", "25" },
    { "Bob", "30" }
};

for (int i = 0; i < data.GetLength(0); i++)
{
    for (int j = 0; j < data.GetLength(1); j++)
    {
        sheet.Cells[i + 1, j + 1].Value = data[i, j];
    }
}

步骤 4:保存文件

最后,我们需要将 ExcelPackage 对象保存为一个文件。以下是一个示例代码,将 ExcelPackage 对象保存为名为 "output.xlsx" 的文件:

// 保存文件
package.SaveAs(new FileInfo("output.xlsx"));

通过以上步骤,我们就可以将数据导出为一个 Excel 文件了。

总结

本文介绍了使用 NPOI 和 EPPlus 两个库来导出 Excel 文件的方法。NPOI 是一个功能