申请在Qt中将图片导出到xlsx文件中的时候使用QAxObject的问题可能是由于在使用QAxObject时没有正确引用相关的COM组件。或者没有正确设置COM组件的权限导致的。 以下是一些可能的解决方法ï  👍 保证已经正确引用了Microsoft Excel COM组件。在Qt项目的.pro文件中添加以下代码ï   cpp
 LIBS += -lole32
   👍 保证已经正确设置了COM组件的权限。可以尝试以管理员身份运行Qt应用程序。或者在注册表中设置COM组件的权限。具体的操作方法可以参考Microsoft的文档。  👍 保证使用QAxObject的方式正确。以下是一个简单的示例代码。演示了如何使用QAxObject将图片插入到Excel文件中的第一个单元格ï   cpp
 QAxObject excel("Excel.Application");
 excel.setProperty("Visible", false);
 QAxObject *workbooks = excel.querySubObject("Workbooks");
 QAxObject *workbook = workbooks->querySubObject("Add");
 QAxObject *sheets = workbook->querySubObject("Worksheets");
 QAxObject *sheet = sheets->querySubObject("Item(int)", 1);
 QAxObject *range = sheet->querySubObject("Range(const QString&)", "A1");
 QAxObject *pictures = sheet->querySubObject("Pictures");
 QAxObject *picture = pictures->querySubObject("Insert(const QString&)", "C:/path/to/image.jpg");
 picture->dynamicCall("ShapeRange.LockAspectRatio = msoTrue");
 picture->dynamicCall("ShapeRange.Width = 100");
 picture->dynamicCall("ShapeRange.Height = 100");
 range->dynamicCall("Select()");
 picture->dynamicCall("Cut()");
 range->dynamicCall("Paste()");
 excel.dynamicCall("SaveAs(const QString&)", "C:/path/to/output.xlsx");
 excel.dynamicCall("Quit()");
 delete picture;
 delete pictures;
 delete range;
 delete sheet;
 delete sheets;
 delete workbook;
 delete workbooks;
 excel.clear();
    请根据实际情况修改代码中的路径和其他参数。   希望以上信息能帮助您解决问题。如果问题仍然存在。请提供更多的具体信息和错误日志。便于更好地帮助您。

Qt图片导出到xlsx:QAxObject插入图片问题解决方法

原文地址: https://www.cveoy.top/t/topic/psPd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录