本文介绍了QT下BasicExcel库初体验,实现对表格数据的操作的过程,很简单的操作。请看一下详细内容。
本文介绍了QT下BasicExcel库初体验,BasicExcel是一个很好的读取excel的库,对于做小程序来说很方便,作为一个初学者,现在来初步讨论一下对于这个库的使用。
BasicExcel的下载地址:http://www.codeproject.com/KB/office/BasicExcel.aspx 同时还附有BasicExcel的库函数。
首先建立一个工程,取名为QTexcel,在这里使用的方法是widget。将下载的压缩包里的文件解压出来,并且在工程里包含BasicExcel.hpp和BasicExcel.cpp这两个文件。如图是工程结构图。
在此我们做一些初始化的工作。
1、在widget.h 中加入 #include "BasicExcel.hpp" ;
2、在widget.cpp 中加入 #include <QDebug>;
- usingnamespaceYExcel;//这个很重要,因为这个导致了很多错误
using namespace YExcel; //这个很重要,因为这个导致了很多错误
在窗口中放置一个pushbutton,右键点击选择"go to slot.",在widget.cpp里面的自动产生的函数里面写上如下代码:
- viewplaincopytoclipboardprint?voidWidget::on_pushButton_clicked(){
- BasicExcele;
- BasicExcelWorksheet*sheet1;
- e.Load("D:/fox.xls");
- sheet1=e.GetWorksheet("Sheet1");
- if(sheet1){
- size_tmaxRows=sheet1->GetTotalRows();
- size_tmaxCols=sheet1->GetTotalCols();
- qDebug()<<"Dimensionof"<<sheet1->GetAnsiSheetName()<<
- "("<<maxRows<<","<<maxCols<<")"<<endl;
- printf("");
- for(size_tc=0;c<maxCols;++c)printf("%10d",c+1);
- qDebug()<<endl;
- for(size_tr=0;r<maxRows;++r){
- qDebug()<<("%10d",r+1);
- for(size_tc=0;c<maxCols;++c){
- BasicExcelCell*cell=sheet1->Cell(r,c);
- switch(cell->Type())//选择输出的格式{
- caseBasicExcelCell::UNDEFINED:
- qDebug()<<("");
- break;
- caseBasicExcelCell::INT:
- qDebug()<<("%10d",cell->GetInteger());
- break;
- caseBasicExcelCell::DOUBLE:
- qDebug()<<("%10.6lf",cell->GetDouble());
- break;
- caseBasicExcelCell::STRING:
- qDebug()<<("%10s",cell->GetString());
- break;
- caseBasicExcelCell::WSTRING:
- qDebug()<<(L"%10s",cell->GetWString());
- break;
- }
- }
- qDebug()<<endl;
- }
- }
- }
- voidWidget::on_pushButton_clicked()
- {
- BasicExcele;
- BasicExcelWorksheet*sheet1;
- e.Load("D:/fox.xls");
- sheet1=e.GetWorksheet("Sheet1");
- if(sheet1)
- {
- size_tmaxRows=sheet1->GetTotalRows();
- size_tmaxCols=sheet1->GetTotalCols();
- qDebug()<<"Dimensionof"<<sheet1->GetAnsiSheetName()<<
- "("<<maxRows<<","<<maxCols<<")"<<endl;
- printf("");
- for(size_tc=0;c<maxCols;++c)printf("%10d",c+1);
- qDebug()<<endl;
- for(size_tr=0;r<maxRows;++r)
- {
- qDebug()<<("%10d",r+1);
- for(size_tc=0;c<maxCols;++c)
- {
- BasicExcelCell*cell=sheet1->Cell(r,c);
- switch(cell->Type())//选择输出的格式
- {
- caseBasicExcelCell::UNDEFINED:
- qDebug()<<("");
- break;
- caseBasicExcelCell::INT:
- qDebug()<<("%10d",cell->GetInteger());
- break;
- caseBasicExcelCell::DOUBLE:
- qDebug()<<("%10.6lf",cell->GetDouble());
- break;
- caseBasicExcelCell::STRING:
- qDebug()<<("%10s",cell->GetString());
- break;
- caseBasicExcelCell::WSTRING:
- qDebug()<<(L"%10s",cell->GetWString());
- break;
- }
- }
- qDebug()<<endl;
- }
- }
- }
即可在控制台看见输出的数据。
小结:本文介绍了QT下BasicExcel库初体验,内容介绍到这,通过以上操作,是不是很好实现。希望以上内容能帮你解决问题。
转载请说明出处
知优网 » QT下BasicExcel库初体验(qtexcel开源库)
知优网 » QT下BasicExcel库初体验(qtexcel开源库)