1
0
mirror of https://github.com/QtExcel/QXlsx.git synced 2025-01-30 05:02:52 +08:00
QXlsx/README.ko.md
2018-06-28 16:05:55 +09:00

92 lines
4.1 KiB
Markdown

# QXlsx
> *Read this in other languages: [English](README.md), :kr: [한국어](README.ko.md)*
<p align="center">
<img src="markdown.data/QXlsx2.jpg">
</p>
![](markdown.data/qxlsx-badge1.png)
* QXlsx는 엑셀 파일(*.xlsx)을 읽고 쓰는 라이브러리입니다.
* QtXlsx가 더이상 지원되지 않기 때문에(2014), QtXlsx에 기반한 새로운 프로젝트를 만들었습니다. (2017-)
* QXlsx는 개발언어로 C++를 사용합니다. (Qt 5.x 사용)
* QXlsx는 정적 또는 동적 라이브러리를 사용하지 않아도 되도록 제작되었습니다.
## 활용 예제 (Hello excel)
### :one: 엑셀(xlsx) 파일 쓰기
```cpp
QXlsx::Document xlsx;
xlsx.write("A1", "Hello Qt!"); // 셀(A,1)에 'Hello Qt!'값을 설정. 공유 문자열 타입으로 설정됨.
xlsx.saveAs("Test.xlsx"); // 'Test.xlsx'라는 이름으로 엑셀 파일을 저장.
```
### :two: 엑셀(xlsx) 파일 읽기
```cpp
Document xlsx("Test.xlsx"); // 엑셀 파일 읽기
if (!xlsx.isLoadPackage()) {
return; // 엑셀 파일 읽기 실패
}
int row = 1; int col = 2;
Cell* cell = xlsx.cellAt(row, col); // Cell의 pointer를 얻음 (행(row)는 1번째, 열(column)은 2번째)
if ( cell == NULL )
continue; // 해당 행렬의 cell값이 설정되어 있지 않음
QVariant var = cell->readValue(); // 셀값을 읽음 (숫자(double), 날자(QDateTime), 문자열(QString) ...)
qDebug() << var; // 값 표시
```
## 설정하는 방법
* [QXlsx 프로젝트 설정하는 방법](HowToSetProject.ko.md)을 참조하세요.
## 테스트 환경
| Qt | Tool | OS | Build |
| --------- | ---------------- | -------------- | ------- |
| Qt 5.10.1 | MingW | Windows 32bit | :smile: |
| Qt 5.9.2 | MingW | Windows 32bit | :smile: |
| Qt 5.9.1 | Visual Studio 2017 | Windows 64bit | :smile: |
| Qt 5.9.1 | Visual Studio 2017 | Windows 32bit | :smile: |
| Qt 5.9.1 | MingW | Windows 32bit | :smile: |
| Qt 5.9.1 | gcc+make | Ubuntu 16/x64 | :smile: |
| Qt 5.6.0 | MingW | Windows 32bit | :smile: |
| Qt 5.5.1 | MingW | Windows 32bit | :smile: |
| Qt 5.5.0 | gcc+make | Ubuntu 17/i686 | :smile: |
| Qt 5.2.0 | gcc+make | Ubuntu 14/x64 | :smile: |
| Qt 5.0.1 | MingW | Windows 32bit | :smile: |
## 테스트 할 일
- 다음과 같은 테스트들이 수행되어야 합니다.
- 마이크로소프트 엑셀
- 구글 스프레드쉬트
- 리브레오피스 캘크 스프레드시트
![](markdown.data/LibreOffice-Google-XLSX.png)
- 유니코드 테스트 ( :cloud: 파일 이름, :cloud: 파일 경로, :sunny: 자료값)
## 업그레이드 할 일
- xlsx의 암복호화 기능 개발
- Android에서 빌드 및 테스트
## 라이센스와 링크
* ![](markdown.data/mit-license.png) QXlsx [https://github.com/j2doll/QXlsx](https://github.com/j2doll/QXlsx)
* ![](markdown.data/mit-license.png) QtXlsx License (See Debao Zhang (2014) site) [https://github.com/dbzhang800/QtXlsxWriter](https://github.com/dbzhang800/QtXlsxWriter)
* Qt License (See Qt Company site) [https://www.qt.io/](https://www.qt.io/)
## :email: 문의
* 이슈를 남겨 주세요. [https://github.com/j2doll/QXlsx/issues](https://github.com/j2doll/QXlsx/issues)
* 프로젝트 참여에 관심이 있으신 분은 이슈로 연락주세요.
## 유사한 프로젝트
* :star: Qxlnt [https://github.com/j2doll/Qxlnt](https://github.com/j2doll/Qxlnt)
- Qxlnt는 xlnt가 Qt에서 사용될 수있게 해주는 도우미 프로젝트입니다.
- xlnt는 xlsx Excel 파일을 사용하기에 훌륭한 라이브러리입니다.
- xlnt를 Qt에서 사용하기 쉬운 방법을 찾고 있었습니다. 물론 cmake는 Qt와 호환되지만 사용하기가 쉽지 않습니다. 그래서 Qxlnt를 만들었습니다.
* :star: Qlibxlsxwriter [https://github.com/j2doll/Qlibxlsxwriter](https://github.com/j2doll/Qlibxlsxwriter)
- Qlibxlsxwriter는 libxlsxwriter를 Qt에서 사용할 수있는 도우미 프로젝트입니다.
- libxlsxwriter는 Excel XLSX 파일을 만들기위한 C 라이브러리 입니다.