Excel 使用ODBC直接访问
2015-08-29 22:20
239 查看
原来Excel 可以使用ODBC直接访问啊,一直以来都是一格一格读取,比较烦,这次又学习了!!
此处记录ODBC连接Excel的DSN字符串:
“DRIVER={Microsoft Excel Driver (*.xls)};FIRSTROWHASNAMES=1;READONLY=FALSE;DBQ=%1”
—%1 为要连接的Excel文件。
—READONLY=FALSE; 如果没有这段,excel默认是按照只读打开的,只能select 操作
—FIRSTROWHASNAMES=1; 这段表明excel文件的第一行是列名。
此处记录ODBC连接Excel的DSN字符串:
“DRIVER={Microsoft Excel Driver (*.xls)};FIRSTROWHASNAMES=1;READONLY=FALSE;DBQ=%1”
—%1 为要连接的Excel文件。
—READONLY=FALSE; 如果没有这段,excel默认是按照只读打开的,只能select 操作
—FIRSTROWHASNAMES=1; 这段表明excel文件的第一行是列名。
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); QSqlDatabase excel = QSqlDatabase::addDatabase("QODBC"); QString ExcelFileName = QFileDialog::getOpenFileName(this,tr("选择要打开的文件"),".",tr("Excel File(*.xls)")); if(ExcelFileName.isEmpty()) return; QString dsn =QString("DRIVER={Microsoft Excel Driver (*.xls)};FIRSTROWHASNAMES=1;READONLY=FALSE;DBQ=%1").arg(ExcelFileName); excel.setDatabaseName(dsn); if(!excel.open()) { qDebug() <<"open database file "<<ExcelFileName<<"error!"; return; } QSqlQuery query = QSqlQuery(excel); query.exec("select * from [people$]"); //读取记录 qDebug()<<query.record().count(); query.next(); //QTextCodec *codec = QTextCodec::codecForName("UTF-8"); qDebug()<<query.value("name").toString(); ui->lineEdit->setText(query.value("name").toString()); //插入记录 if(!query.exec("insert into [people$](id,name,old) values(5,'nowhaha',43)")) { //qDebug()<< query.lastError().text(); QMessageBox::information(this,"info", query.lastError().text()); } }
相关文章推荐
- 博客园样式个性化
- HDU 5423:Rikka with Tree Dijkstra算法
- btrfs文件系统管理及应用
- Python @property
- 虚拟主机配置
- 三分钟理解“原型模式”——设计模式轻松掌握
- 【php】自动加载类autoload psr-0与psr-4标准
- 三分钟理解“原型模式”——设计模式轻松掌握
- [LeetCode][JavaScript]Longest Palindromic Substring
- hdu 5423 Rikka with Tree(dfs)
- VMware Workstation 11安装mac OS X 10.10
- sparkR集群启动脚本的封装
- 数据类型与数据分布
- JavaScript基础-集合-Array
- 对象的内存表示
- 腾讯 程序员 Java 笔试题目
- gradle学习总结,偷窥android studio的底裤
- Filter
- IIS7 应用程序池自动回收关闭的解决方案
- 什么样的代码是优雅的?