如何使用Epplus库在WPF应用程序中将List数据导出为Excel工作簿?
时间: 2025-01-02 10:47:19 浏览: 17
在WPF应用程序中使用Epplus库将List数据导出到Excel工作簿,你需要按照以下步骤操作:
1. 引入必要的库:
```xml
<DependencyLibraries>
<Library Include="EPPlus, Version=4.7.3" />
</DependencyLibraries>
```
2. 安装Epplus NuGet包。
3. 创建Excel包装:
```csharp
using OfficeOpenXml;
ExcelPackage excelPackage = new ExcelPackage(new FileInfo("Output.xlsx"));
```
4. 新建工作表并将数据插入:
```csharp
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");
// 假设你的List有一个名为Items的对象列表,每个对象有Title和Data属性
List<Item> dataList = GetYourDataList();
int rowIndex = 1; // 第一行从1开始
foreach (Item item in dataList)
{
worksheet.Cells[rowIndex++, 1].Value = item.Title;
worksheet.Cells[rowIndex - 1, 2].LoadFromCollection(item.Data); // 如果Data是另一个二维数组或自定义类列表
}
```
5. 保存并关闭工作簿:
```csharp
excelPackage.Save();
excelPackage.Dispose(); // 关闭后释放资源
```
6. 可能还需要处理异常和错误情况:
完整示例代码:
```csharp
try
{
List<Item> dataList = ...; // 你的数据源
ExcelPackage excelPackage = new ExcelPackage(new FileInfo("Output.xlsx"));
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");
// 将数据写入工作表
for (int i = 0; i < dataList.Count; i++)
{
Item item = dataList[i];
worksheet.Cells[i + 1, 1].Value = item.Title;
worksheet.Cells[i + 1, 2].LoadFromCollection(item.Data);
}
excelPackage.Save();
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
finally
{
excelPackage?.Dispose();
}
```
别忘了替换`GetYourDataList()`为实际的数据获取函数。
阅读全文