用OLE操作Excel(Wangda补充)

BCB之OLE方式操作Excel 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl 阅读详情

我也曾经在优快云上写过BCB调用EXCEL的文章。思想和站长的《用OLE操作Excel(C++ Builder版)》如出一辙。
如果我们用2K的操作系统,可以发现如果只是用ExcelApp.PR("Quit")后,Excel线程还在,这样,如果应用程序不退出,被调用的EXCEL文件就无法在SHELL下用EXCEL打开。因此,我的BCB调用EXCEL是这样的在最后要加上一点工作,就是把所有的VARIANT变量都要设置为UNASSIGNED,我的一个小例子如下,新建立一个EXCEL文件,显示有多少个表单(sheet),然后添一个表单并命名为test,然后给(1,2)单元赋值。最后删除一个sheet.
==============================================================================
h文件定义宏
#define OPG OlePropertyGet
#define OPS OlePropertySet
#define OFN OleFunction
#define OPR OleProcedure
#define PR Procedure

添加变量:
Variant Axl,Workbook,AxSheet,nms,bef,aft;


cpp函数
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//赋值内容
AnsiString s="hello!";
//文件路径和保存名称
AnsiString filename=GetCurrentDir()+"//test.xls";
//判断文件是否存在
if (FileExists(filename))
    {
    //询问是否删除
    if (MessageDlg("文件已经存在,是否删除?",
        mtWarning, TMsgDlgButtons() << mbOK<<mbCancel, 0)==mrOk)
        DeleteFile(filename);
    else
        {ShowMessage("放弃操作");return;}
    }
//建立excel连接
Axl= Variant::CreateObject("Excel.Application");
Axl.OPS("Visible",false);
Workbook= Axl.OPG("Workbooks");
//创建一个新的excel工作本(文件)
Workbook.Exec(PR("Add"));
Workbook=Axl.OPG("ActiveWorkbook");
//显示存在的sheet数目
int count=Workbook.OPG("sheets").OPG("count");
ShowMessage(IntToStr(count)+"个表");
//添加一个Sheet,命名为test
aft=Workbook.OPG("sheets",count);
Workbook.OPG("sheets").OPR("Add",bef.NoParam(),aft);
AxSheet=Workbook.OPG("ActiveSheet");
//Rename
AxSheet.OPS("Name","test");
//给单元1,2赋值
AxSheet.OPG("Cells")
    .OPG("Item",(Variant)1,(Variant)2)
    .OPS("Value",s.c_str());
//    .Exec(PropertySet("Value")<< s.c_str());
//以上两种方式都可以

//选择第一张sheet
int sheetnum=1;
AxSheet=Workbook.OPG("sheets",sheetnum);
//选择名字为sheet2的表单
AnsiString shname="sheet2";
AxSheet=Workbook.OPG("sheets",shname.c_str());
//关闭警告提示
Workbook.OPG("Application").OPS("DisplayAlerts",false);
//删除选定表单
AxSheet.OFN("Delete");
//打开警告提示
Workbook.OPG("Application").OPS("DisplayAlerts",false);
//保存文件,两种方式都可以
//Workbook.Exec(PR("SaveAs")<<filename);
Workbook.OPR("SaveAs",filename.c_str());
//结束退出
Workbook.OPR("Close");
Axl.OFN("Quit");
//结束,如果没有如下代码,EXCEL线程直到应用程序退出才结束。
Axl=Unassigned;
Workbook=Unassigned;
AxSheet=Unassigned;
bef=Unassigned;
aft=Unassigned;
nms=Unassigned;  
ShowMessage("Well Done boy!");

OLE 操作Excel的示例_OLE操作Excel的示例_ OLE 操作Excel的示例,可以在窗体中显示Excel图表。 立即下载

相关推荐

在ubuntu20.04上配置VINS_Fusion(亲测有效,一应俱全)

最近在做科研训练的时候配置了HKUST-Aerial-Robotics实验室的VINS_Fusion代码项目,经历了一些编译报错的问题,在网上查找的时候博客内容良莠不齐,且实质针对性意见不多,于是在此记录下自己配置期间遇到的一些共性问题,留作自己日后参考和大家的交流学习。

wyr1849089774的博客 8270

BCB控制Excel彙整

首先要 #include 若是遇上定義的問題,例如:xlLeft 則要 #include 但假如遇上ambiguity的問題則自己去定義xlLeft的數值, const int xlLeft = -4131;  定義在下面連結有說明 http://delphi.ktop.com.tw/board.php?cid=168&fid=913&tid=40545 [原文內容]

enjoy0104的专栏 1705

比较器和运算放大器-2

今天继续了解输入阻抗问题,观察下图:首先考虑在我们没有接运放时,A点输出电压为6V,当接入如图所示的阻抗时电压还是6V吗?共模电阻和红框内对地电阻并联,阻值变小,相当于5k,通过计算可以求得A点电压变为4V,这样A的值发生了改变,试想一下这样的信号接入到运放的两端是不是相当于比较的两端信号发生了改变,那结果一定会发生偏离。信号源一般内阻是不确定的,一般也不是很小,如果不想改变输入阻抗,那唯一的办法就是改变运放的内阻了,比如内阻改为100K,1M等,越大越好,是不是A点电压就会无限接近6V。

weixin_42855218的博客 1312

前端UI框架汇总

本文整理了一些比较流行的前端UI框架,排名不分先后,仅供参考。可按照项目需求自行考虑。 1、bootstrap Bootstrap 是Twitter推出的一个用于前端开发的,一个用于 HTML、CSS 和 JS 开发的开源工具包,是全球最受欢迎的前端组件库,用于开发响应式布局、移动设备优先的 WEB 项目。 官网:https://v4.bootcss.com/ 文档:https://v4....

缘如风的博客 7万+

Vue3项目实战:CKEditor5富文本编辑器从安装到隐藏不需要的功能

本文详细介绍了在Vue3项目中集成并深度定制CKEditor5富文本编辑器的完整流程。通过分析其模块化架构,指导开发者从标准构建出发,移除图片、表格等冗余插件,创建专属轻量构建,从而显著减小打包体积并提升用户体验。文章结合实战代码,涵盖了环境搭建、自定义构建配置、高级优化技巧等关键步骤。

weixin_29016833的博客 285

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。

guiplan 1497

汇总——前端UI框架

前端UI框架

ZXH0122的博客 7749

【LangChain编程:从入门到实践】实现多模态代理

【LangChain编程:从入门到实践】实现多模态代理 关键词:LangChain, 多模态代理, 自然语言处理, 机器学习, 知识图谱, 对话系统, 代码生成, AI代理 1. 背景介绍 随着人工智

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 581

几款学习成本低的优雅前端框架推荐(不分先后)

1.Amazeui Amaze UI 是一个轻量级、 Mobile first 的前端框架, 基于开源社区流行前端框架编写的。 官网地址:http://amazeui.org/ 2.uiKit uiKit是一款轻量级、模块化的前端框架,可快速构建强大的web前端界面。 官网地址:http://www.getuikit.net/ 3.H-ui H-ui是轻量级前端框架,简单免...

aiqianqi1796的博客 1050

LangGraph实战训练营-从零构建AI驱动的wiki知识库

本文深入解析 LangChain 团队开源的 Deep Agents 框架核心示例——LLM Wiki,一个基于大语言模型自动构建和维护持久化知识库的生产级 AI Agent 系统。文章从项目架构、环境搭建、核心原理到实战操作全面展开:详解 CompositeBackend 组合后端与细粒度权限控制的安全设计、四种工作模式(初始化/摄取/查询/质量检查)的完整流程、LangSmith 远程沙箱的隔离执行机制,以及人机协同审核(HITL)的实践应用。

program哲学 198

Transformer实战(32)——Transformer模型压缩

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。

盼小辉丶的博客 2575

2024年前端流行的UI库框架

UI框架

snow 4844

机器学习特征选择-t检验

在特征选择的过程中通过计算检验统计量值,比较特征之间的统计量的大小,并降序排列,选取统计值较高的特征,从而起到去除差别小的特征(此差别小的特征难以区分不同的额类别)的目的。 以t检验(Student's t test)为例: 假设检验 通过比较两类样本的随机变化,通过计算其p值决定是否拒绝零假设,也即是说:通过计算p值,若p值小于某一阈值则认为两个样本具有显著差异,两个样本是不同的,此时拒绝...

heda3的博客 6700

你不知道的前端框架和UI组件库 - 大合集【收藏必备】

Vue.js 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。 不兼容IE8,最低只能支持到 IE9 官网:https://cn.vuejs.org/ ReactJS 的确是一个伟大的东西,就其核心而言,就是一个可以和 html 混合编写的 jsx 格式,以及一个良好有序(加载时和更新时)、并和 html 渲染实时捆绑的状态机制。学习和使用 ReactJS,你并不需要对你现有的代码架构做太大的调整,只要引入 react.js 和 react-dom.js 两个文

Qianmoer的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

前端ui框架大全

十个前端UI优秀框架 最近需要一些前端框架,于是在网上整理了一些感觉不错的前端框架,有pc端和移动端,为了方便日后自己先记录下来了... Bootstrap 官网:http://getbootstrap.com/ Github:https://github.com/twbs/bootstrap/ Mint UI Mint UI是 饿了么团队开发基于vue .js的移动端UI框架,它包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要。 官网:https://mint-ui.gith

qq_45499633的博客 2777

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

前端基础5——UI框架Layui

Layui的常用设置

百慕卿君博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

8个优秀的前端UI框架

一.Mint UI 官网:https://mint-ui.github.io/#!/zh-cn Github: https://github.com/ElemeFE/mint-ui/ 由饿了么前端团队推出的 Mint UI 是一个基于 Vue.js 的移动端组件库。 二.WeUI 官网地址:https://weui.io/ Github: https://github.com/weui/weui.git WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微..

YuZongTao 6211

Vue进阶(贰佰):前端UI框架介绍

目前流行前端几大UI框架 2019-01-28阅读 8100 在前端项目开发过程中,总是会引入一些UI框架,已为方便自己的使用,很多大公司都有自己的一套UI框架,下面就是最近经常使用并且很流行的UI框架。 一. ElementUI Element是饿了么前端开源维护的Vue UI组件库,组件齐全,基本涵盖后台所需的所有组件,文档讲解详细,示例丰富。 主要用于开发PC端的页面,是一个质量比较高的Vue UI组件库。 官网地址 Github 二.iView UI iview ui是一个强大的基于vue的ui

IT全栈 华强工作室 9592

最受欢迎的前端几大UI框架

在前端项目开发过程中,总是会引入一些UI框架,已为方便自己的使用,很多大公司都有自己的一套UI框架,下面就是最近经常使用并且很流行的UI框架。 一.Mint UI 屏幕快照 2019-01-18 下午3.03.59.png Mint UI是 饿了么团队开发基于vue .js的移动端UI框架,它包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要。 官网:https://...

前端视听 7633

前端UI框架汇总,零基础入门到精通,收藏这篇就够了

本文整理了一些比较流行的前端UI框架,排名不分先后,仅供参考。可按照项目需求自行考虑。

Javachichi的博客 1316

2025年 | 大模型LLMs很火,作为新人小白应该怎么入门 LLMs? (附最新大模型学习路线)

大模型目前在人工智能领域可以说正处于一种“炙手可热”的状态,吸引了很多人的关注和兴趣,也有很多新人小白想要学习入门大模型,下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!保证100%免费。

m0_56255097的博客 1557

最流行的10款前端UI框架

随着Web技术的飞速发展,前端开发已经从简单的页面展示,进化到构建复杂、动态且响应式的用户界面。前端UI框架作为这一进程中的关键工具,帮助开发者快速、高效地实现设计。本文将介绍2024年最流行的10款前端UI框架,为开发者提供选择和参考。

(黎子)人生编码 2617

前端主流框架

Web前端三大主流框架是: React 1.声明式设计:React采用声明范式,可以轻松描述应用。 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。 3.灵活:React可以与已知的库或框架很好地配合 优点: 1.速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。 2.跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。 3.模块化:为你程序编写独立的模块化UI组件,..

MYmayue的博客 8610

前端常用UI框架

常用ui框架

weixin_42342065的博客 1383
上一篇: 修改live mail路径
下一篇: C++Builder存取Excel文件
marklr
博客等级 码龄19年 52粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值