स्प्रेडशीट प्रबंधन के साथ काम करना
स्प्रेडशीट प्रबंधन के साथ काम करना
स्प्रेडशीट प्रबंधन क्रेट की दैनिक वस्तु सतह को कवर करता है: वर्कशीट, सेल संग्रह, टाइप्ड मान, सूत्र, शैलीकरण, और संरचनात्मक विशेषताएँ जो एक वर्कबुक को उपयोगी बनाती हैं। प्रवेश बिंदु हमेशा एक Workbook होता है।
Worksheets
शीट्स को वर्कबुक के वर्कशीट संग्रह के माध्यम से प्रबंधित किया जाता है — पढ़ने का अभिगम get_worksheets के द्वारा, परिवर्तन get_worksheets_mut के द्वारा। शीट्स को अनुक्रमणिका (get(0)) या नाम (get_by_name) द्वारा संबोधित किया जाता है, set_name से नाम बदलते हैं, और add_worksheet से जोड़ा जाता है:
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Data")?;
}सेल अभिगम और टाइप्ड मान
सेल्स को A1-शैली या संख्यात्मक रूप से संबोधित किया जाता है। get_by_index(row, column) उत्पन्न लेआउट के लिए उपयुक्त है:
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
cells
.get_by_index(month, 0)
.put_value_string(format!("Month {month}"))?;
}पुनः पढ़ते समय, display_string_value प्रदर्शित पाठ लौटाता है और value_type संग्रहीत प्रकार की रिपोर्ट करता है।
फ़ॉर्मूले के साथ कैश्ड परिणाम
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;कैश्ड मान वह है जो Excel पहली पुनःगणना से पहले दिखाता है — इसे प्रदान करें ताकि फ़ाइल के उपयोगकर्ता तुरंत सही परिणाम देख सकें।
Styling
CellStyle एकत्रित करता है Font, Fill, और Borders; StyleFlag नियंत्रित करता है कि कौन से शैली पहलू एक अपडेट लागू करता है, इसलिए जहाँ आप ओवरराइड नहीं करते वहाँ मौजूदा फ़ॉर्मेटिंग संरक्षित रहती है। NumberFormat निर्धारित करता है कि मान कैसे प्रदर्शित होते हैं।
पेज सेटअप और नेविगेशन
PageSetup प्रिंट लेआउट को प्रबंधित करता है: PaperSizeType, PageOrientationType, और मार्जिन। FreezePane स्क्रॉल करते समय हेडर पंक्तियों को दृश्यमान रखता है, और पंक्ति और कॉलम की दृश्यता VisibilityType का उपयोग करती है।
संरचना: टेबल्स, नाम, टिप्पणियाँ, हाइपरलिंक्स
ListObjectएक रेंज को संरचित टेबल में बदलता है जिसमेंTableStyleTypeस्टाइलिंग औरTotalsCalculationकुल पंक्तियाँ होती हैं।DefinedNameऔरDefinedNameCollectionनामित रेंजेज़ को प्रबंधित करते हैं।Comment/CommentCollectionऔरHyperlink/HyperlinkCollectionएनोटेशन और नेविगेशन को कवर करते हैं।
टिप्स और सर्वश्रेष्ठ प्रथाएँ
- परिवर्तनीय उधार (
get_worksheets_mut,get_cells_mut) को एक स्कोप ब्लॉक के भीतर रखें; ब्लॉक बंद होने के बाद वर्कबुक सहेजें। - लूप और उत्पन्न लेआउट्स के लिए
get_by_indexका उपयोग करें; स्थिर स्थितियों के लिए A1 नाम। - अप्रासंगिक फ़ॉर्मेटिंग को अपरिवर्तित रखने के लिए
StyleFlagके साथ शैलियों को लागू करें। - पते को हार्ड-कोड करने के बजाय
DefinedNameके साथ महत्वपूर्ण रेंजेज़ का नाम रखें।
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
| वर्कबुक सहेजते समय उधार त्रुटि | परिवर्तनशील कार्यपत्र उधार अभी भी जीवित है | save को कॉल करने से पहले स्कोप ब्लॉक बंद करें |
| एक्सेल में सूत्र 0 दिखाता है | कोई संग्रहीत मान प्रदान नहीं किया गया | अपेक्षित परिणाम के साथ put_formula_with_cached_value का उपयोग करें |
| Sheet नहीं मिला | नाम मेल नहीं खाता | इंडेक्स द्वारा पता करें या set_name की वर्तनी जांचें |
FAQ
मैं दूसरा वर्कशीट कैसे जोड़ूँ?
वर्कबुक पर add_worksheet कॉल करें, फिर इसे वर्कशीट संग्रह के माध्यम से इंडेक्स या नाम द्वारा प्राप्त करें।
क्या मैं एक ही पास में पढ़ और लिख सकता हूँ?
हाँ — Workbook::load_xlsx के साथ लोड करें, get_worksheets_mut के माध्यम से बदलें, और save को समान या नए पथ पर लिखें।
क्या टाइप किए गए सेटर्स मानों को परिवर्तित करते हैं?
कोई रूपांतरण लागू नहीं होते: प्रत्येक put_value_* सेटर अपना मूल प्रकार संग्रहीत करता है; display_string_value पढ़ते समय डिस्प्ले टेक्स्ट प्रदर्शित करता है।
API Reference सारांश
| Class/Method | विवरण |
|---|---|
Workbook.add_worksheet | वर्कबुक में शीट जोड़ें |
Worksheet.set_name | शीट का नाम बदलें |
Worksheet.get_cells_mut | परिवर्तनीय cell collection |
CellMut.put_value_string | typed स्ट्रिंग सेटर |
CellMut.put_formula_with_cached_value | Formula और cached result |
CellStyle | Font, fill, और border formatting |
StyleFlag | चुनता है कि कौन से style पहलू लागू हों |
PageSetup | Print और page layout |
ListObject | संरचित tables |