在因c#窗口文件的情况下怎么在保存这一种表头的情况下将多个excel合并
这种表头容易实现,你说的多个excel合并详细说一下
可以通过选定单元格区域然后复制到指定位置。下面是spire.xls.jar的区域复制方法,仅供参考:
1.同一个工作簿内的不同工作表间复制
using Spire.Xls;
namespace CopyRanges_XLS
{
class Program
{
static void Main(string[] args)
{
//加载Excel工作簿
Workbook book = new Workbook();
book.LoadFromFile("sample.xlsx", ExcelVersion.Version2013);
//获取第一个工作表
Worksheet sheet = book.Worksheets[0];
//将源数据数据复制到目标单元格区域
sheet.Copy(sheet.Range["A1:F1"], sheet.Range["A6:F6"], true);
//保存文档
book.SaveToFile("result.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result.xlsx");
}
}
}
2.跨工作簿复制
using Spire.Xls;
namespace CopyRanges2
{
class Program
{
static void Main(string[] args)
{
//加载Excel工作簿1
Workbook book1 = new Workbook();
book1.LoadFromFile("sample.xlsx", ExcelVersion.Version2013);
//加载Excel工作簿2
Workbook book2 = new Workbook();
book2.LoadFromFile("test.xlsx");
//获取工作表
Worksheet sheet1 = book1.Worksheets[0];
Worksheet sheet2 = book2.Worksheets[1];
//将源数据数据复制到目标单元格区域
sheet1.Copy(sheet1.Range["A1:F1"], sheet2.Range["B4:G4"], true);
//保存工作簿2
book2.SaveToFile("result2.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result2.xlsx");
}
}
}
将每个excel 读取后转成table 然后根据表头将多个table合并成1个 然后再转成汇总的excel导出
C#可以使用NPOI开源库去操作excel
首先,库的问题,不要用微软excel的activeX,也不要用各种收费的库了。开源的NPOI,apache开源项目。
其次,思路问题。搞一个模版,只有你想要的列头,数据行等后期填充。打开模版,等着往里写;循环打开源表,从有效数据行开始读,读一行,往模板里写一行,读完一个表之后,关闭表,下次循环打开下个表。
至于NPOI库具体怎么用,看你学习能力了。碰到解决不了的问题的话,可私信我或加V。
C# 合并Excel工作表
https://blog.csdn.net/Miaonly/article/details/84921217