Avoimen lähdekoodin C-kirjasto Excel XLS -tiedostojen lukemiseen

Kevyt ja nopea avoimen lähdekoodin ilmainen C-kirjasto Excel XLS -tiedostojen lataamiseen, lukemiseen ja tietojen poimimiseen ilman Microsoft Excelin tarvetta.

Mikä on libxls?

Microsoft Excel -tiedostojen käsittely on yleinen vaatimus monissa ohjelmistosovelluksissa. Vaikka nykyaikaiset taulukot käyttävät XLSX-muotoa, lukuisat organisaatiot luottavat edelleen perinteisiin XLS-tiedostoihin. Näiden tiedostojen lukeminen ja tietojen poimiminen voi olla haastavaa, koska binäärinen XLS-muoto on omistettu ja monimutkainen. libxls on avoimen lähdekoodin C-kirjasto, joka on erityisesti suunniteltu helpottamaan tätä tehtävää. Se tarjoaa nopean ja kevyen ratkaisun Excel 97–2003 XLS -tiedostojen lukemiseen ilman Microsoft Excelin tai muiden Office-komponenttien tarvetta.

libxls on siirrettävä C-kirjasto, jonka avulla kehittäjät voivat lukea ja poimia tietoja Microsoft Excel XLS -taulukoista. Se tukee Excel 97–2003 (.xls) -tiedostoja, useita taulukoita, soluarvoja ja muotoilutietoja, Unicode-tekstiä, päivämäärä- ja numeropoimintaa, monialustakehitystä ja paljon muuta. Toisin kuin toimistoautomaatiomenetelmät, libxls toimii itsenäisesti Microsoft Officesta, mikä tekee siitä sopivan Linuxiin, macOSiin, Windowsiin ja sulautettuihin ympäristöihin. Yksinkertaisuutensa, siirrettävyyden ja suorituskykynsä vuoksi libxls on laajasti käytössä tietojen siirtotyökaluissa, taulukkomuuntajissa, raportointisovelluksissa ja monialustaprojekteissa.

Previous Next

Aloittaminen libxls:n kanssa

libxls tukee CMakea kirjaston rakentamiseen ja asentamiseen. Käytä seuraavaa komentoa.

Asenna libxls CRANin kautta

 mkdir build
cd build

cmake ..
make
 

Kloonaa libxls:n lähdekoodivarasto GitHubista. Käytä seuraavaa koodia.

Asenna libxls GitHubin kautta

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

Vanhojen Excel XLS -tiedostojen lukeminen C-kirjaston avulla

Yksi libxls:n suurimmista vahvuuksista on sen kyky jäsentää Excel 97–2003 binääritiedostot (XLS). Kirjasto ymmärtää näiden taulukkolaskentaohjelmien sisäisen rakenteen ja mahdollistaa sovellusten käyttää rivejä, sarakkeita ja soluarvoja ilman Microsoft Exceliä. Tämä ominaisuus on erityisen hyödyllinen organisaatioille, jotka edelleen arkistoivat historiallisia tietoja XLS-muodossa. Kehittäjät voivat helposti rakentaa tuontityökaluja ja automatisoida tietojen poimintaprosesseja säilyttäen yhteensopivuuden vanhojen asiakirjojen kanssa. Seuraava esimerkki avaa Excel XLS -työkirjan käyttäen UTF-8 -koodausta. Kun työkirja on ladattu, kehittäjät voivat käyttää laskentataulukoita ja poimia taulukon tiedot.

Kuinka lukea Excel XLS -tiedostoja C-kirjaston avulla

#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;
}

Useiden taulukoiden käyttö C-kirjaston avulla

Monet Excel-tiedostot sisältävät useita laskentataulukoita, jotka järjestävät tiedot eri osioihin. libxls tarjoaa API-rajapintoja jokaisen laskentataulukon itsenäiseen selaamiseen ja lukemiseen. Tämä ominaisuus on hyödyllinen talousraporttien, laskujen, varastolistojen tai tieteellisten aineistojen käsittelyssä. Kehittäjät voivat käydä läpi kaikki taulukot ja poimia tiedot automaattisesti ilman käyttäjän puuttumista. Seuraava koodi avaa työkirjan ja hakee tiedostossa olevien laskentataulukoiden kokonaismäärän.

Kuinka hakea XLS-tiedoston taulukoiden kokonaismäärä C:n avulla?

#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;
}

Soluarvojen lukeminen C-kirjaston avulla

Avoimen lähdekoodin libxls mahdollistaa sovellusten pääsyn yksittäisiin soluihin ja niiden sisällön hakemisen. Olipa taulukkoissa tekstiä, numeroita tai päivämääriä, kirjasto tarjoaa suoraviivaisen pääsyn solutietoihin. Tämä ominaisuus tekee libxlsistä sopivan taulukkoaineiston tuomiseen tietokantoihin, raporttien luomiseen tai Excel-dokumenttien muuntamiseen CSV- ja JSON-muotoihin. Seuraava koodiesimerkki lukee ensimmäisen solun työkirjassa ja tulostaa sen arvon konsoliin.

Kuinka käyttää taulukon soluja ja tulostaa niiden arvot C-kirjaston avulla?

#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;
}

Unicode- ja merkistökoodauksen tuki

Nykyaikaiset sovellukset työskentelevät usein monikielisten taulukoiden kanssa. libxls tukee Unicode-tekstiä konfiguroitavien merkistöjen avulla, mikä mahdollistaa kansainvälisiä kieliä ja erikoismerkkejä sisältävien tiedostojen käsittelyn. Tämä ominaisuus on erityisen hyödyllinen liiketoimintasovelluksissa, jotka käsittelevät asiakasnimiä, osoitteita ja raportteja eri kielillä. Määrittämällä UTF-8-merkistön kirjasto tulkitsee oikein Excel-tiedostoissa tallennetun Unicode-tekstin, kuten seuraavassa koodiesimerkissä on esitetty.

Kuinka tulkita Excel-tiedostoihin tallennettua Unicode-tekstiä C:n avulla?

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

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

 Suomen