Qt Excel 操作:创建、添加内容和修改
Qt可以通过使用QAxObject类来实现与Excel的交互,实现Excel的创建、内容添加和修改。下面是一个简单的示例代码:
#include <QAxObject>
// 创建Excel文件
void createExcelFile(const QString& filePath)
{
QAxObject* excel = new QAxObject('Excel.Application');
excel->dynamicCall('SetVisible(bool)', false);
QAxObject* workbooks = excel->querySubObject('Workbooks');
QAxObject* workbook = workbooks->querySubObject('Add()');
QAxObject* worksheets = workbook->querySubObject('Worksheets');
QAxObject* worksheet = worksheets->querySubObject('Item(int)', 1);
// 在第1行第1列插入数据
QAxObject* cell = worksheet->querySubObject('Cells(int, int)', 1, 1);
cell->dynamicCall('SetValue(const QString&)', 'Hello');
// 保存文件并关闭Excel
workbook->dynamicCall('SaveAs(const QString&)', filePath);
workbook->dynamicCall('Close()');
excel->dynamicCall('Quit()');
delete excel;
}
// 修改Excel文件
void modifyExcelFile(const QString& filePath)
{
QAxObject* excel = new QAxObject('Excel.Application');
excel->dynamicCall('SetVisible(bool)', false);
QAxObject* workbooks = excel->querySubObject('Workbooks');
QAxObject* workbook = workbooks->querySubObject('Open(const QString&)', filePath);
QAxObject* worksheets = workbook->querySubObject('Worksheets');
QAxObject* worksheet = worksheets->querySubObject('Item(int)', 1);
// 修改第1行第1列的数据
QAxObject* cell = worksheet->querySubObject('Cells(int, int)', 1, 1);
cell->dynamicCall('SetValue(const QString&)', 'World');
// 保存文件并关闭Excel
workbook->dynamicCall('Save()');
workbook->dynamicCall('Close()');
excel->dynamicCall('Quit()');
delete excel;
}
调用createExcelFile函数可以创建一个新的Excel文件,并在第1行第1列添加数据。调用modifyExcelFile函数可以修改已存在的Excel文件的第1行第1列的数据。
原文地址: https://www.cveoy.top/t/topic/m9zL 著作权归作者所有。请勿转载和采集!