C# 导出多个sheet的excel 所有数据都记录在了sheet1怎么解决
时间: 2024-09-09 22:09:22 浏览: 94
C# NPOI导出多个Sheet页的Excel
5星 · 资源好评率100%
在C#中,如果你想要将Excel工作簿中的多个Sheet的数据全部导出到一个Sheet中,通常你需要先读取各个Sheet的内容,然后合并它们。以下是使用Epplus库(一个流行的.NET库用于操作Excel文件)的一个简单示例:
```csharp
using OfficeOpenXml;
// 定义Excel工作簿和工作表
ExcelPackage excel = new ExcelPackage();
ExcelWorksheet sourceSheet1 = excel.Workbook.Worksheets["Sheet1"];
ExcelWorksheet sourceSheet2 = excel.Workbook.Worksheets["Sheet2"]; // 更改为你需要合并的其他Sheet名称
// 如果需要读取更多Sheet,添加更多的Worksheet变量
// 创建目标Sheet
ExcelWorksheet destinationSheet = excel.Workbook.Worksheets.Add("MergedData");
// 清空目标Sheet
destinationSheet.Cells.ClearContents();
// 从每个源Sheet复制数据到目标Sheet
foreach (var row in sourceSheet1.Rows)
{
destinationSheet.Cells(destinationSheet.Dimension.End.Row, 1).LoadFromRow(row);
}
sourceSheet2.Cells.CopyToRange(destinationSheet.Cells[1, sourceSheet2.Dimension.End.Column + 1]);
// 保存更改
excel.SaveAs(new FileInfo(@"C:\Output\merged.xlsx")); // 替换为你实际的文件路径
// 关闭Excel包装
excel.Dispose();
```
这个代码片段会把"Sheet1"和"Sheet2"的所有内容合并到新的Sheet"MergeData"中。如果你需要合并更多Sheet,只需要在循环中添加对应的`sourceSheet`。
阅读全文