C#处理多个Excel合并,复制Sheet

项目中需要把多个Excel报表进行合并, 用一个Excel的多个Sheet来表现,合并报表代码如下:  

 

       private void btnExport_Click(object sender, EventArgs e)

        {
            string fileName = "";
            System.Windows.Forms.FileDialog dlg = null;
            dlg = new SaveFileDialog();
            //根据格式设置文件字符串
            dlg.Filter = this.GetFileFilterString();
            //打开文件
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                fileName = dlg.FileName;
            }
            if (dlg.FileName.Equals(""))
            {
                return;
            }
            //生成报表
            this.Export(fileName);
            string dir = fileName.Substring(0, fileName.LastIndexOf("//"));
            
            //报表合并
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
            Microsoft.Office.Interop.Excel.Workbook workbook1 = excel.Workbooks.Open(dir + "//file0.xls",
                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                   Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Workbook workbook2 = excel.Workbooks.Open(dir + "//file1.xls",
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Workbook workbook3 = excel.Workbooks.Open(dir + "//file2.xls",
                     Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                     Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                     Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Workbook workbook4 = excel.Workbooks.Open(dir + "//file3.xls",
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Workbook workbook5 = excel.Workbooks.Open(dir + "//file4.xls",
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Workbook workbook6 = excel.Workbooks.Open(dir + "//file5.xls",
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Worksheet worksheet1 = (Microsoft.Office.Interop.Excel.Worksheet)workbook1.Sheets["Sheet1"];
            Microsoft.Office.Interop.Excel.Worksheet worksheet2 = (Microsoft.Office.Interop.Excel.Worksheet)workbook2.Sheets["Sheet1"];
            Microsoft.Office.Interop.Excel.Worksheet worksheet3 = (Microsoft.Office.Interop.Excel.Worksheet)workbook3.Sheets["Sheet1"];
            Microsoft.Office.Interop.Excel.Worksheet worksheet4 = (Microsoft.Office.Interop.Excel.Worksheet)workbook4.Sheets["Sheet1"];
            Microsoft.Office.Interop.Excel.Worksheet worksheet5 = (Microsoft.Office.Interop.Excel.Worksheet)workbook5.Sheets["Sheet1"];
            Microsoft.Office.Interop.Excel.Worksheet worksheet6 = (Microsoft.Office.Interop.Excel.Worksheet)workbook6.Sheets["Sheet1"];
            //设置报表Sheet Name
            worksheet1.Name = "实时资产信息";
            worksheet2.Name = "实时持仓清单";
            worksheet3.Name = "资产信息";
            worksheet4.Name = "证券余额";
            worksheet5.Name = "资金流水汇总";
            worksheet6.Name = "资金流水汇总1";
            //合并报表
            worksheet6.Copy(Missing.Value, worksheet1);
            worksheet5.Copy(Missing.Value, worksheet1);
            worksheet4.Copy(Missing.Value, worksheet1);
            worksheet3.Copy(Missing.Value, worksheet1);
            worksheet2.Copy(Missing.Value, worksheet1);
       
            workbook1.Save();
            workbook1.Close(false, Type.Missing, Type.Missing);
           
            workbook2.Close(false, Type.Missing, Type.Missing);
            workbook3.Close(false, Type.Missing, Type.Missing);
            workbook4.Close(false, Type.Missing, Type.Missing);
            workbook5.Close(false, Type.Missing, Type.Missing);
            workbook6.Close(false, Type.Missing, Type.Missing);
            //如果报表文件存在,先删除
            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }
            File.Copy(dir + "//file0.xls", fileName);
            //删除临时文件
            for (int i = 0; i < 6; i++)
            {
                File.Delete(dir + "//file" + i + ".xls");
            }
        }
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值