合并excel文件 C语言,多个Excel文件中的多个Sheet合并到一个Excel文件中两个函数...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer, ComObj, Clipbrd, Buttons, ShellAPI;
//
务必加入ComObj
type
TForm1
=
class
(TForm)
btn3: TButton;
btn1: TBitBtn;
procedure btn3Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
...
{ Private declarations }
public
...
{ Public declarations }
end;
//
合并两个Excel文件到一个Excel文件
function MergerExcel(sFile1Path, sFile2Path:
string
; sModelFile:
string
;
sTargetFile:
string
;
out
sErrMsg:
string
): Boolean; overload;
//
合并多个Excel文件到一个Excel文件
function MergerExcel(sFileList: TStrings; sModelFile:
string
;
sTargetFile:
string
;
out
sErrMsg:
string
): Boolean; overload;
var
Form1: TForm1;
implementation
...
{$R*.dfm}
function MergerExcel(sFile1Path, sFile2Path:
string
; sModelFile:
string
; sTargetFile:
string
;
out
sErrMsg:
string
): Boolean;
var ExcelApp: Variant;
ExcelWorkBook1: OleVariant;
ExcelWorkBook2: OleVariant;
ExcelWorkBook3: OleVariant;
i: Integer;
begin
Result:
=
False;
try
ExcelApp :
=
CreateOleObject(
'
Excel.Application
'
);
//
ExcelApp.Visible := True;
ExcelWorkBook1 :
=
ExcelApp.WorkBooks.Open(sFile1Path);
ExcelWorkBook2 :
=
ExcelApp.WorkBooks.Open(sFile2Path);
ExcelWorkBook3 :
=
ExcelApp.WorkBooks.Open(sModelFile);
//
骤文件骤Sheet复制到模版文件中
for
i :
=
1
to ExcelWorkbook1.Sheets.Count
do
begin
ExcelWorkBook1.Sheets[i].Copy(Before :
=
ExcelWorkBook3.Sheets[i]);
end;
ExcelWorkBook1.Close;
for
i :
=
1
to ExcelWorkbook2.Sheets.Count
do
begin
ExcelWorkBook2.Sheets[i].Copy(Before :
=
ExcelWorkBook3.Sheets[i]);
end;
ExcelWorkBook2.Close;
//
删除可能已经存在的目标文件
if
FileExists(sTargetFile) then
DeleteFile(sTargetFile);
//
将生成的Model文件另存为
ExcelWorkBook3.SaveAs(sTargetFile);
ExcelWorkBook3.Close;
ExcelApp.Quit;
Result:
=
True;
except
on E: Exception
do
begin
sErrMsg :
=
E.Message;
Result:
=
False;
end;
end;
end;
//
合并多个Excel文件到一个Excel文件
function MergerExcel(sFileList: TStrings; sModelFile:
string
;
sTargetFile:
string
;
out
sErrMsg:
string
): Boolean;
var ExcelApp: Variant;
ExcelWorkBookS: OleVariant;
ExcelWorkBookD: OleVariant;
i,iFileOrder: Integer;
begin
Result:
=
False;
try
ExcelApp :
=
CreateOleObject(
'
Excel.Application
'
);
//
ExcelApp.Visible := True;
ExcelWorkBookD :
=
ExcelApp.WorkBooks.Open(sModelFile);
for
iFileOrder :
=
0
to sFileList.Count
-
1
do
begin
ExcelWorkBookS :
=
ExcelApp.WorkBooks.Open(sFileList.Strings[iFileOrder]);
//
骤文件骤Sheet复制到模版文件中
for
i :
=
1
to ExcelWorkbookS.Sheets.Count
do
begin
ExcelWorkBookS.Sheets[i].Copy(Before :
=
ExcelWorkBookD.Sheets[i]);
end;
ExcelWorkBookS.Close;
end;
//
删除可能已经存在的目标文件
if
FileExists(sTargetFile) then
DeleteFile(sTargetFile);
//
将生成的Model文件另存为
ExcelWorkBookD.SaveAs(sTargetFile);
ExcelWorkBookD.Close;
ExcelApp.Quit;
Result:
=
True;
except
on E: Exception
do
begin
sErrMsg :
=
E.Message;
Result:
=
False;
end;
end;
end;
procedure TForm1.btn3Click(Sender: TObject);
var sXlsFileName1, sXlsFileName2, sXlsFileName3, sTargetFile, s:
string
;
h:THandle;
begin
sXlsFileName1 :
=
ExtractFilePath(Application.ExeName)
+
'
1.xls
'
;
sXlsFileName2 :
=
ExtractFilePath(Application.ExeName)
+
'
2.xls
'
;
sXlsFileName3 :
=
ExtractFilePath(Application.ExeName)
+
'
3.xls
'
;
sTargetFile :
=
ExtractFilePath(Application.ExeName)
+
'
4.xls
'
;
MergerExcel(sXlsFileName1, sXlsFileName2, sXlsFileName3, sTargetFile, s);
ShellExecute(Handle,
'
open
'
, pchar(sTargetFile), nil, nil, SW_SHOWNORMAL);
end;
procedure TForm1.btn1Click(Sender: TObject);
var sl:TStrings;
sModel,sTargetFile, s:
string
;
begin
sl:
=
TStringList.Create;
sl.Add(ExtractFilePath(Application.ExeName)
+
'
1.xls
'
);
sl.Add(ExtractFilePath(Application.ExeName)
+
'
2.xls
'
);
sl.Add(ExtractFilePath(Application.ExeName)
+
'
包装方案1.xls
'
);
sl.Add(ExtractFilePath(Application.ExeName)
+
'
包装方案2.xls
'
);
sl.Add(ExtractFilePath(Application.ExeName)
+
'
包装方案3.xls
'
);
sModel:
=
ExtractFilePath(Application.ExeName)
+
'
3.xls
'
;
sTargetFile:
=
ExtractFilePath(Application.ExeName)
+
'
4.xls
'
;
MergerExcel(sl,sModel, sTargetFile, s);
end;
end.
合并excel文件 C语言,多个Excel文件中的多个Sheet合并到一个Excel文件中两个函数...相关推荐
- java复制sheet_java-poi 复制Sheet到另一个excel的sheet中
原题链接在这里:https://leetcode.com/problems/excel-sheet-column-number/ 这道题与Excel Sheet Column Title相呼应.Tim ...
- 【 如何将.vue文件中的所有css代码放入一个.css文件中】
javascript – 如何将.vue文件中的所有css代码放入一个.css文件中?
- 将excel中的多个sheet合并为一个sheet
比较简单,直接看代码. import pandas as pd# 获取所有的sheet reader = pd.ExcelFile(r'path') sheet_names = reader.shee ...
- 用Python批量实现多Excel多Sheet合并的4种方法
大家好,我是崔艳飞.前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Excel表格 ...
- python 合并excel 自动更新_手把手教你4种方法用Python批量实现多Excel多Sheet合并
一.前言 大家好,我是崔艳飞.前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Ex ...
- 批量读取和写出excel数据#R语言#
运用R语言处理数据时总会遇到大批量excel数据读取和写入的问题,以R中的iris数据集举例,主要有以下几种形式(直接上代码): 读入数据: 1.将多个excel数据批量读入R环境中(读入csv格式文 ...
- 用Python批量实现多Excel多Sheet合并,学会这4步就够了
一.前言 Python自动化文章后续,有比较的读者面临这个问题,有很多个Excel表格,他需要对这些Excel文件进行合并. 诚然,一个一个打开复制粘贴固然可行,但是该方法费时费力,还容易出错,几个文 ...
- 手把手教你4种方法用Python批量实现多Excel多Sheet合并
一个一个打开复制粘贴固然可行,但是该方法费时费力,还容易出错,几个文件还可以手动处理,要是几十个甚至上百个,你就抓瞎了,不过这问题对Python来说,so easy,一起来看看吧! 二.项目目标 用P ...
- 微软考虑将 Python 作为 Excel 官方脚本语言
微软正考虑将 Python 作为 Excel 官方脚本语言之一,在 Excel 用户反馈平台中,「Python 作为 Excel 的脚本语言」成为了最热议的话题,是排名第二的提议的两倍多 目前为止,超 ...
最新文章
- 数学建模学习笔记——微分方程建模
- VirtualBox安装Fedora文件共享
- linux rar解压_linux命令
- android 非法字符 \ufeff错误
- 山西铁警演练防暴处突
- 用php mui ajax注册登录页面,ajax实现简单登录页面
- LDAP实现企业异构平台的统一认证
- 计算机二级java应用题怎么答,2015年计算机二级考试JAVA基本操作和简单应用题
- java俄罗斯方块代码_[转载]java编写的一个俄罗斯方块(源代码)
- Jdk(1.6和1.8)中英文Api文档
- css的样式局部作用,局部套用CSS样式.PPT
- 提供小图标(Icon)的网站(不定时更新)
- word文件退出只读模式
- 串口线的交叉直连之痛
- Qt开发总结(19)——Qt Charts
- Ruby 2.6 新特征介绍
- g6的minimap中的配置_Minimap 缩略图
- 在Ubuntu安装Deepin软件
- IOS开发音频与视频
- [Diary]毕业行程表--最后的十天