1. 介绍
NPOI 是一款开源的 .NET 类库,用于读取和写入 Microsoft Office 格式的文件(如:Excel、Word、PowerPoint等)。通过使用 NPOI,可以在 C# 中轻松地进行 Excel 数据的导入和导出操作。
2. 安装 NPOI
在开始开发前,我们需要在项目中安装 NPOI。可以通过 NuGet 包管理器来安装 NPOI。
Install-Package NPOI
3. 导入 Excel 数据
首先,我们需要获取 Excel 文件,并读取其中的数据。以下是基本的导入 Excel 数据的步骤:
3.1 打开 Excel 文件
使用 NPOI 的工作簿(Workbook)类打开 Excel 文件:
using NPOI.HSSF.UserModel; // 适用于 Excel .xls 格式
using NPOI.XSSF.UserModel; // 适用于 Excel .xlsx 格式
string filePath = "path/to/excel/file.xlsx";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
IWorkbook workbook = new XSSFWorkbook(fileStream); // 如果是 .xls 格式,使用 HSSFWorkbook
3.2 读取数据
通过工作簿对象可以获取到 Excel 文件中的工作表(Sheet)。接下来,我们可以遍历工作表的行和列,以读取其中的数据:
ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表
for (int i = 0; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
for (int j = 0; j < row.LastCellNum; j++)
{
ICell cell = row.GetCell(j);
string cellValue = cell.ToString();
// 处理单元格数据...
}
}
在读取单元格数据时,可以根据需要进行类型转换,例如将单元格数据解析为整数、日期等。
4. 导出 Excel 数据
导出 Excel 数据与导入类似,首先需要创建一个工作簿(Workbook),然后向其中添加工作表(Sheet)和数据。以下是基本的导出 Excel 数据的步骤:
4.1 创建工作簿和工作表
使用 NPOI 的工作簿(Workbook)类创建一个 Excel 文件,并添加工作表:
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
4.2 写入数据
向工作表中写入数据,可以使用 NPOI 的行(Row)和单元格(Cell)类来操作:
for (int i = 0; i < data.Count; i++)
{
IRow row = sheet.CreateRow(i);
for (int j = 0; j < data[i].Count; j++)
{
ICell cell = row.CreateCell(j);
cell.SetCellValue(data[i][j]);
// 设置单元格样式...
}
}
在写入数据时,可以根据需要设置单元格的样式,如字体、边框、背景色等。
5. 保存 Excel 文件
完成数据写入后,我们需要将工作簿保存为 Excel 文件:
string filePath = "path/to/save/excel/file.xlsx";
FileStream fileStream = new FileStream(filePath, FileMode.Create);
workbook.Write(fileStream);
fileStream.Dispose();
以上代码中,通过文件流将工作簿写入到指定的文件路径中。
6. 总结
NPOI 是一款功能强大的开源类库,可以方便地实现 C# 中的 Excel 数据导入和导出操作。在本文中,我们介绍了使用 NPOI 进行 Excel 数据导入和导出的基本步骤,并提供了相应的代码示例。希望本文能帮助你更好地理解和使用 NPOI。