示例代码(将数据从数据库导入到Excel,将数据从Excel导入到数据库):
void slotExportBtn(){
QAxObject *excel = new QAxObject("Excel.Application");
if(excel->isNull()){
if(excel != NULL){
excel->dynamicCall("Quit()");
delete excel;
}
QMessageBox::critical(0, tr("error"), tr("Excel Application is not Exist"));
return ;
}
QAxObject *workbooks = NULL;
QAxObject *workbook = NULL;
QAxObject *worksheets = NULL;
QAxObject *worksheet = NULL;
excel->dynamicCall("SetVisible(bool)", false);
excel->setProperty("DisplayAlerts", false);
workbooks = excel->querySubObject("WorkBooks");
if(QFile::exists(fileName)){
workbook = workbooks->querySubObject("Open(const QString &)", fileName);
}else{
workbooks->dynamicCall("Add");
workbook = excel->querySubObject("ActiveWorkBook");
}
worksheets = workbook->querySubObject("Sheets");
worksheet = worksheets->querySubObject("Item(int)", 1);
QAxObject * usedrange = worksheet->querySubObject("UsedRange");
// QAxObject * rows = usedrange->querySubObject("Rows");
// QAxObject * columns = usedrange->querySubObject("Columns");
int intRowStart = usedrange->property("Row").toInt();
int intColStart = usedrange->property("Column").toInt();
// int intCols = columns->property("Count").toInt();
// int intRows = rows->property("Count").toInt();
QAxObject *cell = NULL;
QString str;
int rowCount =

这篇博客展示了如何使用C++通过QAxObject与Excel进行交互,实现数据从数据库导入到Excel以及从Excel回填到数据库的操作。首先,代码创建Excel对象并隐藏界面,然后打开或创建工作簿,设定标题并填充数据。接着,从Excel读取数据,存入结构化数据,并执行相应的数据库操作。最后,关闭工作簿和Excel应用,完成数据迁移过程。
最低0.47元/天 解锁文章
1238

被折叠的 条评论
为什么被折叠?



