成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

QT下BasicExcel庫初體驗

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

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

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

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

QT下BasicExcel庫初體驗

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

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

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

  1. using namespace YExcel;  //這個很重要,因為這個導(dǎo)致了很多錯誤 

using namespace YExcel;  //這個很重要,因為這個導(dǎo)致了很多錯誤

在窗口中放置一個pushbutton,右鍵點擊選擇"go to slot.",在widget.cpp里面的自動產(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.       }  

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

小結(jié):本文介紹了QTBasicExcel庫初體驗,內(nèi)容介紹到這,通過以上操作,是不是很好實現(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-08-01 09:06:35

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

2009-03-09 15:12:39

XenServer安裝

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

2010-11-22 10:31:17

Sencha touc

2011-05-30 15:12:10

App Invento 初體驗

2010-11-16 09:12:42

SQL Azure

2009-11-30 10:09:02

谷歌Chrome OS

2011-08-02 10:26:59

iOS 多線程 線程

2011-11-01 10:30:36

Node.js

2013-06-08 10:15:29

Outlook 201Outlook 201

2011-09-15 15:03:10

2010-12-13 11:39:39

2025-03-18 07:30:41

2017-09-05 05:55:24

AWS ES集群大數(shù)據(jù)
點贊
收藏

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

主站蜘蛛池模板: 免费污视频 | 久久国产日韩 | av日韩精品 | 午夜男人天堂 | 国产日韩一区二区三免费高清 | 中文字幕一区二区三区在线视频 | 二区亚洲| 欧美日韩视频在线 | 亚洲 欧美 另类 综合 偷拍 | 日本精品久久 | 水蜜桃亚洲一二三四在线 | 狠狠亚洲| 欧美成人aaa级毛片在线视频 | 国产高清一区二区 | 久久成人精品一区二区三区 | 久久精品中文 | 欧美一区二区网站 | 二区精品 | 韩国精品在线观看 | 亚洲国产精品美女 | 日韩高清国产一区在线 | 超碰在线播 | 久久精品亚洲精品国产欧美 | 日韩中文在线 | 亚洲一区免费视频 | 青青草av网站 | 精品欧美一区二区三区免费观看 | 婷婷一级片 | 亚洲综合无码一区二区 | 精品成人一区 | a国产视频 | 欧美日韩国产在线观看 | 欧美日韩一区在线播放 | 国产精品成人免费 | 亚洲综合电影 | 国产亚洲欧美在线 | 日韩精品在线一区 | 麻豆久久 | 欧美中文一区 | 在线视频成人 | 激情影院久久 |