1. ผลิตภัณฑ์
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Aspose.Cells FOSS สำหรับ Rust

Open-source Rust crate สำหรับการสร้าง, อ่าน, แก้ไข, และบันทึกสเปรดชีต Excel XLSX โดยไม่มีการพึ่งพา Office

Aspose.Cells FOSS — ไลบรารี Rust แบบโอเพนซอร์ส

Aspose.Cells FOSS for Rust เป็นไลบรารีโอเพ่นซอร์สสำหรับทำงานกับสเปรดชีต Excel XLSX ในแอปพลิเคชัน Rust ให้โปรแกรมเมอร์ระบบวิธีเนทีฟที่ปลอดภัยต่อหน่วยความจำในการสร้าง workbook ตั้งแต่ต้น โหลดไฟล์ XLSX ที่มีอยู่ แก้ไขเนื้อหา และบันทึกผลลัพธ์ — โดยไม่ต้องใช้ Microsoft Office, COM automation หรือ runtime ภายนอกใด ๆ

The crate models the full spreadsheet object tree: Workbook, Worksheet, and cell collections with typed value setters (put_value_string, put_value_i32, put_value_bool, put_value_decimal), formulas with cached values via put_formula_with_cached_value, charts (Chart, ChartType), conditional formatting (FormatCondition), data validation (Validation), auto-filters (AutoFilter), cell styling (CellStyle, Font, Fill, Borders), page setup (PageSetup), pictures, shapes, comments, hyperlinks, tables (ListObject), sparklines (SparklineGroup), defined names, and workbook/worksheet protection.

Aspose.Cells FOSS for Rust มีสัญญาอนุญาต MIT และมุ่งเป้าไปที่ Rust edition 2021 มันติดตั้งเป็นการพึ่งพา Cargo มาตรฐานจากรีโพซิทอรี GitHub — ดูคู่มือการติดตั้งสำหรับรายการ Cargo.toml ที่แม่นยำ ข้อผิดพลาดจะถูกแสดงผ่านประเภท Result แบบดั้งเดิม (CellsError) และการโหลด XLSX มีตัวเลือกการซ่อมแซม (LoadOptions) พร้อมการวินิจฉัยแบบมีโครงสร้าง (LoadDiagnostics). สำหรับตระกูลผลิตภัณฑ์ระดับองค์กร, ดู Aspose.Cells — Enterprise Product Family.

การจัดการ Workbook และ Worksheet

  • สร้าง workbook ว่างด้วย Workbook::new หรือโหลดไฟล์ที่มีอยู่ด้วย Workbook::load_xlsx
  • เพิ่มและเข้าถึงแผ่นงานผ่าน add_worksheet, worksheet และคอลเลกชันแผ่นงานแบบ mutable
  • บันทึกลงดิสก์ด้วย save, save_xlsx หรือ save_with_format ที่ระบุรูปแบบอย่างชัดเจน
  • ควบคุมมุมมอง workbook, การตั้งค่า, และคุณสมบัติของเอกสาร

ที่มันเหมาะสม

  • บริการแบ็กเอนด์ที่สร้างรายงาน XLSX โดยไม่ต้องติดตั้ง Office
  • เครื่องมือ CLI ที่ผลิตเป็นชุดหรือประมวลผลต่อสเปรดชีต
  • ท่อข้อมูล Rust ที่ส่งออกผลลัพธ์แบบตารางให้ผู้ใช้ธุรกิจ

ข้อมูลเซลล์, สูตร, และประเภท

  • ตัวตั้งค่าแบบพิมพ์: 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 ในคอลเลกชันแผนภูมิของแผ่นงาน
  • อ่าน anchor ของแผนภูมิและประเภทจากไฟล์ที่โหลด (Chart, ChartCollection)
  • ฝังภาพด้วย Picture และรูปร่างการวาดด้วย Shape
  • บีบอัดแนวโน้มในเซลล์ด้วย SparklineGroup

กรณีการใช้งาน

  • แดชบอร์ดและสมุดงาน KPI ที่สร้างตามกำหนดเวลา
  • สรุปภาพที่ฝังอยู่ข้างข้อมูลดิบ
  • การวางแผนภูมิอัตโนมัติจากช่วงข้อมูล

การวิเคราะห์ข้อมูลและการปกป้อง

  • กฎการจัดรูปแบบตามเงื่อนไขผ่าน FormatCondition
  • กฎการตรวจสอบข้อมูลผ่าน Validation พร้อม OperatorType
  • ตัวกรองอัตโนมัติผ่าน AutoFilter; ตารางที่มีโครงสร้างผ่าน ListObject
  • ชื่อที่กำหนดผ่าน DefinedName; การป้องกันผ่าน WorkbookProtection และ WorksheetProtection
  • การโหลด XLSX อย่างแข็งแรงด้วยแฟล็กการซ่อมแซมของ LoadOptions และ LoadDiagnostics

ใครได้รับประโยชน์

  • ทีมที่จัดส่งสมุดงานการป้อนข้อมูลที่ตรวจสอบแล้ว
  • บริการที่รับไฟล์ XLSX จากบุคคลภายนอกซึ่งอาจต้องการการซ่อมแซม
  • นักวิเคราะห์ที่ได้รับรายงานที่ผ่านการกรองล่วงหน้าและได้รับการปกป้อง

สร้าง, บันทึก และโหลดซ้ำ Workbook

สร้างเวิร์กบุ๊ก, เขียนค่าที่มีประเภทและสูตรพร้อมผลลัพธ์ที่แคชไว้, บันทึกเป็น 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 ใช้คืออะไร?

crate นี้ถูกปล่อยภายใต้ MIT License; ข้อความเต็มจะอยู่ใน repository เป็นไฟล์ LICENSE.txt.

ฉันสามารถใช้มันในผลิตภัณฑ์เชิงพาณิชย์ได้หรือไม่?

ใช่. ใบอนุญาต MIT อนุญาตการใช้เชิงพาณิชย์, การดัดแปลง, และการกระจายต่อ, โดยต้องคงไว้ข้อความลิขสิทธิ์และใบอนุญาต.

ฉันจะติดตั้ง crate อย่างไร?

เพิ่ม aspose-cells-foss-rust ไปยัง Cargo.toml ของคุณเป็นการพึ่งพาแบบ git จากที่เก็บ GitHub.

รูปแบบใดบ้างที่สามารถอ่านและเขียนได้?

XLSX, พร้อมการอ่านและเขียนแบบรอบเต็มผ่าน Workbook::load_xlsx และ save. รูปแบบสเปรดชีตอื่น ๆ ไม่ได้รับการสนับสนุนในเวอร์ชันปัจจุบัน.

ต้องการ Microsoft Office หรือไม่?

ไม่. ไลบรารีอ่านและเขียนรูปแบบแพ็กเกจ XLSX โดยตรง — ไม่ต้องมีการติดตั้ง Office, การทำงานอัตโนมัติของ COM หรือรันไทม์ภายนอกใด ๆ

  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย