C++ में Excel के साथ कार्य: लाइब्रेरी और उपकरण
Excel तालिकाओं (प्रारूप .xlsx) के साथ कार्य करना अनुप्रयोग प्रोग्रामिंग में सामान्य कार्यों में से एक है। C++ में इस प्रारूप के लिए कोई अंतर्निहित समर्थन नहीं है, लेकिन कई गुणवत्ता वाली लाइब्रेरी मौजूद हैं जो Excel फ़ाइलों को पढ़ने, बनाने और संपादित करने की अनुमति देती हैं। इस लेख में हम चार मुख्य दृष्टिकोणों पर विचार करेंगे: libxlsxwriter, xlsxio, OpenXLSX और Windows पर COM-इंटरफ़ेस के माध्यम से कार्य करना।
1. libxlsxwriter — तुरंत XLSX बनाना
libxlsxwriter C में लिखी गई एक लाइब्रेरी है, जिसमें C++ के लिए रैपर हैं। यह फ़ॉर्मेटिंग, फ़ॉर्मूले, चार्ट और सेल मर्जिंग के समर्थन के साथ पूर्ण XLSX फ़ाइलें बनाने की अनुमति देती है। मुख्य लाभ गति और न्यूनतम मेमोरी खपत है।
स्थापना
GitHub से स्रोत डाउनलोड करें और CMake के माध्यम से बनाएँ:
git clone https://github.com/jmcnamara/libxlsxwriter.gitcd libxlsxwritermkdir build && cd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemakesudo make installउदाहरण: फ़ॉर्मूले के साथ तालिका बनाना
#include <xlsxwriter.h>
int main() { lxw_workbook *workbook = workbook_new("report.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, "बिक्री");
// शीर्षक worksheet_write_string(worksheet, 0, 0, "उत्पाद", NULL); worksheet_write_string(worksheet, 0, 1, "मात्रा", NULL); worksheet_write_string(worksheet, 0, 2, "मूल्य", NULL); worksheet_write_string(worksheet, 0, 3, "कुल", NULL);
// डेटा worksheet_write_string(worksheet, 1, 0, "सेब", NULL); worksheet_write_number(worksheet, 1, 1, 100, NULL); worksheet_write_number(worksheet, 1, 2, 2.5, NULL);
// फ़ॉर्मूला worksheet_write_formula(worksheet, 1, 3, "=B2*C2", NULL);
workbook_close(workbook); return 0;}संकलन के लिए उपयोग करें:
g++ -o create_excel create_excel.cpp -lxlsxwriter2. xlsxio — पढ़ना और सरल लिखना
xlsxio C में एक हल्की लाइब्रेरी है, जो XLSX फ़ाइलों को पढ़ने पर केंद्रित है। यह स्ट्रीमिंग पार्सिंग का समर्थन करती है, जो मेमोरी में लोड किए बिना बड़ी फ़ाइलों को संसाधित करने की अनुमति देती है।
स्थापना
git clone https://github.com/brechtsanders/xlsxio.gitcd xlsxiomkdir build && cd buildcmake ..makesudo make installउदाहरण: Excel से डेटा पढ़ना
#include <xlsxio_read.h>
int main() { xlsxioreader xlsxioread = xlsxioread_open("data.xlsx"); if (!xlsxioread) return 1;
xlsxioreadersheet sheet = xlsxioread_sheet_open(xlsxioread, NULL, 0); if (sheet) { while (xlsxioread_sheet_next_row(sheet)) { const char* value; while ((value = xlsxioread_sheet_next_cell(sheet)) != NULL) { printf("%s\\t", value); } printf(""); } xlsxioread_sheet_close(sheet); } xlsxioread_close(xlsxioread); return 0;}3. OpenXLSX — आधुनिक C++ इंटरफ़ेस
OpenXLSX C++17 पर आधारित एक लाइब्रेरी है, जो XLSX के साथ कार्य करने के लिए ऑब्जेक्ट-ओरिएंटेड API प्रदान करती है। यह पढ़ने, लिखने, शैलियों और कई शीटों के साथ कार्य करने का समर्थन करती है।
स्थापना
git clone https://github.com/troldal/OpenXLSX.gitcd OpenXLSXmkdir build && cd buildcmake .. -DOPENXLSX_BUILD_TESTS=OFFmakesudo make installउदाहरण: फ़ॉर्मेटिंग के साथ लिखना
#include <OpenXLSX/OpenXLSX.hpp>
int main() { using namespace OpenXLSX;
XLDocument doc; doc.create("formatted.xlsx"); auto wks = doc.workbook().worksheet("Sheet1");
// फ़ॉर्मेट के साथ लिखना XLCellValue v पुस्तकालय में भी
SQLite C++: पूर्ण गाइड उदाहरण और कोड के साथ
C++ के लिए HTTP-क्लाइंट: नेटवर्क कार्य के लिए शीर्ष लाइब्रेरीज़
Prometheus मेट्रिक्स Rust में: prometheus और metrics-exporter-prometheus लाइब्रेरी
Java WebSocket लाइब्रेरीज़: रियल-टाइम कार्यान्वयन के लिए संपूर्ण गाइड