#include <QtGui/QApplication> #include <QAxWidget> #include <QAxObject> #include <QFileDialog>
int main(int argc, char *argv[]) { QApplication a(argc, argv);
QString fileName = QFileDialog::getSaveFileName(NULL,"Save File",".","Excel File (*.xls)");
fileName.replace("/","\\"); //这一步很重要,c:/123.xls保存失败,c:\123.xls保存成功!
QAxWidget _excel("Excel.Application");
_excel.setProperty("Visible",false);
QAxObject * _workbooks = _excel.querySubObject("WorkBooks");
_workbooks->dynamicCall("Add"); //添加一个新的工作薄
QAxObject * _workbook = _excel.querySubObject("ActiveWorkBook");
_workbook->dynamicCall("SaveAs (const QString&,int,const QString&,const QString&,bool,bool)", fileName,56,QString(""),QString(""),false,false); //SaveAs有很多参数可选,具体请自己百度,这条语句是保存为OFFICE 2003格式
_workbook->dynamicCall("Close (Boolean)", false); _excel.dynamicCall("Quit (void)");
return 0;
}
如何才能操作EXCEL,教给同学们一个方法:打开EXCEL,选择录制宏,然后开始操作自己想要实现的行为,然后停止录制,查看宏,就可以看到自己操作的代码(应该是VBA代码吧,我也不懂),然后Qt里面,dynamicCall调用就可以了。