社区
VCL组件使用和开发
帖子详情
如何在使用OLE控制excel表格时,可以同时进行读写其他excel表格
me2145
2012-03-09 09:04:19
我现在想要在使用ole控件控制excel表格的同时,对其他的excel表格进行操作。要使这两者互不影响,怎样才能达到这样的目的呢?急求各位大侠帮忙。小弟不胜感谢~~
...全文
152
10
打赏
收藏
如何在使用OLE控制excel表格时,可以同时进行读写其他excel表格
我现在想要在使用ole控件控制excel表格的同时,对其他的excel表格进行操作。要使这两者互不影响,怎样才能达到这样的目的呢?急求各位大侠帮忙。小弟不胜感谢~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
me2145
2012-03-10
打赏
举报
回复
不好意思,是我没有说清楚。我想要在程序运行时ole对excel进行控制,同时通过office来对其他excel进行读写,使这两者互不影响。怎样才能实现这个目的呢?
herokay
2012-03-10
打赏
举报
回复
ole只能同时控制一个excel文件,也就是只能有一个处于active状态,要操作另一个必须让另一个处于活动活动状态。
me2145
2012-03-10
打赏
举报
回复
是其他的excel表格,不是sheet。
me2145
2012-03-10
打赏
举报
回复
[Quote=引用 9 楼 ccrun 的回复:]
引用 8 楼 me2145 的回复:
也就是说只能用创建多个excel对象来避免这种同时读写的情况了?
那你理想中是什么情况呢?就算直接在两个Excel中打开同一个文档,也会提示文档已被打开的。
[/Quote]
同时操作的是不同的excel文档,所以不会有这样的情况。我现在想可不可以通过一个互斥锁来避免这种情况呢?
ccrun.com
2012-03-10
打赏
举报
回复
[Quote=引用 8 楼 me2145 的回复:]
也就是说只能用创建多个excel对象来避免这种同时读写的情况了?[/Quote]
那你理想中是什么情况呢?就算直接在两个Excel中打开同一个文档,也会提示文档已被打开的。
me2145
2012-03-10
打赏
举报
回复
[Quote=引用 7 楼 ccrun 的回复:]
引用 6 楼 me2145 的回复:
回复妖哥:不是在我自己编写的程序中打开excel,是要在我自己编写的程序运行同时,通过excel.exe来对excel进行读写。
我知道你的意思啊,我说的就是通过OLE创建多个Excel对象,然后对不同的文档进行读写。并不是你理解的简单的运行多个Excel.exe,因为那样不可控。
[/Quote]
也就是说只能用创建多个excel对象来避免这种同时读写的情况了?
ccrun.com
2012-03-10
打赏
举报
回复
[Quote=引用 6 楼 me2145 的回复:]
回复妖哥:不是在我自己编写的程序中打开excel,是要在我自己编写的程序运行同时,通过excel.exe来对excel进行读写。
[/Quote]
我知道你的意思啊,我说的就是通过OLE创建多个Excel对象,然后对不同的文档进行读写。并不是你理解的简单的运行多个Excel.exe,因为那样不可控。
me2145
2012-03-10
打赏
举报
回复
回复妖哥:不是在我自己编写的程序中打开excel,是要在我自己编写的程序运行同时,通过excel.exe来对excel进行读写。
ccrun.com
2012-03-10
打赏
举报
回复
你创建多个不同的Excel对象,每个对象打开不同的文档读写就行了。
ccrun.com
2012-03-09
打赏
举报
回复
首先OLE不是什么控件。其次你说的这个对其他Excel表格进行操作,是其他的Excel文件还是Sheet?
delphi操作
excel
模块,图片,
表格
,
读写
删除
不需
Excel
也可讀寫xls檔的Delphi控件 用来读取
Excel
,Access的控件
读写
任何单元值 数字型、字符型、布尔型以及错误型。但是你了解日期和
时
间型单元吗?在
Excel
中没有这样的单元。
Excel
是和Delphi一样的方式来存储日期和
时
间的,即浮点型。那是什么制造了日期或
时
间值啦,是格式化。 完全支持公式。你可以
使用
和
Excel
一样的函数,也支持对外部工作簿引用的公式,你甚至可以从外部引用读取结果。 与操作Delphi的TStringGrid一样的方式操作单元格,或则通过给单元格命名,比如:”D7” 根据单元格的规则以字符串格式读取单元值 根据你的需求格式化单元 格式化很简单。通过获取单元格,你就可以操作单元的格式属性。例如:XLSReadWriteII.Sheet[n].Cell[Col,Row].FontSize := 12; 你也可以对域
进行
格式化,比如设置边框。 支持所有的
Excel
格式选项 合并单元格 操作所有的打印选项 选择页面大小,设置边距 设置标题和页脚,包括格式码。 定义打印区域 设置分页符 XLSReadWriteII完全支持Unicode 所有的字符型都是宽字符型。你完全不必担心非英语字符。 控件 你可以插入控件以及定义他们的源和目的单元 绘图 插入所有种类的绘图,从简单的线条到AutoShapes 多行文本和文本框 创建和编辑文本框以及多行文本 图表 创建和
Excel
中一样选项的图表 复制/移动/删除 可以以
Excel
一样的行为复制、移动和删除单元 行列也可以像单元一样复制和移动 支持工作簿之间的复制和移动 可以复制整个工作簿
使用
命名的域/单元 你可以在你想要的任何地方命名 通过命名访问单元格,例如:XLS.NameAsFloat['MyCell'] := 202.5; 支持指定、内置的名称 支持所有超链接类型 网页和E-mail地址 本地文件 服务器文件 工作薄引用 加密文档 你可以
读写
加密文件。条件是你需要知道文件的密码。 计算 可计算单元以及整个工作薄 计算引擎将依据单元
进行
计算。 可读取引用的外部工作薄。这通过一个特殊的快速查询程序
进行
执行 Rich Text单元 为了轻松地创建多字体格式的单元,单元可以以RTF格式
读写
VBA宏 可以
读写
文件中的宏,
使用
XLSReadWriteII可以为控件比如:按钮、组合框等添加宏 导入及导出 从下列导入数据… Open Office Calc文档 CSV文件以及其他可以自动识别分隔符、小数分隔符和文本引用字符的文本文件 HTML
表格
(标签) 数据库 导出数据为… CSV文件 HTML文件 其他 自动过滤 单元验证 有条件的格式 合并单元 PaintCell方法:将单元内容渲染到TCanvas对象的 XLSReadWriteII包还包含下列组件: 从任何数据库中导入数据到工作薄 工作薄导出为HTML文件
Ole
Db 的方式操作
excel
表
* 此类包含的方法: * 1、获取
excel
的工作簿名称【Get
Excel
SheetNames】。 * 2、获取指定工作簿的数据【Get
Excel
Data】。 * 3、判断
Excel
工作簿是否存在【IsExist】。 * 4、对注册表的操作,解决读取
Excel
表格
数据位数的限制【OperateRegedit】。 * 5、删除磁盘上指定的文件【Clear
Excel
File】。 * 6、根据传入的Datatable数据源,生成
Excel
数据表【CreateAndWrite
Excel
ByDatatable】。 * 7、根据传入的Datatable数据源,生成
Excel
数据表(带进度条指示)--【CreateAndWrite
Excel
ByDatatable】。 * 8、删除临
时
表DataTable里面的数据【RemoveDatatableRow】。 * 9、操作日志的生成【OperateLog】。
POI操作
Excel
导入和导出
在企业级应用开发中,
Excel
报表是一种最常见的报表需求,POI 是apache的子项目,目标是处理
ole
2对象。它提供了一组操纵Windows文档的Java API目前比较成熟的是HSSF接口,处理MS
Excel
(97-2002)对象。它不象我们...
VC++(VS2010)
读写
Excel
文件代码(附示例)
【前言】 工作或学习中可能需要实现基于VC读\写
Excel
文件的功能,本人最近也遇到了该问题。中间虽经波折,但是最终还是找到了解决问题的办法。 在此跟大家分享,希望对跟我同样迷茫过的同学们有所帮助。 1、程序功能 1)打开一个
excel
文件; 2)显示到CListCtrl上; 3)新建一个
Excel
文件。 以上均在对话框中实现。 2、平台 VC++2010 3、实现方法 常用的
Excel
打开方式有两种 1)通过数据库打开; 2)
OLE
方式打开。 由于方式1)操作繁琐,经常出现莫名的错误,这里选用方式2). 4、准备步骤 首先新建一个Dialog窗体程序,添加list control和两个按钮 1)将
Excel
Lib文件夹拷贝到程序目录下; 2)将Export2
Excel
.h,Export2
Excel
.cpp两个文件添加到项目; 3)包含头文件,#include "
Excel
Lib/Export2
Excel
.h" 通过以上步骤在程序中引入了可以读取Excle文件的CExport2
Excel
类; 5、打开
excel
文件 通过按钮点击打开 void C
Excel
TestDlg::OnBnClickedButtonOpen
Excel
() { //获取文件路径 CFileDialog* lpszOpenFile; CString szGetName; lpszOpenFile = new CFileDialog(TRUE,"","",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"
Excel
File(*.xlsx;*.xls)|*.xls;*.xlsx",NULL); if (lpszOpenFile->DoModal()==IDOK) { szGetName = lpszOpenFile->GetPathName(); SetWindowText(szGetName); delete lpszOpenFile; } else return; //打开文件 //文件中包含多个sheet
时
,默认打开第一个sheet CExport2
Excel
Excel
_example;
Excel
_example.Open
Excel
(szGetName); //获取sheet个数 int iSheetNum =
Excel
_example.GetSheetsNumber(); //获取已
使用
表格
行列数 int iRows =
Excel
_example.GetRowCount(); int iCols =
Excel
_example.GetColCount(); //获取单元格的内容 CString cs_temp =
Excel
_example.GetText(1,1); //AfxMessageBox(cs_temp); //List control上显示 //获取工作表列名(第一行) CStringArray m_HeadName; m_HeadName.Add(_T("ID")); for (int i=1;iGetItemCount()>0) { m_list.DeleteColumn(0); } //初始化ClistCtrl,加入列名 InitList(m_list,m_HeadName); //填入内容 //第一行是标题,所以从第2行开始 CString num; int pos; for (int row = 2;row<=iRows; row++) { pos = m_list.GetItemCount(); num.Format(_T("%d"),pos +1); m_list.InsertItem(pos,num); for (int colum=1;columDoModal()==IDOK) { szGetName = lpszOpenFile->GetPathName(); SetWindowText(szGetName); delete lpszOpenFile; } else return; //文件全名称 CString csFileName = szGetName; //需要添加的两个sheet的名称 CString csSheetName = "newSheet"; CString csSheetName2 = "newSheet2"; // 新建一个
excel
文件,自己写入文字 CExport2
Excel
Excel
_example; //新建
excel
文件
Excel
_example.Create
Excel
(csFileName); //添加sheet,新加的sheet在前,也就是序号为1
Excel
_example.CreateSheet(csSheetName);
Excel
_example.CreateSheet(csSheetName2); //操作最开始添加的sheet:(newSheet)
Excel
_example.SetSheet(2); //添加表头
Excel
_example.WriteHeader(1,"第一列");
Excel
_example.WriteHeader(2,"第二列"); //添加核心数据
Excel
_example.WriteData(1,1,"数据1");
Excel
_example.WriteData(1,2,"数据2"); //保存文件
Excel
_example.Save(); //关闭文件
Excel
_example.Close(); } 7、注意事项 1)一般单个
Excel
文件包含多个sheet,程序默认打开第一个; 2)指定操作sheet,
使用
Excel
_example.SetSheet(2)函数; 3)打开文件
时
最左侧的sheet序号为1,新建
excel
时
最新添加的sheet序号为1. 【后记】 本程序主要基于网络CSDN中---“
Excel
封装库V2.0”---完成,下载地址是:http://download.csdn.net/detail/yeah2000/3576494,在此表示感谢!同
时
, 1)在其基础上作了小改动,改正了几个小错误,添加了几个小接口; 2)添加了如何
使用
的例子,原程序是没有的; 3)详细的注释 发现不足之处,还请大家多多指教!
C#
使用
ole
db操作
excel
文件的方法
本文实例讲述了C#
使用
ole
db操作
excel
文件的方法。分享给大家供大家参考。具体分析如下: 不管什么编程语言都会提供操作
Excel
文件的方式,C#操作
Excel
主要有以下几种方式: 1.
Excel
说明:利用Office 的
Excel
组件来操作
excel
文件 优点:能够完全操作
Excel
文件,生成丰富文件内容 缺点:需要电脑安装
Excel
,会启动
Excel
进程这在web上很不方便 2.OpenXML 说明:一个操作字处理文档的组件包括
Excel
优点:能够操作操作
Excel
2007版本文件 缺点:只能够操作
Excel
2007文件 3.NPOI 说明:一个开源的
Excel
读写
库 优点:不需要
VCL组件使用和开发
604
社区成员
13,459
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章