C#处理多个Excel合并,复制Sheet
2012-03-19 00:00
239 查看
项目中需要把多个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");
}
//出自 http://www.wgfanli.com
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");
}
//出自 http://www.wgfanli.com
相关文章推荐
- C#处理多个Excel合并,复制Sheet
- C#处理多个Excel合并,复制Sh…
- C#实现Excel跨文件多SHEET合并计算(原创)
- c#(winform,webform通用)利用npoi将xls文件复制为xlsx文件(excel的修改,保存,包括excel2003-office2007+的处理)
- 关于C#操作Excel,复制Sheet的记录
- C# 操作Excel ---复制Excel的sheet
- c# 导入Excel 存到DataTable并进行行转列操作及合并DataTable相同行的值
- C#操作Excel,对Sheet插入次序的控制 (有待完善)
- C# 如何合并Excel工作表
- 使用C#和Excel进行报表开发(四)-复制单元格
- c# excel 创建Sheet并绑定DataTable
- C# Excel处理工具
- C#导出涉及行列合并的复杂的Excel数据
- [二合一]C#读取和导出EXCEL类库(可操作多个SHEET)
- C#导出分Sheet的Excel文件
- C#获取Excel中所有的Sheet名称
- C#操作Excel文件暨C#实现在Excel中将连续多列相同数据项合并
- excel sheet中数据的快速复制
- debug没有问题,release后出错(C#对excel处理)
- 将多个Excel文件合并成一个有多个sheet的Excel文件