QT下BasicExcel库的初步使用
来源:互联网 发布:linux vi 到行尾 编辑:程序博客网 时间:2024/05/22 07:43
转载请注明来历:http://blog.csdn.net/icyfox_bupt/archive/2011/05/23/6440874.aspx
BasicExcel是一个很好的读取excel的库,对于做小程序来说很方便,作为一个初学者,现在来初步讨论一下对于这个库的使用。
BasicExcel的下载地址:http://www.codeproject.com/KB/office/BasicExcel.aspx 同时还附有BasicExcel的库函数。
首先建立一个工程,取名为qtexcel,在这里使用的方法是widget。将下载的压缩包里的文件解压出来,并且在工程里包含BasicExcel.hpp和BasicExcel.cpp这两个文件。如图是工程结构图。
在此我们做一些初始化的工作。
· 在widget.h 中加入 #include "BasicExcel.hpp" ;
· 在widget.cpp 中加入 #include <QDebug>;
using namespace YExcel;//这个很重要,因为这个导致了很多错误
在窗口中放置一个pushbutton,右键点击选择"go to slot.",在widget.cpp里面的自动产生的函数里面写上如下代码:
- void Widget::on_pushButton_clicked()
- {
- BasicExcel e;
- BasicExcelWorksheet* sheet1;
- e.Load("D:/fox.xls");
- sheet1 = e.GetWorksheet("Sheet1");
- if (sheet1)
- {
- size_t maxRows = sheet1->GetTotalRows();
- size_t maxCols = sheet1->GetTotalCols();
- qDebug() << "Dimension of " << sheet1->GetAnsiSheetName() <<
- " (" << maxRows << ", " << maxCols << ")" << endl;
- printf(" ");
- for (size_t c=0; c<maxCols; ++c) printf("%10d", c+1);
- qDebug() << endl;
- for (size_t r=0; r<maxRows; ++r)
- {
- qDebug()<<("%10d", r+1);
- for (size_t c =0; c<maxCols; ++c)
- {
- BasicExcelCell* cell = sheet1->Cell(r,c);
- switch (cell->Type()) //选择输出的格式
- {
- case BasicExcelCell::UNDEFINED:
- qDebug()<<(" ");
- break;
- case BasicExcelCell::INT:
- qDebug()<<("%10d", cell->GetInteger());
- break;
- case BasicExcelCell::DOUBLE:
- qDebug()<<("%10.6lf", cell->GetDouble());
- break;
- case BasicExcelCell::STRING:
- qDebug()<<("%10s", cell->GetString());
- break;
- case BasicExcelCell::WSTRING:
- qDebug()<<(L"%10s", cell->GetWString());
- break;
- }
- }
- qDebug() << endl;
- }
- }
- }
即可在控制台看见输出的数据。
- QT下BasicExcel库的初步使用
- QT下BasicExcel库的初步使用
- QT下使用BasicExcel 并支持中文
- basicexcel 使用
- Qt的初步使用
- BasicExcel 对Excel 的操作使用
- qt sqlite 的初步使用
- qt sqlite 的初步使用
- Qt UDP的初步使用
- Qt UDP的初步使用
- 使用BasicExcel操作Excel
- basicexcel基本使用
- [用C++链接Excel,使用BasicExcel库文件]
- BasicExcel
- basicexcel
- Qt学习之路_4(Qt UDP的初步使用)
- Qt学习之路_5(Qt TCP的初步使用)
- Qt学习之路_4(Qt UDP的初步使用)
- for/in statement
- Dynamics CRM 2011 编程系列(32):Ribbon的开发二(按钮的禁用规则)
- C#利用SharpZipLib进行文件的压缩和解压缩
- asp.net实现文件下载功能
- Eclipse调试常用技巧
- QT下BasicExcel库的初步使用
- 选取文字就是选取各个TextBox拼起来
- Dynamics CRM 2011 编程系列(33):Ribbon的开发三(按钮的执行环境)
- 在Windows64位环境下.net访问Oracle解决方案
- Android自动测试之monkeyrunner工具
- Java消息服务(JMS)学习小结
- android中intent带Uri传输时中文的乱码问题
- Oracle Record is locked by another user 解决方法
- uboot_logo修改问题