qt通过odbc操作Excel

1、查找资料却没找到能够通过odbc访问07版以上的Excel

2、代码

#include "widget.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    int index=0;

    //odbc
    QSqlDatabase dbExcel = QSqlDatabase::addDatabase("QODBC");
    //dbExcel.setDatabaseName("Driver=jdbc:odbc:DbExcel;ReadOnly=False;");
    //dbExcel.setDatabaseName("Driver={Microsoft Excel Driver (*.xls,*.xlsx,*.xlsm,*.xlsb)};Readonly=0;Dbq=D:\\test.xlsx;DefaultDir=D:\\");
    dbExcel.setDatabaseName("Driver={Microsoft Excel Driver (*.xls)};Readonly=0;Dbq=D:\\test2.xls;DefaultDir=D:\\");
    if (dbExcel.open())
        {
            QSqlQuery query;
            bool flag = query.exec(QStringLiteral("select * from [Sheet1$]"));
            while (query.next()) {
                QString title = query.value(0).toString();
                QString author = query.value(1).toString();
                qDebug()<< title;
                qDebug()<< author;
            }
        }else{
        qDebug()<< "EXCEL ERROR";
    }
    return a.exec();
}
时间: 2024-11-05 19:00:56

qt通过odbc操作Excel的相关文章

ODBC操作excel

//ODBC连接Excel public static void main(String[] args) {  Connection conn = null;  Statement stm = null;  ResultSet rs = null;  try {   //加载ODBC驱动   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   //创建连接对象   conn = DriverManager.getConnection(&qu

MFC:使用ODBC操作EXCEL表

方案一:利用现成的第三方库:CSpreadSheet 使用CSpreadSheet操作EXCEL的局限性:你只能够在EXCEL中创建表,然后才能够采用ODBC的方式操作EXCEL表,否则查询语句中FROM后面的表名称无法填写. 限制 该控件需要MFC(微软基础类库)支持.未测试是否支持Unicode编码.控件以ODBC读写 Excel文件,需要ODBC驱动程序.Excel文件必须列标记.且首行列标记唯一(字段).禁止 删除工作簿,仅允许删除工作簿内容.列值类型参照程序数据类型.不采用Excel格

Qt通过odbc读取excel数据

传统的读取方式是通过Excel.Application,这种方式不仅操作繁琐,而且速度也不快. 通过odbc读取,可以使用select语句直接读取整个工作表,处理excel数据就跟数据库一样方便. 当然,这种方式也有不足: 1.excel表格必须只能有一行表头. 2.相对于Excel.Application,无法准确定位单元格. 3.工作表名相当于数据库表名,表头相当于字段名,所以excel格式必须的固定的,否则无法读取到数据 读取的代码如下: //文件路径 QString filePath;

Qt操作excel

QAxWidget excel("Excel.Application");1) 显示当前窗口:excel.setProperty("Visible", true);2) 更改 Excel 标题栏:excel.setProperty("Caption", "Invoke Microsoft Excel");3) 添加新工作簿:QAxObject * workbooks = excel.querySubObject("W

Qt QAxObject操作excel文件过程总结(转):

正好同事问道Qt下操作excel. 转自:http://blog.csdn.net/a156392343/article/details/48092515 配制方面: 1.确保Excel软件在本地服务器注册成功,没注册成功的可以通过 在运行中"E:\program Files\Microsoft Office\Office12\EXCEL.EXE" /regserver 手动注册,注意路径要用自己的excel路径. 2.确保组件配制正确,运行命令:dcomcnfg,查看DCOM配置下是

QT 操作excel 类封装

1 # pro file 2 [plain] view plaincopy 3 CONFIG += qaxcontainer 4 5 QT += core 6 7 QT -= gui 8 9 TARGET = QExcel 10 CONFIG += console 11 CONFIG -= app_bundle 12 13 TEMPLATE = app 14 15 16 SOURCES += main.cpp \ 17 qexcel.cpp 18 19 HEADERS += \ 20 qexce

qt 操作excel表格

自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAxObject("Excel.Application"): <?xml:namespace prefix = o /> 2.创建工作表:workSheet->dynamicCall("Add"); 3.打开工作表:workExcel->dynamic

Qt之操作Excel

Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件.也可说是一种应用程式视觉化的Basic Script.1994年发行的Excel 5.0版本中,即具备了VBA的宏功能. 在VBA的参考手册中就可以看到具体函数.属性的用法,Qt操作Excel主要通过 QAxObject + Excel VBA来实现! 关于Qt对Excel的操作,网上的资料挺多的,

一个操作EXCEL的C#类ExcelUtils

最近在公司里一直从事服务类的工作,涉及到很多excel的处理.部分工作内容是每天重复的,只是每天的数据不同而已.我遇到的一个问题是客户每天发送的几种数据有些excel中的字段顺序是一致的,有些是不一致的,而对数据汇总就要一列一列的去调整,剪切,复制,粘贴,很麻烦.还有类似导入.导出数据.类似的问题.熟悉EXCEL的人肯定知道,其实EXCEL中为我们提供了很多常用的功能,比如筛选.排序.透视表统计等,只是需要手动去操作.实际这些常用操作完全可以用程序去替代,解放我们的双手.需要注意的是,写这种工具