Swift में Excel (iOS/macOS): लाइब्रेरी और कोड उदाहरण
iOS और macOS ऐप डेवलपमेंट में अक्सर Excel फ़ॉर्मेट (.xlsx, .xls) के साथ इंटीग्रेशन की ज़रूरत होती है। Apple के नेटिव टूल्स इन फ़ाइलों के लिए सीधा API प्रदान नहीं करते, इसलिए डेवलपर थर्ड-पार्टी लाइब्रेरीज़ का उपयोग करते हैं। इस आर्टिकल में हम तीन लोकप्रिय विकल्पों पर चर्चा करेंगे: CoreXLSX, xlsxwriter और SwiftCSV, साथ ही डेटा पढ़ने और लिखने के व्यावहारिक उदाहरण भी देंगे।
1. CoreXLSX — .xlsx पढ़ना और लिखना
CoreXLSX एक ओपन-सोर्स लाइब्रेरी है जो पूरी तरह Swift में लिखी गई है। यह आंतरिक ZIP फ़ॉर्मेट पर आधारित है (क्योंकि .xlsx एक ZIP आर्काइव है जिसमें XML फ़ाइलें होती हैं)। यह शीट्स, सेल्स और स्टाइल्स को पढ़ने, लिखने और एडिट करने का समर्थन करती है।
इंस्टॉलेशन: Swift Package Manager (SPM) के ज़रिए पैकेज https://github.com/CoreOffice/CoreXLSX.git जोड़ें।
उदाहरण: Excel से डेटा पढ़ना
import CoreXLSX
func readExcelExample() {
guard let filePath = Bundle.main.path(forResource: "data", ofType: "xlsx"),
let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)),
let file = try? XLSXFile(data: data) else {
print("फ़ाइल लोड नहीं हो सकी")
return
}
do {
let sharedStrings = try file.parseSharedStrings()
let worksheet = try file.parseWorksheet(at: "xl/worksheets/sheet1.xml")
for row in worksheet.data?.rows ?? [] {
var rowValues: [String] = []
for cell in row.cells {
if let stringRef = cell.stringValue(sharedStrings) {
rowValues.append(stringRef)
} else if let value = cell.value {
rowValues.append(value)
} else {
rowValues.append("")
}
}
print(rowValues.joined(separator: ", "))
}
} catch {
print("पार्सिंग में त्रुटि: \(error)")
}
}
2. xlsxwriter — Swift में Excel फ़ाइलें बनाना
xlsxwriter libxlsxwriter लाइब्रेरी (C इम्प्लीमेंटेशन) का एक रैपर है। यह फ़ॉर्मेटिंग, फ़ॉर्मूले और चार्ट के साथ .xlsx फ़ाइलें बनाने की अनुमति देता है। macOS और iOS पर रिपोर्ट जनरेट करने के लिए यह आदर्श है।
इंस्टॉलेशन: CocoaPods (pod 'xlsxwriter') या SPM के ज़रिए।
उदाहरण: एक सरल फ़ाइल बनाना
import xlsxwriter
func createExcelExample() {
let documentDirectory = FileManager.default.temporaryDirectory
let fileURL = documentDirectory.appendingPathComponent("report.xlsx")
let workbook = Workbook(path: fileURL.path)
let sheet = workbook.addWorksheet(named: "रिपोर्ट")
// हेडर
sheet.writeString("नाम", at: column: 0, row: 0)
sheet.writeString("उम्र", at: column: 1, row: 0)
sheet.writeString("शहर", at: column: 2, row: 0)
// डेटा
sheet.writeString("अन्ना", at: column: 0, row: 1)
sheet.writeNumber(28, at: column: 1, row: 1)
sheet.writeString("मुंबई", at: column: 2, row: 1)
sheet.writeString("राज", at: column: 0, row: 2)
sheet.writeNumber(35, at: column: 1, row: 2)
sheet.writeString("दिल्ली", at: column: 2, row: 2)
workbook.close()
print("फ़ाइल बन गई: \(fileURL)")
}
3. SwiftCSV — CSV के साथ काम करना (Excel का विकल्प)
अगर आपको पूर्ण .xlsx फ़ॉर्मेट की ज़रूरत नहीं है, तो SwiftCSV CSV फ़ाइलों को पढ़ने और लिखने के लिए एक हल्की लाइब्रेरी है। CSV को Excel और अन्य टेबल एडिटर में आसानी से खोला जा सकता है।
इंस्टॉलेशन: SPM के ज़रिए: https://github.com/swiftcsv/SwiftCSV.git।
उदाहरण: CSV पढ़ना और लिखना
import SwiftCSV
func csvExample() {
// पढ़ना
guard let csvURL = Bundle.main.url(forResource: "data", withExtension: "csv"),
let csv = try? CSV(url: csvURL) else { return }
f पुस्तकालय में भी
CoreBluetooth Swift: BLE ब्लूटूथ गाइड उदाहरण सहित
डिपेंडेंसी इंजेक्शन कंटेनर Swift: iOS/macOS के लिए Swinject
जावा में जियोलोकेशन और मैप्स: लाइब्रेरीज़ और टूल्स की समीक्षा
Go (Golang) में कैशिंग: Redis, in-memory और अन्य समाधान