Rust में Excel के साथ काम करना: लाइब्रेरीज़ और कोड उदाहरण
Rust भाषा, जो अपने प्रदर्शन और सुरक्षा के लिए जानी जाती है, सारणीबद्ध डेटा को संसाधित करने के लिए बहुत उपयुक्त है। यदि आपको Excel फ़ाइलों (प्रारूप .xlsx, .xls) को पढ़ने, बनाने या संपादित करने की आवश्यकता है, तो Rust के इकोसिस्टम में कई परिपक्व लाइब्रेरीज़ हैं। इस लेख में हम तीन मुख्य लाइब्रेरीज़ पर विचार करेंगे: calamine (पढ़ना), rust_xlsxwriter (लिखना) और xlsx (पूरा चक्र)। आप सीखेंगे कि उन्हें कैसे स्थापित करें और कार्यशील कोड उदाहरण देखेंगे।
calamine लाइब्रेरी — Excel फ़ाइलें पढ़ना
calamine Excel फ़ाइलों (xlsx, xls, xlsb, ods) को पढ़ने के लिए एक तेज़ और हल्की लाइब्रेरी है। इसे बाहरी निर्भरताओं की स्थापना की आवश्यकता नहीं है और यह 'बॉक्स से बाहर' काम करती है। यह सेल, शीट, फ़ॉर्मूले और मेटाडेटा पढ़ने का समर्थन करती है।
स्थापना
[dependencies]calamine = "0.26"उदाहरण: फ़ाइल से डेटा पढ़ना
use calamine::{open_workbook, Reader, Xlsx};
fn main() -> Result<(), Box<dyn std::error::Error>> { // फ़ाइल खोलें let mut workbook: Xlsx<_> = open_workbook("data.xlsx")?;
// नाम से शीट प्राप्त करें if let Some(Ok(range)) = workbook.worksheet_range("Sheet1") { for row in range.rows() { for cell in row { // प्रत्येक सेल एक DataType है match cell { calamine::Data::String(s) => print!("{} ", s), calamine::Data::Float(f) => print!("{} ", f), calamine::Data::Int(i) => print!("{} ", i), _ => print!("? "), } } println!(); } }
Ok(())}यह कोड data.xlsx फ़ाइल खोलता है, Sheet1 शीट पढ़ता है और सभी सेल को पंक्ति दर पंक्ति प्रदर्शित करता है। calamine स्वचालित रूप से डेटा प्रकार (स्ट्रिंग, संख्या, दिनांक आदि) निर्धारित करता है।
rust_xlsxwriter लाइब्रेरी — Excel बनाना और लिखना
rust_xlsxwriter xlsx फ़ाइलें बनाने के लिए एक शक्तिशाली लाइब्रेरी है। यह फ़ॉर्मेटिंग, सेल मर्ज करना, चार्ट, सशर्त फ़ॉर्मेटिंग और बहुत कुछ का समर्थन करती है। यह Python लाइब्रेरी xlsxwriter का सीधा समकक्ष है।
स्थापना
[dependencies]rust_xlsxwriter = "0.76"उदाहरण: एक सरल रिपोर्ट बनाना
use rust_xlsxwriter::{Workbook, Format, Color};
fn main() -> Result<(), Box<dyn std::error::Error>> { let mut workbook = Workbook::new();
// हेडर के लिए फ़ॉर्मेट बनाएँ let header_format = Format::new() .set_bold() .set_font_color(Color::White) .set_background_color(Color::Blue);
// शीट जोड़ें let sheet = workbook.add_worksheet();
// हेडर लिखें sheet.write_with_format(0, 0, "नाम", &header_format)?; sheet.write_with_format(0, 1, "आयु", &header_format)?; sheet.write_with_format(0, 2, "शहर", &header_format)?;
// डेटा लिखें sheet.write(1, 0, "अन्ना")?; sheet.write(1, 1, 28)?; sheet.write(1, 2, "मॉस्को")?;
sheet.write(2, 0, "इवान")?; sheet.write(2, 1, 35)?; sheet.write(2, 2, "सेंट पीटर्सबर्ग")?;
// फ़ाइल में सहेजें workbook.save("report.xlsx")?;
println!("फ़ाइल report.xlsx सफलतापूर्वक बनाई गई!"); Ok(())}इस उदाहरण में हम फ़ॉर्मेटेड हेडर (बोल्ड टेक्स्ट, नीली पृष्ठभूमि पर सफ़ेद फ़ॉन्ट) और डेटा की दो पंक्तियों वाली एक फ़ाइल बनाते हैं। rust_xlsxwriter चार्ट, चित्र और पिवट टेबल का भी समर्थन करता है।
xlsx लाइब्रेरी — पूरा चक्र (पढ़ना + लिखना)
xlsx एक बहुमुखी लाइब्रेरी है जो xlsx फ़ाइलों को पढ़ने और बनाने दोनों की अनुमति देती है। यह कम लोकप्रिय है, लेकिन
पुस्तकालय में भी
Go में मशीन लर्निंग: Golang के लिए ML, न्यूरल नेटवर्क और NLP लाइब्रेरी
Go में PDF रिपोर्ट जनरेशन: लाइब्रेरीज़ का अवलोकन और कोड उदाहरण
WebSocket लाइब्रेरी Java: Tyrus — वास्तविक समय के लिए JSR 356 का कार्यान्वयन
PHP में प्रमाणीकरण और प्राधिकरण: पूर्ण गाइड उदाहरण सहित