QOdbc 读写 excel
#include <QApplication>#include <QSqlDatabase>#include <QDebug>#include <QMessageBox>#include <QSqlQuery>#include <QVariant>#include <QTime>#include <QTextCodec>void writeExcel(QString excelFilePath){// 创建一个数据库实例, 设置连接字符串QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","excelexport");QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DSN=''; FIRSTROWHASNAMES=1; READONLY=FALSE;CREATE_DB=\"%1\";DBQ=%2").arg(excelFilePath).arg(excelFilePath);db.setDatabaseName(dsn);// 打开数据库if (!db.open()){qDebug()<< "open false";QMessageBox::about(NULL, "r", "open false");}// 创建表格QString sql = "create table sheet (name TEXT, age NUMBER)";QSqlQuery query(db);if (!query.exec(sql)){qDebug()<< "create table false!";QMessageBox::about(NULL, "r", "create table false!");}// 写入数据db.exec( "insert into sheet(name, age) values('ctb', '28')");db.exec( "insert into sheet(name, age) values('xw', '19')");db.exec( "insert into sheet(name, age) values('lg', '34')");// 关闭数据库db.close();}void readExcel(const QString excelPath){// excel 数据库连接字符串 须要QODBC 驱动QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","excelexport");QString connString = QString("Driver={Microsoft Excel Driver (*.xls)};Readonly=1;DriverId=790;Dbq=%1;DefaultDir=D:\\").arg(excelPath);db.setDatabaseName(connString);// 打开数据库if (!db.open()){qDebug()<< "open false";QMessageBox::about(NULL, "r", "open false");}//查询数据QString sql = "Select * from [sheet$]";QSqlQuery query(sql, db);while (query.next()) {//读取数据QString name = query.value(0).toString();int age = query.value(1).toInt();qDebug()<< name << age <<endl;}// 关闭数据库db.close();}int main(int argc, char *argv[]){QApplication a(argc, argv);//中文支持QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));writeExcel("D:\\test01.xls");readExcel("D:\\test01.xls");return a.exec();}写入结果:
读取打印结果:
QOdbc 读写 excel的更多相关文章
- MFC vs2012 Office2013 读写excel文件
近期在忙一个小项目(和同学一起搞的),在这里客户要求不但读写txt,而且可以读写excel文件,这里本以为很简单,结果...废话少说,过程如下: 笔者环境:win7 64+VS2012+Office2 ...
- C# 使用 NPOI 库读写 Excel 文件(转载)
NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼 容xls 和 xlsx.官网提供了一份Examples,给出了 ...
- Python3.4如何读写Excel
在python3.x(散仙使用的版本是python3.4)里,我们应该如何操作excel. 首先在python3.4里,我们可以使用新的python类库,来支持3.x之后的读写excel 针对 03版 ...
- 用Python读写Excel文件(转)
原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...
- 使用NPOI读写Excel、Word
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...
- 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍
在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装E ...
- 【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
- 【原创】.NET读写Excel工具Spire.Xls使用(3)单元格控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
- 【原创】.NET读写Excel工具Spire.Xls使用(4)对数据操作与控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
随机推荐
- Linux 时间同步配置(转)
一. 使用ntpdate 命令 1.1 服务器可链接外网时 # crontab -e 加入一行: */1 * * * * ntpdate 210.72.145.44 210.72.145.44 为中国 ...
- dataset导出成excel
之前网上查找了很多关于这类的代码.要不是中文乱码,要不是就是太复杂.这个是我用过最好用的. //ds为数据源,filename为保存的文件名 publicvoidCreateExcel(DataSet ...
- CSS transform(变形)和transform-origin(变形原点)
transform(变形)和transform-origin(变形原点)的说明: 目前这两个属性得到了除去ie以外各个主流浏览器webkit,firefox,opera的支持,属性名分别为 -webk ...
- div和span的区别
<div>是一个块级元素,我们可以把它比喻成盒子,它没什么实际语义能用到很多地方,独占一行不能和其它元素在一行,它还能把<div>和<span>”装在盒子里”,主要 ...
- eclipse安装egit上传和clone项目到github
一.eclipse安装egit插件 help->new install new software->add location输入http://download.eclipse.org/ ...
- silverlight visifire控件图表制作——silverlight 后台方法打印
一.后台方法 1.添加引用:using System.Windows.Printing; 2.全局变量://定义图片和文本打印变量 PrintDocument printImage; 3.构造方法体 ...
- Sql 函数大全 (更新中...由难到简
1.字符处理类: 1.1 指定指定字符输出的次数 ) 结果:1a1a1a1a1a (5个1a)
- CDialog类中OnCancel()、OnInitDialog()作用
1.void CCOMDDlg::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel();} 如果把CDialog::OnCa ...
- memcached介绍及基本使用
一:概念 memcached是LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件.现在已成为mixi,hatena,facebook ...
- Injector Job深入分析
Injector Job的主要功能是根据crawlId在hbase中创建一个表,将将文本中的seed注入表中. (一)命令执行 1.运行命令 [jediael@master local]$ bin/n ...