Qt中将QTableView中的数据导出为Excel文件
来源:互联网 发布:微信推广淘宝优惠券 编辑:程序博客网 时间:2024/04/28 19:53
转载自:http://blog.csdn.net/superjoel/article/details/5321404
作者的原图我就不贴了!
源作者的下载地址,下载比较困难,我有幸下载下来。整个工程可用,源码也容易理解,很时候新手同学,我把源码传到csdn。下载地址http://download.csdn.net/detail/andy_baby/8661827!
如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能。之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件。在使用了QtSql模块后,我很容易的将这个类改写应用在Qt程序中。类的名字叫“ExportExcelObject”。使用起来很简单:
[cpp] view plaincopy
- // 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文件当做一个数据库,那么我们只需要使用下面这个DSN连接串去创建并连接至该Excel文件:
[cpp] view plaincopy
- QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DSN=''; FIRSTROWHASNAMES=1;;CREATE_DB=/"%1/";DBQ=%2").
- arg(excelFilePath).arg(excelFilePath);
2. 将Excel的工作表(sheet)当成是一个数据库表
可以使用SQL语句“CREATE TABLE” 去创建一个工作表。
3. 向表中插入数据
使用SQL的“INSERT”语句插入数据。
4. Unicode支持
是的,列名和数据都支持Unicode。
复制去Google翻译翻译结果
0 0
- Qt中将QTableView中的数据导出为Excel文件
- Qt中将QTableView中的数据导出为Excel文件
- Qt中将QTableView中的数据导出为Excel文件
- qt QTableWidget&&QTableView 导出数据到excel
- qt QTableWidget&&QTableView 导出数据到excel
- qt QTableWidget&&QTableView 导出数据到excel
- C# WinForm程序中将DataGridView中的数据导出为EXCEL
- c#中将数据集导出为excel文件
- C#中将ListView数据导出为excel
- wpf中将数据导出为Excel
- Extjs中将数据导出为Excel表格
- .NET中将数据导出(导出)Excel文件
- 又一C#中将ListView数据导出为excel
- C#中将数据导出为EXCEL方式汇总
- .net中将DataGridView内的数据导出为Excel表格
- java web中将数据导出为Excel格式文件代码片段
- asp.net中将DataGrid的内容导出为excel文件
- ASP.NET中将DataTable导出为Excel文件
- SQL2008附加数据库提示5120错误解决
- 【leetcode】Pascal's Triangle II
- 【设计模式】HeadFirst设计模式(三):装饰者(Decorator)模式
- Java漫谈之深复制与浅复制
- Future Task 延迟加载实例
- Qt中将QTableView中的数据导出为Excel文件
- Linux: 配置Ngnix作为Web Server详解
- JS SDK 随手笔记
- 牛逼博客搜集
- 黑马程序员--Java之集合(上)07
- 用memcache.php监控memcache的使用情况
- 第十章 泛型算法
- Java设计模式之回调
- ssh-agent用法