본문 바로가기

Rust

[RUST] xlsxwriter

반응형

RUST에서 excel형식의 파일을 생성할때는 xlsxwriter를 이용해서 작성한다 여기는 이 예제를 설명한다. 

 

cargo-edit 설치되어 있지않으면 cargo-edit를 먼저 설치 한다. 

cargo install cargo-edit

 

아래와 같이 xlsxwriter를 라이브러리에 추가 한다. 

cargo add xlsxwriter

 

cargo-add가 설치되어 있지 않으면 

Cargo.toml 파일을 아래와 같이 직접 수정한다. 

 

[dependencies]
xlsxwriter = "0.6.0"

 

아래와 같이 작성하고 컴파일을 진행한다. 

use xlsxwriter::*;

fn main() -> Result<(), XlsxError> {
    let workbook  = Workbook::new("simple.xlsx")?;
    let mut worksheet = workbook.add_worksheet(None)?;

    worksheet.write_string(0, 0, "Hello", None)?;
    worksheet.write_string(1, 0, "World", None)?;
    worksheet.write_number(2, 0, 123.456, None)?;
    worksheet.write_blank(3, 0, None)?;
    workbook.close()?;

    Ok(())
}



위의 코드는 "simple.xlsx"라는 이름의 새로운 워크북을 만들고, 그 워크북에 워크시트를 추가한다. 그 워크시트에는 문자열과 숫자를 쓴 다음, 마지막으로 워크북을 저장하고 닫는다.

write_string, write_number, write_blank 같은 메소드들은 각각 문자열, 숫자, 빈 셀을 쓰는 데 사용된다. 각 메소드의 첫 번째 인자는 행의 인덱스고, 두 번째 인자는 열의 인덱스다. 인덱스는 0부터 시작한다.

xlsxwriter 라이브러리는 이 외에도 텍스트의 서식을 설정하거나, 차트를 추가하는 등 다양한 기능을 제공하므로, 라이브러리의 문서를 확인하면 더 많은 정보를 얻을 수 있다.

반응형

'Rust' 카테고리의 다른 글

[Rust] Clap과 커맨드 라인 argument 다루기  (0) 2023.09.07
[Rust] Cargo 간단한 사용법  (0) 2023.09.05
[Rust] 제어문 If-else, while, do-while  (0) 2022.10.18
[Rust] string과 str의 차이점은?  (0) 2022.10.11
[Rust] 벡터 (Vector)  (0) 2022.10.03