C++ में Excel के साथ कार्य: पढ़ने और लिखने के लिए लाइब्रेरी और उपकरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

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 -lxlsxwriter


2. 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

अनुशंसाएँ