mirror of
https://github.com/QtExcel/QXlsx.git
synced 2025-01-16 04:42:53 +08:00
QXlsx
Excel reader/writer library
- QXlsx is excel file(*.xlsx) reader/writer library.
- Because QtXlsx is no longer supported, I created a new project that os based on QtXlsx.
- Development language of QXlsx is C++.
- It is written for static library using Qt 5.x. (2017)
![](markdown.data/qt-64.png =32x32) ![](markdown.data/XLSX-64.png =32x32) ![](markdown.data/cxx.png =32x32)
License
- QXlsx is licensed under the MIT License https://opensource.org/licenses/MIT
- QtXlsx License (See Debao Zhang (2014) site) : https://github.com/dbzhang800/QtXlsxWriter
- Qt License (See Qt Company site) : https://www.qt.io/
Sample (Hello excel)
Writing excel file
QXlsx::Document xlsx;
xlsx.write("A1", "Hello Qt!"); // write "Hello Qt!" to cell(A,1). it's shared string.
xlsx.saveAs("Test.xlsx"); // save the document as 'Test.xlsx'
Reading excel file
Document xlsx("Test.xlsx"); // load excel file
if (!xlsx.isLoadPackage()) { // failed to load excel
return;
}
int row = 1; int col = 2;
Cell* cell = xlsx.cellAt(row, col); // get cell pointer. (row is 1. column is 2.)
if ( cell == NULL )
continue; // cell vaule is not set
QVariant var = cell->readValue(); // read cell value (number(double), QDateTime, QString ...)
qint32 styleNo = cell->styleNumber(); // read cell style number
if ( styleNo >= 0 )
qDebug() << row << " " << var << " , style:" << styleNo;
else
qDebug() << row << " " << var;
How to build
- Install Qt 5 from Qt Company (2017-)
- Clone github source code
git clone https://github.com/j2doll/QXlsx.git
- Build QXlsx project
cd QXlsx
qmake QXlsx.pro
make
- Build HelloExample
cd HelloExcel
Fix HelloExcel.pro for your own build environment
qmake HelloExcel.pro
make
- Run HelloExample
./HelloExample
Test environment
Test Environment is below.
- 5.9.2 (MingW/Windows 32bit)
- Qt 5.9.1 (Visual Studio 2017/Windows 64bit)
- Qt 5.9.1 (Visual Studio 2017/Windows 32bit)
- Qt 5.9.1 (MingW/Windows 32bit)
- Qt 5.9.1 (Ubuntu 16/Linux x64)
- Qt 5.6.0 (MingW/Windows 32bit)
- Qt 5.5.1 (MingW/Windows 32bit)
- Qt 5.5.0 (Ubuntu 17/Linux i686)
- Qt 5.2.0 (Ubuntu 14/Linux x64)
- Qt 5.0.1 (MingW/Windows 32bit)
To Test
The following tests should be performed.
- Microsoft Excel
- Google Spreadsheet
- LibreOffice Calc Spreasheet
Contacts
- j2doll@gmail.com
- Hi! I'm j2doll. My native language is not English and my English is not fluent. Please, use EASY English. :-)
Languages
C++
76.5%
C
20.3%
QMake
1.7%
CMake
1.3%
QML
0.1%