[C#]WinForm利用Microsoft.Office.Interop.Excel的Worksheets.Copy来合并多个Excel档

小弟之前写了一篇多个word合并的功能

最近想到word可以合并,excel应该也可以合并

小弟之前写了一篇多个word合并的功能

最近想到word可以合并,excel应该也可以合并

首先准备好两个测试的excel档(1.xls,2.xls)放在c槽里,执行完程序就产生3.xls的合并档了

WinForm(c#)
ExcelCombine.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;//这个要先加入Microsoft.Office.Interop.Excel参考
using System.Reflection;//这个记得参考

namespace WindowsApplication1
{
public partial class ExcelCombine : Form
{
public ExcelCombine()
{
InitializeComponent();
}

private void ExcelCombine_Load(object sender, EventArgs e)
{
object missing = Missing.Value;
string oFirstXls = @"c:1.xls";//excel档1
string oSecondXls = @"c:2.xls";//excel档2
string oOutputXls = @"c:3.xls";//合并档,excel档3

Excel.Application excelApp = new Excel.ApplicationClass();
Excel.Workbook wbook1 = excelApp.Workbooks.Open(oFirstXls, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);//载入excel档1
Excel.Workbook wbook2 = excelApp.Workbooks.Open(oSecondXls, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);//载入excel档2

wbook1.Worksheets.Copy(missing, wbook2.Sheets["Sheet1"]);//在excel档2的Sheet1之后插入所有excel档1的Sheet
//wbook1.Worksheets.Copy(wbook2.Sheets["Sheet1"], missing);//在excel档2的Sheet1之前插入所有excel档1的Sheet

wbook2.SaveAs(oOutputXls, missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);//另存excel档3
wbook1.Close(missing, missing, missing);
wbook2.Close(missing, missing, missing);
excelApp.Quit();
}
}
}

执行结果:

excel档1

excel档2

合并档,excel档3

参考网址:

http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx

http://topic.csdn.net/t/20061110/17/5149046.html

原文:大专栏  [C#]WinForm利用Microsoft.Office.Interop.Excel的Worksheets.Copy来合并多个Excel档

原文地址:https://www.cnblogs.com/chinatrump/p/11516545.html

时间: 2024-11-05 17:34:32

[C#]WinForm利用Microsoft.Office.Interop.Excel的Worksheets.Copy来合并多个Excel档的相关文章

Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF

1.常见用法           using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New ApplicationClass();    Microsoft.Office.Interop.Excel.Workbook book = ExcelApp.Workbooks.Add(); 2) 更改 Excel 标题栏: ExcelApp.Caption := '应用程序调用 Micr

Assembly 'Microsoft.Office.Interop.Excel

编译的时候报错,都无法通过编译: Assembly 'Microsoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' uses 'Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' which has a higher version

错误 1 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口

http://www.cnblogs.com/waitingfor/archive/2011/12/19/2293469.html 错误 1 无法嵌入互操作类型"Microsoft.Office.Interop.Excel.ApplicationClass".请改用适用的接口,码迷,mamicode.com 错误 1 无法嵌入互操作类型"Microsoft.Office.Interop.Excel.ApplicationClass".请改用适用的接口

引用Microsoft.Office.Interop.Excel出现的问题

引用Microsoft.Office.Interop.Excel出现的问题 转自:http://www.hccar.com/Content,2008,6,11,75.aspx,作者:方继祥 操作背景:asp.net操作Excel 出现问题:在本地添加引用(com):Microsoft Office 11.0 Object Library,并写好程序调试正常,部署到服务器时,出现异常 Excel.Application不是对象. 初步诊断:服务器没有安装Excel组件 第一步尝试解决:对服务器安装

报错:未能加载文件或程序集Microsoft.office.interop.excel,Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”HRESULT:0x80131040

报错:未能加载文件或程序集Microsoft.office.interop.excel,Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” 或它的某一个依赖项.找到的程序清单定义与程序集引用不匹配.异常来自HRESULT:0x80131040 WIN7环境.在装有2003的excel的XP导出成功 一直用office2010dll调试,不能导出excel 2003等旧版的. 把microsoft.office.C

添加 引用using Excel=Microsoft.Office.Interop.Excel所遇到的问题

我引用microsoft office 15.0 object library,并没有找到excel组件.但编译器中并没有报错. 很奇怪这个问题.. 添加 引用using Excel=Microsoft.Office.Interop.Excel所遇到的问题,布布扣,bubuko.com

Microsoft.Office.Interop.Excel.ApplicationClass can not embedded 的问题

用c#进行开发时,要做一个excel导入功能,期间使用到Microsoft.Office.Interop.Excel程序集,在用vs2008开发的时候没有报错,将这个程序集引用到vs2010的时候,便报错了:interop type 'Microsoft.Office.Interop.Excel.ApplicationClass' cannot be embedded. 解决方法:点击程序集(DDL),右键-属性,将embed interop types 更改为false. Microsoft.

使用Microsoft.Office.Interop.Excel时,64位问题

前不久,碰到一个问题. 曾经用的好好的Microsoft.Office.Interop.Excel实现的导出Excel,迁移至64位server后,就出现: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败 查询了下网上大家的解决的方法.差点儿千篇一律都是例如以下的解决方案: 在64位机器安装office后,做例如以下设置. 1:在"開始"->"执行"中输入dcomcnfg.ex

Microsoft.Office.Interop.Excel 操作 Excel

Microsoft.Office.Interop.Excel类库用于操作Excel,提供了丰富的类和函数,功能非常强大. 第一部分:类库简介 引用命名空间 using Excel = Microsoft.Office.Interop.Excel; 1,在使用类库之前,先总结以下几个类的用法 Application:Excel应用程序类,是Excel的引擎,new 一个实例. Excel.Application excelApp = new Excel.Application(); Workboo