Rust में Excel के साथ काम करना: लाइब्रेरीज़ का अवलोकन और कोड उदाहरण
Rust भाषा, जो अपनी प्रदर्शन क्षमता और सुरक्षा के लिए जानी जाती है, Excel स्प्रेडशीट के साथ काम करने के लिए उत्कृष्ट अवसर प्रदान करती है। इस लेख में हम तीन सबसे लोकप्रिय लाइब्रेरीज़: rust_xlsxwriter, calamine और xlsx पर विचार करेंगे। आप सीखेंगे कि .xlsx फ़ॉर्मेट की फ़ाइलों को कैसे पढ़ें, बनाएं और संशोधित करें, साथ ही उन्नत फ़ॉर्मेटिंग फ़ंक्शनों को कैसे लागू करें।
Excel के साथ काम करने के लिए Rust क्यों?
Rust डेटा प्रोसेसिंग कार्यों के लिए आदर्श है, इसके कारण:
- शून्य-लागत एब्स्ट्रैक्शन — बड़ी फ़ाइलों के साथ उच्च गति;
- मेमोरी के साथ सुरक्षित कार्य — लीक और segmentation faults का उन्मूलन;
- क्रॉस-प्लेटफ़ॉर्म — कोड Windows, macOS और Linux पर काम करता है;
- FFI के माध्यम से अन्य सिस्टम के साथ उत्कृष्ट एकीकरण।
rust_xlsxwriter लाइब्रेरी: Excel फ़ाइलें बनाना
rust_xlsxwriter — यह एक आधुनिक लाइब्रेरी है जो समृद्ध फ़ॉर्मेटिंग क्षमताओं के साथ Excel फ़ाइलें बनाने के लिए है। यह स्टाइल, सेल मर्जिंग, फ़ॉर्मूले और सशर्त फ़ॉर्मेटिंग का समर्थन करती है।
स्थापना
Cargo.toml में जोड़ें:
[dependencies]rust_xlsxwriter = "0.77"उदाहरण: फ़ॉर्मेटिंग के साथ रिपोर्ट बनाना
हेडर, डेटा और फ़ॉर्मूले के साथ एक फ़ाइल बनाएं:
use rust_xlsxwriter::*;
fn main() -> Result<(), XlsxError> { let mut workbook = Workbook::new(); let worksheet = workbook.add_worksheet();
// स्टाइल बनाएं let header_format = Format::new() .set_bold() .set_font_color(Color::White) .set_background_color(Color::Blue) .set_border(FormatBorder::Thin);
let money_format = Format::new() .set_num_format("$#,##0.00") .set_border(FormatBorder::Thin);
// हेडर worksheet.write_with_format(0, 0, "उत्पाद", &header_format)?; worksheet.write_with_format(0, 1, "मात्रा", &header_format)?; worksheet.write_with_format(0, 2, "मूल्य", &header_format)?; worksheet.write_with_format(0, 3, "कुल", &header_format)?;
// डेटा let items = vec![ ("लैपटॉप", 5, 1200.00), ("माउस", 10, 25.50), ("कीबोर्ड", 7, 45.00), ];
for (i, (name, qty, price)) in items.iter().enumerate() { let row = i as u32 + 1; worksheet.write(row, 0, name)?; worksheet.write(row, 1, *qty)?; worksheet.write_with_format(row, 2, *price, &money_format)?; // फ़ॉर्मूला: मात्रा * मूल्य worksheet.write_formula(row, 3, &format!("B{}*C{}", row+1, row+1))?; }
// कॉलम की ऑटो-चौड़ाई worksheet.set_column_width(0, 15)?; worksheet.set_column_width(1, 12)?; worksheet.set_column_width(2, 10)?; worksheet.set_column_width(3, 12)?;
workbook.save("report.xlsx")?; println!("फ़ाइल report.xlsx बनाई गई!"); Ok(())}calamine लाइब्रेरी: Excel फ़ाइलें पढ़ना
calamine — यह Excel फ़ाइलों (.xlsx, .xls, .xlsb) को पढ़ने के लिए एक तेज़ पार्सर है। इसे स्थापित Excel की आवश्यकता नहीं है और यह पूरी तरह से मेमोरी में काम करता है।
स्थापना
[dependencies]calamine = "0.24"उदाहरण: फ़ाइल से डेटा पढ़ना
पहले बनाई गई फ़ाइल को पढ़ें और डेटा को कंसोल पर प्रदर्शित करें:
use calamine::{open_workbook, Reader, Xlsx};
fn main() -> Result<(), Box> { let path = "report.xlsx"; let mut workbook: Xlsx<_> = open_workbook(path)?;
if let Some(Ok(range)) = workbook.worksheet_range("Sheet1") { println!("फ़ाइल {} की सामग्री:", path); println!("{:-<40}", "");
for row in range.rows() { for cell in row { match cell { calamine::Data::Stri