Qt中将QTableView中的数据导出为Excel文件收藏.docVIP

Qt中将QTableView中的数据导出为Excel文件收藏.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt中将QTableView中的数据导出为Excel文件 收藏 如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能。之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件。在使用了QtSql模块后,我很容易的将这个类改写应用在Qt程序中。类的名字叫“ExportExcelObject”。使用起来很简单: view plaincopy to clipboardprint? 01.// 1. declare an object 02. 03.// – fileName Excel 文件路径 04. 05.// – sheetName Excel 工作表(sheet)名称 06. 07.// – tableView 需要导出的QTableView指针 08. 09.ExportExcelObject obj(fileName, sheetName, tableView); 10. 11. 12. 13. // 2. define fields (columns) to the Excel sheet file 14. 15.// – 第1个参数是QTableView的列 16. 17.// – 第2个参数是对应该列的Excel sheet中的列名 18. 19.// – 第3个参数是该列的类型,可以使用char(x) (x最大255),int,datetime, 等 20. 21. obj.addField(1, tr(name), char(60)); 22. 23. obj.addField(2, tr(ID), int); 24. 25.obj.addField(3, tr(time), datetime ); 26. 27. 28. 29.// 3. 该类有特定的SIGNAL用于连接一个progress控件,可以显示导出进度 30. 31.connect(obj, SIGNAL(exportedRowCount(int)), progressBar, SLOT(setValue(int))); 32. 33. 34. 35. // 4. do the work 36. 37. int retVal = obj.export2Excel(); 38. 39.if(retVal 0) 40. 41.{//done 42. 43.} 44. 45.else 46. 47.{//something wrong 48. 49.} // 1. declare an object // – fileName Excel 文件路径 // – sheetName Excel 工作表(sheet)名称 // – tableView 需要导出的QTableView指针 ExportExcelObject obj(fileName, sheetName, tableView); // 2. define fields (columns) to the Excel sheet file // – 第1个参数是QTableView的列 // – 第2个参数是对应该列的Excel sheet中的列名 // – 第3个参数是该列的类型,可以使用char(x) (x最大255),int,datetime, 等 obj.addField(1, tr(name), char(60)); obj.addField(2, tr(ID), int); obj.addField(3, tr(time), datetime ); // 3. 该类有特定的SIGNAL用于连接一个progress控件,可以显示导出进度 connect(obj, SIGNAL(exportedRowCount(int)), progressBar, SLOT(setValue(int))); // 4. do the work int retVal = obj.export2Excel(); if(retVal 0) {//done } else {//something wrong } 那么这个类是怎样实现的呢? 1. 将Excel文件当成是一个数据库 使用MS的ODBC或ADO都可以将Excel文件当做一个数据库

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档