北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

送办公室小姐姐:c#让Excel自动化,合并多个Excel

假如,李小姐要把统计好的1-12月份的excel表格放进一个文件里。但12个月的表格是12个excel文件。同时12个excel文件里又有3个sheet。 若手工操作,要合并一起就是有36个sheet要手工操作。同时要保证不失误。

应用如下一小段C#代码,瞬间解决李小姐的麻烦。

文件最后附2分钟妙懂视频。


完整代码:

//保存结果的Excel的workbook , 取名 mwk

XSSFWorkbook mwk = new XSSFWorkbook();


//合并该文件夹里所有Excel

DirectoryInfo dinfo = new DirectoryInfo(@"H:\临时文件\testEXCEL");
int fn = 1;
foreach (FileInfo f in dinfo.GetFiles("*.xlsx"))

{

//所有Excel都有workbook形式打开

XSSFWorkbook openXLS = new XSSFWorkbook(f.FullName);

//打开后,复制里面的sheet到 复制到 mwk 中

for (int i = 0; i < openXLS.NumberOfSheets; i++)
{
XSSFSheet tmpSheet = openXLS.GetSheetAt(i) as XSSFSheet;
mpSheet.CopyTo(mwk, fn.ToString() + tmpSheet.SheetName, true, true);
}
fn++;
openXLS.Close();
}
//定义新结果 mwk 另存为 本地的硬盘目录
FileStream strm = new FileStream(@"H:\临时文件\testEXCEL\合并结果.xlsx",
FileMode.CreateNew,
FileAccess.Write,
FileShare.Write
);
mwk.Write(strm); //向硬盘目录保存
MessageBox.Show("合并完成");


2分钟演示上述代码: 视频演示


免费提供源码,可私信索取。



作者:白客不是黑客


往期文章:

「创业工具2」微软开源CMS,开公司创业怎么用?

「创业工具」微软开源CMS,开公司想创业用它就对了

Excel自动化,助你减少加班

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言