1. 제품
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Rust용 Aspose.Cells FOSS

Office 의존성 없이 Excel XLSX 스프레드시트를 생성, 읽기, 편집 및 저장하기 위한 오픈소스 Rust crate.

Aspose.Cells FOSS — 오픈 소스 Rust 라이브러리

Aspose.Cells FOSS for Rust은 Rust 애플리케이션에서 Excel XLSX 스프레드시트를 다루기 위한 오픈 소스 라이브러리입니다. 시스템 프로그래머에게 원시부터 워크북을 생성하고, 기존 XLSX 파일을 로드하며, 내용을 수정하고, 결과를 저장할 수 있는 네이티브하고 메모리 안전한 방법을 제공하며—Microsoft Office, COM 자동화 또는 외부 런타임 없이 사용할 수 있습니다.

이 크레이트는 전체 스프레드시트 객체 트리를 모델링합니다: Workbook, Worksheet 및 타입이 지정된 값 설정자(put_value_string, put_value_i32, put_value_bool, put_value_decimal)를 가진 셀 컬렉션, put_formula_with_cached_value를 통한 캐시된 값이 있는 수식, 차트(Chart, ChartType), 조건부 서식(FormatCondition), 데이터 검증(Validation), 자동 필터(AutoFilter), 셀 스타일링(CellStyle, Font, Fill, Borders), 페이지 설정(PageSetup), 그림, 도형, 주석, 하이퍼링크, 테이블(ListObject), 스파크라인(SparklineGroup), 정의된 이름, 그리고 워크북/워크시트 보호를 지원합니다.

Aspose.Cells FOSS for Rust은 MIT 라이선스를 따르며 Rust edition 2021을 목표로 합니다. GitHub 저장소에서 표준 Cargo 의존성으로 설치됩니다 — 정확한 Cargo.toml 항목은 설치 가이드를 참조하십시오. 오류는 기존 Result 타입(CellsError)을 통해 표출되며, XLSX 로딩은 구조화된 진단(LoadDiagnostics)과 함께 복구 옵션(LoadOptions)을 제공합니다. 엔터프라이즈 제품군에 대해서는 Aspose.Cells — Enterprise Product Family를 참조하십시오.

통합 문서 및 워크시트 관리

  • Workbook::new 로 빈 워크북을 만들거나 Workbook::load_xlsx 로 기존 파일을 로드합니다
  • add_worksheet, worksheet, 및 가변 워크시트 컬렉션을 통해 시트를 추가하고 접근합니다
  • save, save_xlsx 또는 형식 명시적 save_with_format 로 디스크에 저장합니다
  • 워크북 뷰, 설정 및 문서 속성을 제어합니다

어디에 맞는가

  • Office가 설치되지 않은 상태에서 XLSX 보고서를 생성하는 백엔드 서비스
  • 스프레드시트를 일괄 생성하거나 후처리하는 CLI 도구
  • 비즈니스 사용자를 위한 표형 결과를 내보내는 Rust 데이터 파이프라인

셀 데이터, 수식 및 유형

  • 형식이 지정된 setter: put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_time
  • put_formula_with_cached_value 를 통해 캐시된 결과와 함께 수식을 작성합니다
  • display_string_value 및 value_type 으로 값을 다시 읽어옵니다
  • 셀을 A1 이름 또는 행/열 인덱스로 지정합니다 (get, get_by_index)

실용적인 용도

  • 올바른 캐시된 값을 가진 채로 열려야 하는 수식이 포함된 재무 내보내기
  • 타입이 지정된 열이 있는 데이터 입력 템플릿
  • 사용자가 제공한 워크북의 라운드트립 편집

스타일링 및 레이아웃

  • CellStyle를 통한 셀 스타일링 (Font, Fill, 및 Borders 포함)
  • StyleFlag를 사용한 지정된 스타일 업데이트 적용
  • NumberFormat을 통한 숫자 형식 지정
  • PageSetup을 통한 인쇄 및 페이지 레이아웃 (용지 크기, 방향, 여백)
  • FreezePane으로 창 고정; 행/열 가시성 제어

왜 중요한가

  • Rust 서비스에서 직접 제공되는 브랜드화된 인쇄 준비 보고서
  • 적절한 숫자 및 날짜 형식이 적용된 가독성 높은 내보내기
  • 고정된 헤더 행으로 탐색 가능한 대형 시트

차트, 그림 및 도형

  • 시트의 차트 컬렉션에서 ChartType을 사용하여 열, 선 및 기타 차트 유형을 추가
  • 로드된 파일에서 차트 앵커와 유형을 다시 읽기 (Chart, ChartCollection)
  • Picture로 이미지를 삽입하고 Shape으로 도형을 그리기
  • SparklineGroup으로 셀 내 트렌드를 압축

사용 사례

  • 일정에 따라 생성된 대시보드 및 KPI 워크북
  • 원시 데이터 옆에 삽입된 시각적 요약
  • 데이터 범위에서 자동 차트 배치

데이터 분석 및 보호

  • FormatCondition을 통한 조건부 서식 규칙
  • OperatorType이 포함된 Validation을 통한 데이터 유효성 검사 규칙
  • AutoFilter를 통한 자동 필터; ListObject를 통한 구조화된 테이블
  • DefinedName을 통한 정의된 이름; WorkbookProtection 및 WorksheetProtection을 통한 보호
  • LoadOptions 복구 플래그와 LoadDiagnostics를 사용한 강력한 XLSX 로드

누가 혜택을 받나요

  • 검증된 데이터 입력 워크북을 배포하는 팀
  • 복구가 필요할 수 있는 서드파티 XLSX 파일을 수집하는 서비스
  • 사전 필터링되고 보호된 보고서를 받는 분석가

워크북 만들기, 저장 및 다시 로드

워크북을 생성하고, 타입이 지정된 값을 쓰며 캐시된 결과를 가진 수식을 작성한 뒤, XLSX로 저장하고 다시 로드합니다:

use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    let mut workbook = Workbook::new();
    {
        let mut worksheets = workbook.get_worksheets_mut();
        let sheet = worksheets.get(0)?;
        let mut cells = sheet.get_cells_mut();

        cells.get("A1")?.put_value_string("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

수리 옵션으로 XLSX 파일 로드

LoadOptions 복구 플래그를 사용하여 워크북을 방어적으로 열고 구조화된 로드 진단을 검사합니다:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

데이터 범위에서 차트 추가

데이터 범위를 채운 다음, 열 차트와 선 차트를 해당 범위에 고정합니다:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

자주 묻는 질문

Aspose.Cells FOSS for Rust는 어떤 라이선스를 사용합니까?

이 크레이트는 MIT License 하에 배포됩니다; 전체 텍스트는 저장소에 LICENSE.txt 파일로 포함되어 있습니다.

상업용 제품에 사용할 수 있나요?

예. MIT License는 저작권 및 라이선스 고지를 유지하는 조건으로 상업적 사용, 수정 및 재배포를 허용합니다.

크레이트를 어떻게 설치하나요?

aspose-cells-foss-rust를 Cargo.toml에 GitHub 저장소에서 가져오는 git 의존성으로 추가하십시오.

어떤 형식을 읽고 쓸 수 있나요?

XLSX는 Workbook::load_xlsx와 save를 통해 전체 라운드트립 읽기 및 쓰기를 지원합니다. 현재 릴리스에서는 다른 스프레드시트 형식을 지원하지 않습니다.

Microsoft Office가 필요합니까?

아니요. 이 라이브러리는 XLSX 패키지 형식을 직접 읽고 씁니다 — Office 설치, COM 자동화 또는 외부 런타임이 필요하지 않습니다.

  

지원 및 학습 자료

 한국어