C#复制Sheet合并多个Excel文件

1应用场景

程序中有多个Excel报表模板,现在要合并到一个Excel工作薄中,也就是把多个Excel的Sheet复制到一个Excel的多个Sheet中。

2添加引用 Microsoft.Office.Interop.Excel

添加Excel引用

根据你的开发环境版本可能不同,都是可以的。

3WinForm窗体代码添加using引用

using _Excel = Microsoft.Office.Interop.Excel;

4两个Excel示例文件

Excel1
Excel2

5复制Sheet代码

//新建一个Excel工作簿
            _Excel.Application Eapp = new _Excel.Application();
            _Excel.Workbook wbk = Eapp.Workbooks.Add();
            _Excel._Worksheet sheet = wbk.Sheets[1];
            //打开一个Excel并复制
            string ExcelFile1 = @"e:\myexcel.xls";
            _Excel.Workbook wbk1 = Eapp.Workbooks.Open(ExcelFile1);
            _Excel._Worksheet sheet1 = wbk1.Sheets[1];
            sheet1.Copy(Type.Missing, sheet);//sheet1复制在sheet的后面
            //sheet1.Copy(sheet,Type.Missing,);//sheet1复制在sheet的前面
            wbk1.Close();
            //再打开复制一个
            string ExcelFile2 = @"e:\hq_fuq.xls";
            _Excel.Workbook wbk2 = Eapp.Workbooks.Open(ExcelFile2);
            _Excel._Worksheet sheet2 = wbk2.Sheets[1];
            sheet2.Copy(Type.Missing, sheet);
            wbk2.Close();

            Eapp.Visible = true;

6复制后的Excel

合并复制后

OK记录一下,方便以后查阅,搞了好长时间才搞定的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容