自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

QT下BasicExcel庫(kù)初體驗(yàn)

移動(dòng)開發(fā)
本文介紹了QT下BasicExcel庫(kù)初體驗(yàn),實(shí)現(xiàn)對(duì)表格數(shù)據(jù)的操作的過程,很簡(jiǎn)單的操作。請(qǐng)看一下詳細(xì)內(nèi)容。

本文介紹了QTBasicExcel庫(kù)初體驗(yàn),BasicExcel是一個(gè)很好的讀取excel的庫(kù),對(duì)于做小程序來說很方便,作為一個(gè)初學(xué)者,現(xiàn)在來初步討論一下對(duì)于這個(gè)庫(kù)的使用。

BasicExcel的下載地址:http://www.codeproject.com/KB/office/BasicExcel.aspx 同時(shí)還附有BasicExcel的庫(kù)函數(shù)。

首先建立一個(gè)工程,取名為qtexcel,在這里使用的方法是widget。將下載的壓縮包里的文件解壓出來,并且在工程里包含BasicExcel.hpp和BasicExcel.cpp這兩個(gè)文件。如圖是工程結(jié)構(gòu)圖。

QT下BasicExcel庫(kù)初體驗(yàn)

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

1、在widget.h 中加入 #include "BasicExcel.hpp" ;

2、在widget.cpp 中加入 #include <QDebug>;  

  1. using namespace YExcel;  //這個(gè)很重要,因?yàn)檫@個(gè)導(dǎo)致了很多錯(cuò)誤 

using namespace YExcel;  //這個(gè)很重要,因?yàn)檫@個(gè)導(dǎo)致了很多錯(cuò)誤

在窗口中放置一個(gè)pushbutton,右鍵點(diǎn)擊選擇"go to slot.",在widget.cpp里面的自動(dòng)產(chǎn)生的函數(shù)里面寫上如下代碼:

  1. view plaincopy to clipboardprint?void Widget::on_pushButton_clicked()   {  
  2.        BasicExcel e;  
  3.        BasicExcelWorksheet* sheet1;  
  4.        e.Load("D:/fox.xls");  
  5.        sheet1 = e.GetWorksheet("Sheet1");  
  6.        if (sheet1)           {   
  7.           size_t maxRows = sheet1->GetTotalRows();  
  8.           size_t maxCols = sheet1->GetTotalCols();  
  9.            qDebug() << "Dimension of " << sheet1->GetAnsiSheetName() <<   
  10.               " (" << maxRows << ", " << maxCols << ")" << endl;  
  11.            printf(" ");  
  12.            for (size_t c=0; c<maxCols; ++c) printf("%10d", c+1);  
  13.            qDebug() << endl;   
  14.           for (size_t r=0; r<maxRows; ++r) {  
  15.              qDebug()<<("%10d", r+1);  
  16.              for (size_t c =0; c<maxCols; ++c) {  
  17.                BasicExcelCell* cell = sheet1->Cell(r,c);   
  18.               switch (cell->Type())  //選擇輸出的格式  {   
  19.                 case BasicExcelCell::UNDEFINED:   
  20.                   qDebug()<<(" ");   
  21.                   break;  
  22.                  case BasicExcelCell::INT:  
  23.                    qDebug()<<("%10d", cell->GetInteger());  
  24.                    break;  
  25.                  case BasicExcelCell::DOUBLE:   
  26.                   qDebug()<<("%10.6lf", cell->GetDouble());  
  27.                    break;   
  28.                 case BasicExcelCell::STRING:  
  29.                    qDebug()<<("%10s", cell->GetString());  
  30.                    break;  
  31.                  case BasicExcelCell::WSTRING:   
  32.                   qDebug()<<(L"%10s", cell->GetWString());  
  33.                    break;  
  34.                }  
  35.              }   
  36.             qDebug() << endl;  
  37.            }  
  38.          }  
  39.    }  
  40.   void Widget::on_pushButton_clicked()  
  41. {  
  42.     BasicExcel e;  
  43.     BasicExcelWorksheet* sheet1;  
  44.     e.Load("D:/fox.xls");  
  45.     sheet1 = e.GetWorksheet("Sheet1");  
  46.     if (sheet1)  
  47.         {  
  48.         size_t maxRows = sheet1->GetTotalRows();  
  49.         size_t maxCols = sheet1->GetTotalCols();  
  50.         qDebug() << "Dimension of " << sheet1->GetAnsiSheetName() << 
  51.             " (" << maxRows << ", " << maxCols << ")" << endl;  
  52.         printf(" ");  
  53.         for (size_t c=0; c<maxCols; ++c) printf("%10d", c+1);  
  54.         qDebug() << endl;  
  55.         for (size_t r=0; r<maxRows; ++r)  
  56.         {  
  57.           qDebug()<<("%10d", r+1);  
  58.           for (size_t c =0; c<maxCols; ++c)  
  59.           {  
  60.             BasicExcelCell* cell = sheet1->Cell(r,c);  
  61.             switch (cell->Type())  //選擇輸出的格式  
  62.             {  
  63.               case BasicExcelCell::UNDEFINED:  
  64.                 qDebug()<<(" ");  
  65.                 break;  
  66.               case BasicExcelCell::INT:  
  67.                 qDebug()<<("%10d", cell->GetInteger());  
  68.                 break;  
  69.               case BasicExcelCell::DOUBLE:  
  70.                 qDebug()<<("%10.6lf", cell->GetDouble());  
  71.                 break;  
  72.               case BasicExcelCell::STRING:  
  73.                 qDebug()<<("%10s", cell->GetString());  
  74.                 break;  
  75.               case BasicExcelCell::WSTRING:  
  76.                 qDebug()<<(L"%10s", cell->GetWString());  
  77.                 break;  
  78.             }  
  79.           }  
  80.           qDebug() << endl;  
  81.         }  
  82.       }  

即可在控制臺(tái)看見輸出的數(shù)據(jù)。

小結(jié):本文介紹了QTBasicExcel庫(kù)初體驗(yàn),內(nèi)容介紹到這,通過以上操作,是不是很好實(shí)現(xiàn)。希望以上內(nèi)容能幫你解決問題。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-16 17:19:33

Qt Meego

2011-06-20 13:23:03

Qt Quick QML

2023-03-06 21:19:19

2009-03-09 15:12:39

XenServer安裝

2009-08-01 09:06:35

UbuntuOneLinux開源操作系統(tǒng)

2013-12-12 11:33:31

iOS 7API

2011-06-24 11:03:31

Qt 多線程 線程

2017-03-08 15:39:11

Linuxselect函數(shù)

2023-07-15 08:01:38

2011-05-30 15:12:10

App Invento 初體驗(yàn)

2010-11-22 10:31:17

Sencha touc

2010-11-16 09:12:42

SQL Azure

2011-09-15 15:03:10

2009-11-30 10:09:02

谷歌Chrome OS

2010-12-13 11:39:39

2011-08-02 10:26:59

iOS 多線程 線程

2011-11-01 10:30:36

Node.js

2013-06-08 10:15:29

Outlook 201Outlook 201

2025-03-18 07:30:41

2011-09-05 10:20:21

Sencha ToucAPP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)