1
0
mirror of https://github.com/QtExcel/QXlsx.git synced 2025-01-16 04:42:53 +08:00
QXlsx/README.ko.md

95 lines
3.0 KiB
Markdown
Raw Normal View History

2017-10-08 15:42:29 +09:00
# QXlsx
2017-08-20 17:04:40 +09:00
2017-10-05 13:42:55 +09:00
> *Read this in other languages: [English](README.md), [한국어](README.ko.md)*
2017-08-20 17:04:40 +09:00
2018-04-19 16:17:18 +09:00
![](markdown.data/IMG_0016.PNG)
2017-10-05 14:35:35 +09:00
2017-10-05 13:42:55 +09:00
## 엑셀 읽기/쓰기 라이브러리
2018-04-19 16:17:18 +09:00
* QXlsx는 엑셀 파일(*.xlsx)을 읽고 쓰는 라이브러리입니다.
* QtXlsx가 더이상 지원되지 않기 때문에, QtXlsx에 기반한 새로운 프로젝트를 만들었습니다.
* QXlsx는 개발언어로 C++를 사용합니다.
* QXlsx는 Qt 5.x를 사용하는 정적 라이브러리로 제작되었습니다. (2017)
2018-04-19 16:36:59 +09:00
2018-04-19 16:54:42 +09:00
![](markdown.data/comp.png)
2017-08-20 18:44:16 +09:00
2018-04-19 16:17:18 +09:00
## 라이선스
* QXlsx는 MIT 라이선스를 사용합니다 : https://opensource.org/licenses/MIT
* QtXlsx 라이선스는 Debao Zhang(2014) 싸이트를 참조하십시오. https://github.com/dbzhang800/QtXlsxWriter
* Qt 라이선스는 Qt Company 싸이트를 참조하십시오. https://www.qt.io/developers/
2017-08-20 17:03:24 +09:00
2018-04-19 16:17:18 +09:00
## 활용 예제 (Hello excel)
2018-04-19 16:36:59 +09:00
2018-04-19 17:01:22 +09:00
### 엑셀(xlsx) 파일 쓰기
2017-10-09 21:08:32 +09:00
```cpp
QXlsx::Document xlsx;
2017-10-17 18:44:32 +09:00
xlsx.write("A1", "Hello Qt!"); // 셀(A,1)에 'Hello Qt!'값을 설정. 공유 문자열 타입으로 설정됨.
xlsx.saveAs("Test.xlsx"); // 'Test.xlsx'라는 이름으로 엑셀 파일을 저장.
2017-10-09 21:08:32 +09:00
```
2018-04-19 16:36:59 +09:00
2018-04-19 17:01:22 +09:00
### 엑셀(xlsx) 파일 읽기
2017-10-09 21:08:32 +09:00
```cpp
2017-10-17 19:04:27 +09:00
Document xlsx("Test.xlsx"); // 엑셀 파일 읽기
if (!xlsx.isLoadPackage()) { // 엑셀 파일 읽기 실패
2017-10-21 16:41:24 +09:00
return;
2017-10-17 19:04:27 +09:00
}
int row = 1; int col = 2;
Cell* cell = xlsx.cellAt(row, col); // Cell의 pointer를 얻음 (행(row)는 1번째, 열(column)은 2번째)
2017-10-09 21:08:32 +09:00
if ( cell == NULL )
2017-10-21 16:41:24 +09:00
continue; // 해당 행렬의 cell값이 설정되어 있지 않음
2017-10-17 18:44:32 +09:00
QVariant var = cell->readValue(); // 셀값을 읽음 (숫자(double), 날자(QDateTime), 문자열(QString) ...)
qint32 styleNo = cell->styleNumber(); // 셀의 스타일 번호를 읽음
2017-10-09 21:08:32 +09:00
if ( styleNo >= 0 )
qDebug() << row << " " << var << " , style:" << styleNo;
else
qDebug() << row << " " << var;
```
## 빌드하는 방법
2018-04-19 16:17:18 +09:00
* Qt 5 설치. [Qt Company](https://www.qt.io) (2017-)
* github 소스 코드 클론
```sh
git clone https://github.com/j2doll/QXlsx.git
```
* QXlsx 프로젝트 빌드
```sh
cd QXlsx
qmake QXlsx.pro
make
```
* HelloExample 빌드
```sh
cd HelloExcel
Fix HelloExcel.pro for your own build environment
qmake HelloExcel.pro
make
```
* HelloExample 실행
```sh
./HelloExample
```
2017-10-09 21:08:32 +09:00
2017-08-20 17:09:07 +09:00
## 테스트 환경
2018-04-19 16:36:59 +09:00
테스트된 환경은 다음과 같습니다.
- 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)
2018-04-19 16:17:18 +09:00
## 테스트 할 일
다음과 같은 테스트들이 수행되어야 합니다.
- 마이크로소프트 엑셀
- 구글 스프레드쉬트
- 리브레오피스 캘크 스프레드시트
2017-10-17 18:44:32 +09:00
2018-04-19 16:17:18 +09:00
![](markdown.data/LibreOffice-Google-XLSX.png)
2017-10-17 18:50:46 +09:00
2017-09-02 14:30:31 +09:00
## 문의
2018-04-19 17:14:23 +09:00
* [https://github.com/j2doll/QXlsx](https://github.com/j2doll/QXlsx)
* [j2doll@gmail.com](mailto:j2doll@gmail.com)