Arbeiten mit Excel in Rust: Bibliotheken und Codebeispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeiten mit Excel in Rust: Bibliotheken und Codebeispiele

Die Sprache Rust, bekannt für ihre Leistung und Sicherheit, eignet sich hervorragend für die Verarbeitung von Tabellendaten. Wenn Sie Excel-Dateien (Formate .xlsx, .xls) lesen, erstellen oder bearbeiten müssen, gibt es im Rust-Ökosystem mehrere ausgereifte Bibliotheken. In diesem Artikel betrachten wir drei wichtige: calamine (Lesen), rust_xlsxwriter (Schreiben) und xlsx (vollständiger Zyklus). Sie erfahren, wie Sie sie installieren, und sehen funktionierende Codebeispiele.



Bibliothek calamine – Lesen von Excel-Dateien

calamine ist eine schnelle und leichtgewichtige Bibliothek zum Lesen von Excel-Dateien (xlsx, xls, xlsb, ods). Sie erfordert keine Installation externer Abhängigkeiten und funktioniert „out of the box". Sie unterstützt das Lesen von Zellen, Blättern, Formeln und Metadaten.



Installation

[dependencies]calamine = "0.26"


Beispiel: Daten aus einer Datei lesen

use calamine::{open_workbook, Reader, Xlsx};

fn main() -> Result<(), Box<dyn std::error::Error>> { // Datei öffnen let mut workbook: Xlsx<_> = open_workbook("data.xlsx")?;

// Blatt nach Namen abrufen if let Some(Ok(range)) = workbook.worksheet_range("Sheet1") { for row in range.rows() { for cell in row { // Jede Zelle ist ein DataType match cell { calamine::Data::String(s) => print!("{} ", s), calamine::Data::Float(f) => print!("{} ", f), calamine::Data::Int(i) => print!("{} ", i), _ => print!("? "), } } println!(); } }

Ok(())}


Dieser Code öffnet die Datei data.xlsx, liest das Blatt Sheet1 und gibt alle Zellen zeilenweise aus. calamine erkennt automatisch den Datentyp (Zeichenkette, Zahl, Datum usw.).



Bibliothek rust_xlsxwriter – Erstellen und Schreiben von Excel

rust_xlsxwriter ist eine leistungsstarke Bibliothek zum Erstellen von xlsx-Dateien. Sie unterstützt Formatierung, Zellenverbindung, Diagramme, bedingte Formatierung und vieles mehr. Es ist das direkte Gegenstück zur Python-Bibliothek xlsxwriter.



Installation

[dependencies]rust_xlsxwriter = "0.76"


Beispiel: Erstellen eines einfachen Berichts

use rust_xlsxwriter::{Workbook, Format, Color};

fn main() -> Result<(), Box<dyn std::error::Error>> { let mut workbook = Workbook::new();

// Format für Überschriften erstellen let header_format = Format::new() .set_bold() .set_font_color(Color::White) .set_background_color(Color::Blue);

// Blatt hinzufügen let sheet = workbook.add_worksheet();

// Überschriften schreiben sheet.write_with_format(0, 0, "Name", &header_format)?; sheet.write_with_format(0, 1, "Alter", &header_format)?; sheet.write_with_format(0, 2, "Stadt", &header_format)?;

// Daten schreiben sheet.write(1, 0, "Anna")?; sheet.write(1, 1, 28)?; sheet.write(1, 2, "Moskau")?;

sheet.write(2, 0, "Ivan")?; sheet.write(2, 1, 35)?; sheet.write(2, 2, "Sankt Petersburg")?;

// In Datei speichern workbook.save("report.xlsx")?;

println!("Datei report.xlsx erfolgreich erstellt!"); Ok(())}


In diesem Beispiel erstellen wir eine Datei mit formatierten Überschriften (fetter Text, weiße Schrift auf blauem Hintergrund) und zwei Datenzeilen. rust_xlsxwriter unterstützt auch Diagramme, Bilder und Pivot-Tabellen.



Bibliothek xlsx – Vollständiger Zyklus (Lesen + Schreiben)

xlsx ist eine universelle Bibliothek, die sowohl das Lesen als auch das Erstellen von xlsx-Dateien ermöglicht. Sie ist weniger beliebt als

Empfehlungen