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 로 디스크에 저장합니다put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_value 를 통해 캐시된 결과와 함께 수식을 작성합니다display_string_value 및 value_type 으로 값을 다시 읽어옵니다get, get_by_index)CellStyle를 통한 셀 스타일링 (Font, Fill, 및 Borders 포함)StyleFlag를 사용한 지정된 스타일 업데이트 적용NumberFormat을 통한 숫자 형식 지정PageSetup을 통한 인쇄 및 페이지 레이아웃 (용지 크기, 방향, 여백)FreezePane으로 창 고정; 행/열 가시성 제어ChartType을 사용하여 열, 선 및 기타 차트 유형을 추가Chart, ChartCollection)Picture로 이미지를 삽입하고 Shape으로 도형을 그리기SparklineGroup으로 셀 내 트렌드를 압축FormatCondition을 통한 조건부 서식 규칙OperatorType이 포함된 Validation을 통한 데이터 유효성 검사 규칙AutoFilter를 통한 자동 필터; ListObject를 통한 구조화된 테이블DefinedName을 통한 정의된 이름; WorkbookProtection 및 WorksheetProtection을 통한 보호LoadOptions 복구 플래그와 LoadDiagnostics를 사용한 강력한 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(())
}
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,
)?;
이 크레이트는 MIT License 하에 배포됩니다; 전체 텍스트는 저장소에 LICENSE.txt 파일로 포함되어 있습니다.
예. MIT License는 저작권 및 라이선스 고지를 유지하는 조건으로 상업적 사용, 수정 및 재배포를 허용합니다.
aspose-cells-foss-rust를 Cargo.toml에 GitHub 저장소에서 가져오는 git 의존성으로 추가하십시오.
XLSX는 Workbook::load_xlsx와 save를 통해 전체 라운드트립 읽기 및 쓰기를 지원합니다. 현재 릴리스에서는 다른 스프레드시트 형식을 지원하지 않습니다.
아니요. 이 라이브러리는 XLSX 패키지 형식을 직접 읽고 씁니다 — Office 설치, COM 자동화 또는 외부 런타임이 필요하지 않습니다.