Bibliotecă C Open Source pentru citirea fișierelor Excel XLS

O bibliotecă C gratuită, open source, ușoară și rapidă pentru încărcarea, citirea și extragerea datelor din fișierele Excel XLS fără a necesita Microsoft Excel.

Ce este libxls?

Lucrul cu fișiere Microsoft Excel este o cerință comună în multe aplicații software. În timp ce foile de calcul moderne utilizează formatul XLSX, nenumărate organizații se bazează încă pe fișierele XLS vechi. Citirea și extragerea datelor din aceste fișiere poate fi dificilă deoarece formatul binar XLS este proprietar și complex. libxls este o bibliotecă C open source concepută special pentru a simplifica această sarcină. Aceasta oferă o soluție rapidă și ușoară pentru citirea fișierelor Excel 97–2003 XLS fără a necesita Microsoft Excel sau orice alte componente Office externe.

libxls este o bibliotecă C portabilă care permite dezvoltatorilor să citească și să extragă informații din foile de calcul Microsoft Excel XLS. Suportă fișierele Excel 97–2003 (.xls), multiple foi de lucru, valori ale celulelor și informații de formatare, text unicode, extragerea de date și numere, dezvoltare multiplatformă și altele. Spre deosebire de abordările de automatizare a biroului, libxls funcționează independent de Microsoft Office, făcându-l potrivit pentru Linux, macOS, Windows și medii încorporate. Datorită simplității, portabilității și performanței sale, libxls este utilizat pe scară largă în instrumente de migrare a datelor, convertoare de foi de calcul, aplicații de raportare și proiecte software multiplatformă.

Previous Next

Începerea utilizării libxls

libxls suportă CMake pentru construirea și instalarea bibliotecii. Vă rugăm să utilizați comanda următoare.

Instalați libxls prin CRAN

 mkdir build
cd build

cmake ..
make
 

Clonați depozitul de cod sursă libxls de pe GitHub. Vă rugăm să utilizați codul următor.

Instalați libxls prin GitHub

 git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https 

Citirea fișierelor Excel XLS vechi prin bibliotecă C

Una dintre cele mai mari puncte forte ale libxls este capacitatea sa de a interpreta fișierele binare XLS Excel 97–2003. Biblioteca înțelege structura internă a acestor foi de calcul și permite aplicațiilor să acceseze rânduri, coloane și valori de celule fără a necesita Microsoft Excel. Această funcționalitate este deosebit de utilă pentru organizațiile care încă arhivează date istorice în format XLS. Dezvoltatorii pot construi cu ușurință instrumente de import și pot automatiza procesele de extragere a datelor, păstrând compatibilitatea cu documentele mai vechi. Exemplul următor deschide un registru de lucru Excel XLS utilizând codificarea UTF-8. Odată ce registrul de lucru este încărcat, dezvoltatorii pot accesa foile de lucru și pot extrage datele din foaia de calcul.

Cum să citești fișiere Excel XLS prin bibliotecă C

#include 

int main()
{
    xlsWorkBook *workbook;
    workbook = xls_open("sample.xls", "UTF-8");

    if(workbook)
    {
        printf("Workbook opened successfully\n");
        xls_close_WB(workbook);
    }

    return 0;
}

Accesarea mai multor foi de lucru prin bibliotecă C

Multe fișiere Excel conțin mai multe foi de lucru care organizează informațiile în diferite secțiuni. libxls oferă API-uri pentru navigarea și citirea fiecărei foi de lucru independent. Această funcție este utilă la procesarea rapoartelor financiare, facturilor, foilor de inventar sau seturilor de date științifice. Dezvoltatorii pot parcurge toate foile și pot extrage informațiile automat, fără intervenția utilizatorului. Codul de mai jos deschide un registru de lucru și recuperează numărul total de foi de lucru disponibile în fișier.

Cum să recuperezi numărul total de foi de lucru dintr-un fișier XLS prin C?

#include 

int main()
{
    xlsWorkBook *wb = xls_open("report.xls", "UTF-8");

    if(wb)
    {
        printf("Number of sheets: %d\n", wb->sheets.count);

        xls_close_WB(wb);
    }

    return 0;
}

Citirea valorilor celulelor prin bibliotecă C

Biblioteca open source libxls permite aplicațiilor să acceseze celule individuale și să le recupereze conținutul. Indiferent dacă foaia de calcul conține text, numere sau date, biblioteca oferă acces simplu la informațiile celulelor. Această capacitate face ca libxls să fie potrivită pentru importarea datelor din foi de calcul în baze de date, generarea de rapoarte sau convertirea documentelor Excel în formate CSV și JSON. Exemplul de cod de mai jos citește prima celulă din foaia de lucru și afișează valoarea acesteia în consolă.

Cum să accesezi celulele foii de lucru și să tipărești valoarea lor prin bibliotecă C?

#include 

int main()
{
    xlsWorkBook *wb = xls_open("sample.xls", "UTF-8");

    if(wb)
    {
        xlsWorkSheet *sheet = xls_getWorkSheet(wb, 0);
        xls_parseWorkSheet(sheet);

        xlsCell *cell = xls_cell(sheet, 0, 0);

        if(cell)
            printf("Cell value: %s\n", cell->str);

        xls_close_WS(sheet);
        xls_close_WB(wb);
    }

    return 0;
}

Suport Unicode și codificare de caractere

Aplicațiile moderne lucrează adesea cu foi de calcul multilingve. libxls suportă text Unicode prin codări de caractere configurabile, permițând procesarea fișierelor care conțin limbi internaționale și caractere speciale. Această funcție este deosebit de utilă pentru aplicațiile de afaceri care gestionează numele clienților, adresele și rapoartele în diferite limbi. Prin specificarea codării UTF-8, biblioteca interpretează corect textul Unicode stocat în fișierele Excel, așa cum se arată în exemplul de cod de mai jos.

Cum să interpretezi textul Unicode stocat în fișierele Excel prin C?

 
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");

if(wb)
{
    printf("Workbook loaded using UTF-8 encoding\n");
}

 Română