qaxobject 插入图片 excel

ops/2024/10/11 9:25:00/

要在Excel中使用QAxObject插入图片,你需要使用Qt的ActiveX支持。以下是一个简单的例子,展示如何使用QAxObject插入图片到Excel工作表的指定位置。

请确保你的系统上安装了Excel,并且你的Qt版本支持ActiveX。

 
 

#include <QAxObject>

void insertImageInExcel(const QString &imagePath, int x, int y) {

QAxObject *excel = new QAxObject("Excel.Application");

QAxObject *workbooks = excel->querySubObject("Workbooks");

workbooks->dynamicCall("Add");

QAxObject *worksheet = excel->querySubObject("Worksheets(1)");

QAxObject *range = worksheet->querySubObject("Range(int, int)", x, y);

// 插入图片

QAxObject *pictures = worksheet->querySubObject("Pictures()");

pictures->dynamicCall("Insert(const QString&)", imagePath);

// 可以调整图片的大小和位置

QAxObject *picture = pictures->querySubObject("Item(int)", 1);

picture->dynamicCall("Left(int)", x);

picture->dynamicCall("Top(int)", y);

picture->dynamicCall("Width(int)", 100); // 设置宽度为100

picture->dynamicCall("Height(int)", 100); // 设置高度为100

// 清理资源

range->dynamicCall("Delete()");

pictures->dynamicCall("Delete()");

worksheet->querySubObject("SaveAs(const QString&)", QString("C:\\path\\to\\your\\excel.xlsx"));

excel->dynamicCall("Quit()");

delete picture;

delete pictures;

delete range;

delete worksheet;

delete workbooks;

delete excel;

}

// 使用方法

int main() {

insertImageInExcel("C:\\path\\to\\your\\image.jpg", 1, 1);

return 0;

}


http://www.ppmy.cn/ops/90169.html

相关文章

[kimi笔记].net平台

.NET 是一个由微软公司开发的软件开发平台&#xff0c;它的历史可以追溯到2000年左右。.NET 框架最初是为Windows操作系统设计的&#xff0c;但随着时间的发展&#xff0c;微软逐步扩展了.NET 的应用范围&#xff0c;使其可以在多个平台上运行。以下是.NET 几个平台的历史和平台…

linux pidstat

pidstat是一个监控个别进程在Linux系统上的资源使用情况的工具&#xff0c;它是sysstat工具包的一部分。pidstat可以报告CPU、内存、I/O、上下文切换、线程等多方面的统计信息&#xff0c;对于性能分析和问题诊断非常有用。 基本用法 pidstat [选项] [间隔] [次数]选项&#…

MySQL —— 初始数据库

数据库概念 在学习数据库之前&#xff0c;大家保存数据要么是在程序运行期间&#xff0c;例如&#xff1a;在学习编程语言的时候&#xff0c;大家写过的管理系统&#xff0c;运用一些简单的数据结构&#xff08;例如顺序表&#xff09;来组织数据&#xff0c;可是程序一旦结束…

Flink Sql Redis Connector 新版本来袭

1.新版本功能和性能介绍 1.1 流批一体 新版本使用了Flink最新的Source接口和SinkWriter接口&#xff0c;可以使用一套代码完成流式读取数据和批量读取数据 1.2 吞吐量大 新版本使用jedispipline和jedisClusterPipeline对数据进行写入和读取&#xff0c;每分钟可以达到千万级…

代码随想录算法训练营day36|动态规划part04

第一题&#xff1a;1049. Last Stone Weight II 一维数组版本 class Solution {public int lastStoneWeightII(int[] stones) {int sum 0;for (int i : stones) {sum i;}int target sum >> 1;//初始化dp数组int[] dp new int[target 1];for (int i 0; i < sto…

【深度学习】【语音】TTS,StyleTTS 2,论文

StyleTTS 2 是一款创新的文本转语音(TTS)模型,通过使用样式扩散和大规模语音语言模型(SLM)的对抗训练,实现了接近人类水平的TTS合成。以下是StyleTTS 2在技术上的几个关键点和其在性能上的突出表现: 技术重点 样式扩散(Style Diffusion): StyleTTS 2 将语音样式建模…

中建海龙科技模块化集成建筑(MiC建筑):高效省时,建筑新选择

在当今快速发展的建筑行业中&#xff0c;时间成本往往成为制约项目进度的关键因素。中建海龙科技凭借其原创的模块化集成建筑&#xff08;MiC建筑&#xff09;技术&#xff0c;不仅实现了建筑的高质量、高效率&#xff0c;更在节省时间方面展现出了显著优势。 模块化集成建筑&…

WriterSide 文档、接口自动编译并部署到GitPage

WriterSide 自动编译并部署到GitPage 1. GitHub 创建空仓库2. 配置GitHub 仓库的编译部署方式3. WriteSide 创建项目4. 创建自动、编译部署配置文件5. 自动编译、部署1. GitHub 创建空仓库 在 GitHub 创建一个空的仓库 仓库创建成功后, 记录仓库的远程地址 仓库地址需要修改…