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记录一下,方便以后查阅,搞了好长时间才搞定的。

你可能感兴趣的:(C#复制Sheet合并多个Excel文件)