Qt 数据导出为excel
2013-01-29 16:18
435 查看
Qt项目遇到的 将view中的数据导出为excel
总结一下经验:QString fileName = QFileDialog::getSaveFileName(this, tr("Save excel"),
".", tr("Microsoft Office 2003 (*.xls)"));//获取保存路径
if (fileName.isEmpty()) {
QMessageBox::critical(0, tr("错误"), tr("要保存的文件名为空!"));
return;
}
//建立Excel对象
QAxObject *excel = new QAxObject("Excel.Application");
excel->dynamicCall("SetVisible(bool)", true); //如果为了看自己的程序到底怎样工作,可以设置为true
excel->setProperty("Visible", false);
QAxObject *workbooks = excel->querySubObject("WorkBooks");
workbooks->dynamicCall("Add");
QAxObject *workbook = excel->querySubObject("ActiveWorkBook");
QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1);QAxObject *range = worksheet->querySubObject("Cells(int,int)", row,
column);//row column为要插入的行和列 range->setProperty("Value", String); //此处写要插入的内容
workbook->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparators(
fileName));
QMessageBox::information(this, tr("OK"), tr("保存成功!"));
workbook->dynamicCall("Close()");
worksheet->clear();//释放所有工作表
excel->dynamicCall("Quit()");
delete excel;//释放excel
至此 完成
总结一下经验:QString fileName = QFileDialog::getSaveFileName(this, tr("Save excel"),
".", tr("Microsoft Office 2003 (*.xls)"));//获取保存路径
if (fileName.isEmpty()) {
QMessageBox::critical(0, tr("错误"), tr("要保存的文件名为空!"));
return;
}
//建立Excel对象
QAxObject *excel = new QAxObject("Excel.Application");
excel->dynamicCall("SetVisible(bool)", true); //如果为了看自己的程序到底怎样工作,可以设置为true
excel->setProperty("Visible", false);
QAxObject *workbooks = excel->querySubObject("WorkBooks");
workbooks->dynamicCall("Add");
QAxObject *workbook = excel->querySubObject("ActiveWorkBook");
QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1);QAxObject *range = worksheet->querySubObject("Cells(int,int)", row,
column);//row column为要插入的行和列 range->setProperty("Value", String); //此处写要插入的内容
workbook->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparators(
fileName));
QMessageBox::information(this, tr("OK"), tr("保存成功!"));
workbook->dynamicCall("Close()");
worksheet->clear();//释放所有工作表
excel->dynamicCall("Quit()");
delete excel;//释放excel
至此 完成
相关文章推荐
- Qt中将QTableView中的数据导出为Excel文件
- qt QTableWidget&&QTableView 导出数据到excel
- qt QTableWidget&&QTableView 导出数据到excel
- qt QTableWidget&&QTableView 导出数据到excel
- Qt中将QTableView中的数据导出为Excel文件
- php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法
- jsp导出数据到excel(小例子)
- C#语言怎么实现从SQL SERVER导出数据到EXCEL
- VB.NET之旅-机房收费系统个人重构DatagridView导出数据到Excel
- Excel数据通过plsql导入导出到Oracle
- MySQL表结构(含数据类型、字段备注注释)导出成Excel
- SQL Server表中数据按条件批量导出为多个Excel
- Asp.net导出Excel/Csv文本格式数据
- SQL大圣之路笔记——把数据库中表里的数据导出成Excel(Copy时,会因分隔符问题导致许多数据存放在一个单元格中)
- 大量数据导出为Excel文件(转贴)
- 记录一笔关于PHPEXCEL导出大数据超时和内存溢出的问题
- 查询数据库数据导出到Excel
- 导出数据到Excel里面的方法
- 【转】asp.net导出数据到Excel的三种方法
- 数据导出excel