1. produkty
  2.   Tabulka
  3.   C++
  4.   libxls
 
  

Open Source C knihovna pro čtení souborů Excel XLS

Lehká a rychlá open source bezplatná C knihovna pro načítání, čtení a extrakci dat ze souborů Excel XLS bez nutnosti Microsoft Excel.

Co je libxls?

Práce se soubory Microsoft Excel je běžnou požadavkem v mnoha softwarových aplikacích. Zatímco moderní tabulky používají formát XLSX, nespočet organizací stále spoléhá na starší soubory XLS. Čtení a extrahování dat z těchto souborů může být náročné, protože binární formát XLS je proprietární a složitý. libxls je open source knihovna v jazyce C speciálně navržená pro zjednodušení tohoto úkolu. Poskytuje rychlé a lehké řešení pro čtení souborů Excel 97–2003 XLS bez nutnosti Microsoft Excel nebo jakýchkoli externích komponent Office.

libxls je přenosná knihovna v jazyce C, která umožňuje vývojářům číst a získávat informace z tabulek Microsoft Excel XLS. Podporuje soubory Excel 97–2003 (.xls), více listů, hodnoty buněk a informace o formátování, unicode text, extrakci dat a čísel, vývoj napříč platformami a další. Na rozdíl od přístupů automatizace kanceláře libxls funguje nezávisle na Microsoft Office, což ji činí vhodnou pro Linux, macOS, Windows a vestavěná prostředí. Díky své jednoduchosti, přenositelnosti a výkonu je libxls široce používána v nástrojích pro migraci dat, konvertorech tabulek, reportovacích aplikacích a projektech napříč platformami.

Previous Next

Začínáme s libxls

libxls podporuje CMake pro sestavení a instalaci knihovny. Použijte prosím následující příkaz.

Instalace libxls přes CRAN

 mkdir build
cd build

cmake ..
make
 

Naklonujte úložiště zdrojového kódu libxls z GitHubu. Použijte prosím následující kód.

Instalace libxls přes GitHub

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

Čtení starších souborů Excel XLS pomocí knihovny C

Jednou z největších předností libxls je jeho schopnost parsovat binární soubory Excel 97–2003 XLS. Knihovna rozumí vnitřní struktuře těchto tabulek a umožňuje aplikacím přistupovat k řádkům, sloupcům a hodnotám buněk bez nutnosti Microsoft Excel. Tato funkce je zvláště užitečná pro organizace, které stále archivují historická data ve formátu XLS. Vývojáři mohou snadno vytvářet importní nástroje a automatizovat procesy extrakce dat při zachování kompatibility se staršími dokumenty. Následující příklad otevírá sešit Excel XLS s kódováním UTF-8. Jakmile je sešit načten, mohou vývojáři přistupovat k listům a extrahovat data tabulky.

Jak číst soubory Excel XLS pomocí knihovny 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;
}

Přístup k více listům pomocí knihovny C

Mnoho souborů Excel obsahuje několik listů, které organizují informace do různých sekcí. libxls poskytuje API pro navigaci a čtení každého listu samostatně. Tato funkce je užitečná při zpracování finančních zpráv, faktur, skladových listů nebo vědeckých datových sad. Vývojáři mohou projít všechny listy a automaticky extrahovat informace bez zásahu uživatele. Následující kód otevírá sešit a získává celkový počet listů dostupných v souboru.

Jak získat celkový počet listů v souboru XLS pomocí 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;
}

Čtení hodnot buněk pomocí knihovny C

Open source libxls umožňuje aplikacím přistupovat k jednotlivým buňkám a získávat jejich obsah. Ať už tabulka obsahuje text, čísla nebo data, knihovna poskytuje jednoduchý přístup k informacím o buňkách. Tato schopnost činí libxls vhodným pro importování dat z tabulek do databází, generování zpráv nebo převod Excelových dokumentů do formátů CSV a JSON. Následující ukázkový kód načte první buňku v listu a vypíše její hodnotu do konzole.

Jak přistupovat k buňkám listu a vytisknout jejich hodnotu pomocí knihovny 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;
}

Podpora Unicode a kódování znaků

Moderní aplikace často pracují s vícejazyčnými tabulkami. libxls podporuje Unicode text prostřednictvím konfigurovatelných znakových kódování, což umožňuje zpracovávat soubory obsahující mezinárodní jazyky a speciální znaky. Tato funkce je zvláště užitečná pro podnikové aplikace, které zpracovávají jména zákazníků, adresy a zprávy v různých jazycích. Zadáním kódování UTF-8 knihovna správně interpretuje Unicode text uložený v Excelových souborech, jak je ukázáno v následujícím příkladu kódu.

Jak interpretovat Unicode text uložený v souborech Excel pomocí C?

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

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

 Čeština