winform 写入EXCEL的多个SHEET
时间: 2024-10-08 07:22:28 浏览: 67
在Windows Forms (WinForm) 中,你可以使用Microsoft的`EPPlus`库或者`NPOI`库来操作Excel文件,包括创建和写入多个工作表。以下是基本步骤:
1. **安装库**:
- 对于`EPPlus`,可以在NuGet包管理器中搜索并安装`EPPlus`包。
- 对于`NPOI`,也可以通过NuGet安装`NPOI`和相关的依赖项。
2. **引用库**:
在你的项目中添加对所需库的引用,如`EPPlus.dll`或`HSSF.Hpsf.dll`(NPOI)。
3. **实例化工作簿**:
使用`Epplus.Excel.Workbook`(EPPlus)或`NPOI.HSSF.UserModel.Workbook`(NPOI)来创建一个新的Excel工作簿。
4. **创建工作表**:
使用`Workbook.Worksheets.Add()`方法为每个需要的数据集创建新的工作表。
5. **写入数据**:
- EPPlus: 选择对应的工作表对象,然后设置单元格的位置(例如 `Sheet1.Cells[1, 1]`),再将数据赋值给该单元格 (`cell.Value = "数据"` )。
- NPOI: 创建`HSSFWorkbook`中的`HSSFSheet`对象,同样设置单元格位置,然后用`CellStyle`、`DataFormatter`等工具写入数据。
6. **保存文件**:
使用`Workbook.SaveAs()`方法将修改后的文件保存到指定路径。
示例代码(EPPlus):
```csharp
using Excel = OfficeOpenXml.Excel;
// ...
var workbook = new Excel.Workbook();
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Cells["A1"].Value = "Hello";
workbook.SaveAs("output.xlsx");
```
示例代码(NPOI):
```csharp
using NPOI.HSSF.usermodel;
// ...
var workbook = new HSSFWorkbook();
ISheet sheet1 = workbook.CreateSheet("Sheet1");
sheet1.GetRow(0).CreateCell(0).setCellValue("数据");
workbook.Save("output.xlsx");
```
阅读全文