C#NPOI对已有Excel文件添加数据
时间: 2023-11-22 08:06:39 浏览: 216
使用 C# 的 NPOI 库可以实现对已有 Excel 文件添加数据。下面是一个简单的示例代码:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 打开已有 Excel 文件
FileStream fs = new FileStream("yourExcelFile.xlsx", FileMode.Open, FileAccess.ReadWrite);
XSSFWorkbook workbook = new XSSFWorkbook(fs);
ISheet sheet = workbook.GetSheetAt(0);
// 获取最后一行的行号
int lastRowNum = sheet.LastRowNum;
// 创建新行并添加数据
IRow newRow = sheet.CreateRow(lastRowNum + 1);
newRow.CreateCell(0).SetCellValue("Data1");
newRow.CreateCell(1).SetCellValue("Data2");
// 保存修改
workbook.Write(fs);
fs.Close();
```
这个示例代码打开一个名为 `yourExcelFile.xlsx` 的 Excel 文件,在第一个工作表中获取最后一行的行号,然后在其下一行创建一个新行并添加数据,最后保存修改。你需要根据你的实际情况修改代码中的文件名和数据。
相关问题
C# npoi Excel 下拉列表
在C#中,使用NPOI库(NuGet包Apache POI的一个.NET封装)操作Excel文件时,如果需要创建下拉列表(也称为数据验证或数据有效性),可以按照以下步骤进行:
1. 引入所需的命名空间:
```csharp
using NPOI.ss.usermodel;
using NPOI.xssf.usermodel;
```
2. 创建一个新的Excel工作表或打开已有的工作簿:
```csharp
XSSFWorkbook workbook = new XSSFWorkbook();
IXSSFSheet sheet = workbook.CreateSheet("Sheet1");
```
3. 添加数据验证规则来创建下拉列表:
```csharp
DataValidationHelper validationHelper = new DataValidationHelper(sheet);
DataValidationConstraint constraint = validationHelper.CreateExplicitListConstraint(new[]{"选项1", "选项2", "选项3"}); // 列出允许的值
int firstCellRow = 0; // 初始行号
int firstCellCol = 0; // 初始列号
var cellRangeAddress = new CellRangeAddress(firstCellRow, firstCellRow + 1, firstCellCol, firstCellCol + 1); // 确定范围
DataValidation dv = validationHelper.CreateValidation(constraint, cellRangeAddress);
dv.SetErrorStyle(CellStyle.ExcelErrorStyle.DataBar); // 可选,设置错误样式
sheet.AddDataValidation(dv); // 应用到单元格范围内
```
4. 最后别忘了保存工作簿:
```csharp
workbook.Write(System.IO.FileStream.GetFileStream("output.xlsx")); // 将更改写入文件
workbook.Close(); // 关闭工作簿
```
阅读全文