C#怎么读写xlsx
时间: 2025-01-03 17:34:47 浏览: 6
### 使用 NPOI 和 EPPlus 进行 XLSX 文件的读写
#### 使用 NPOI 库读取和写入 XLSX 文件
对于使用 NPOI 来处理 XLSX 文件,可以按照如下方式编写代码:
```csharp
using System;
using System.IO;
using NPOI.XSSF.UserModel;
public class NpoiExample {
public void WriteExcel() {
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sample Sheet");
// 创建一行数据
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Hello");
row.CreateCell(1).SetCellValue("World");
using (FileStream fs = File.Create("sample.xlsx")) {
workbook.Write(fs); // 将工作簿保存至文件流
}
}
public void ReadExcel(string filePath) {
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) {
IWorkbook workbook = new XSSFWorkbook(fileStream);
ISheet sheet = workbook.GetSheetAt(0);
foreach (IRow row in sheet) { // 遍历每一行
foreach (ICell cell in row.Cells) { // 遍历每一个单元格
Console.WriteLine(cell.ToString());
}
}
}
}
}
```
上述代码展示了创建一个新的 Excel 工作表并向其中添加一些简单的字符串值[^2]。
#### 使用 EPPlus 库读取和写入 XLSX 文件
EPPlus 是另一个强大的库用于操作 Office Open XML 文档。以下是利用此库来完成相同任务的例子:
```csharp
using OfficeOpenXml; // 引用 EPPlus 命名空间
public class EpplusExample {
public void WriteExcel() {
FileInfo fileInfo = new FileInfo("example.xlsx");
using (ExcelPackage package = new ExcelPackage(fileInfo)) {
var worksheet = package.Workbook.Worksheets.Add("Test"); // 添加新工作表
worksheet.Cells[1, 1].Value = "Hello";
worksheet.Cells[1, 2].Value = "World";
package.Save(); // 保存更改
}
}
public void ReadExcel(string path) {
FileInfo existingFile = new FileInfo(path);
using (var package = new ExcelPackage(existingFile)) {
ExcelWorksheet worksheet = package.Workbook.Worksheets["Test"];
int rowCount = worksheet.Dimension.Rows;
for (int rowNum = 1; rowNum <= rowCount; ++rowNum) {
string valueA = worksheet.Cells[rowNum, 1].Text;
string valueB = worksheet.Cells[rowNum, 2].Text;
Console.WriteLine($"{valueA}, {valueB}");
}
}
}
}
```
这段代码同样实现了向 Excel 中写入 “Hello” 和 “World”,以及从指定的工作表中读取这些值并打印出来[^1]。
阅读全文