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

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

编码文章call10242025-08-19 13:36:213A+A-

假如,李小姐要把统计好的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自动化,助你减少加班

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4