QT下BasicExcel库的初步使用

转载请注明来历: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这两个文件。如图是工程结构图。

 

QT下BasicExcel库的初步使用_第1张图片


在此我们做一些初始化的工作。


·  在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; } } }

 

即可在控制台看见输出的数据。

 

你可能感兴趣的:(c,工作,String,Excel,qt,Go)