1. Produkter
  2.   Regneark
  3.   C++
  4.   libxls
 
  

Open Source C-bibliotek for å lese Excel XLS-filer

Et lettvektig og raskt open source gratis C-bibliotek for lasting, lesing og henting av data fra Excel XLS-filer uten å kreve Microsoft Excel.

Hva er libxls?

Å jobbe med Microsoft Excel-filer er et vanlig krav i mange programvareapplikasjoner. Mens moderne regneark bruker XLSX-formatet, er det utallige organisasjoner som fortsatt er avhengige av eldre XLS-filer. Å lese og hente ut data fra disse filene kan være utfordrende fordi det binære XLS-formatet er proprietært og komplekst. libxls er et åpen kildekode C-bibliotek spesielt utviklet for å forenkle denne oppgaven. Det gir en rask og lettvektig løsning for å lese Excel 97–2003 XLS-filer uten å kreve Microsoft Excel eller noen eksterne Office-komponenter.

libxls er et bærbart C-bibliotek som gjør det mulig for utviklere å lese og hente informasjon fra Microsoft Excel XLS-regneark. Det støtter Excel 97–2003 (.xls)-filer, flere regneark, celleverdier og formateringsinformasjon, unicode-tekst, dato- og talluttrekk, tverrplattformutvikling og mer. I motsetning til kontorautomatiseringsmetoder fungerer libxls uavhengig av Microsoft Office, noe som gjør det egnet for Linux, macOS, Windows og innebygde miljøer. På grunn av sin enkelhet, portabilitet og ytelse, brukes libxls mye i datamigrasjonsverktøy, regnearkkonvertere, rapporteringsapplikasjoner og tverrplattformprogramvareprosjekter.

Previous Next

Kom i gang med libxls

libxls støtter CMake for bygging og installasjon av biblioteket. Vennligst bruk følgende kommando.

Installer libxls via CRAN

 mkdir build
cd build

cmake ..
make
 

Klone libxls kildekode-repositoriet fra GitHub. Vennligst bruk følgende kode.

Installer libxls via GitHub

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

Lese eldre Excel XLS-filer via C-bibliotek

En av de største styrkene til libxls er evnen til å analysere Excel 97–2003 binære XLS-filer. Biblioteket forstår den interne strukturen i disse regnearkene og gjør det mulig for applikasjoner å få tilgang til rader, kolonner og celleverdier uten å kreve Microsoft Excel. Denne funksjonaliteten er spesielt nyttig for organisasjoner som fortsatt arkiverer historiske data i XLS-format. Utviklere kan enkelt bygge importverktøy og automatisere datainnsamlingsprosesser samtidig som de bevarer kompatibiliteten med eldre dokumenter. Følgende eksempel åpner en Excel XLS-arbeidsbok ved bruk av UTF-8-koding. Når arbeidsboken er lastet, kan utviklere få tilgang til regneark og hente ut regnearkdata.

Hvordan lese Excel XLS-filer via C-bibliotek

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

Få tilgang til flere regneark via C-bibliotek

Mange Excel-filer inneholder flere regneark som organiserer informasjon i ulike seksjoner. libxls tilbyr API-er for å navigere og lese hvert regneark uavhengig. Denne funksjonen er nyttig ved behandling av økonomiske rapporter, fakturaer, lagerlister eller vitenskapelige datasett. Utviklere kan iterere gjennom alle arkene og automatisk hente ut informasjon uten brukerintervensjon. Følgende kode åpner en arbeidsbok og henter totalt antall regneark som er tilgjengelige i filen.

Hvordan hente totalt antall regneark i en XLS-fil via 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;
}

Lese celleverdier via C-bibliotek

Det åpne kildekodebiblioteket libxls gjør det mulig for applikasjoner å få tilgang til individuelle celler og hente innholdet deres. Enten regnearket inneholder tekst, tall eller datoer, gir biblioteket enkel tilgang til celleinformasjon. Denne funksjonaliteten gjør libxls egnet for å importere regnearkdata til databaser, generere rapporter eller konvertere Excel-dokumenter til CSV- og JSON-formater. Følgende kodeeksempel leser den første cellen i regnearket og skriver verdien til konsollen.

Hvordan få tilgang til celler i et regneark og skrive ut verdien via C-bibliotek?

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

Støtte for Unicode og tegnkoding

Moderne applikasjoner arbeider ofte med flerspråklige regneark. libxls støtter Unicode-tekst gjennom konfigurerbare tegnkodinger, noe som gjør det mulig å behandle filer som inneholder internasjonale språk og spesialtegn. Denne funksjonen er spesielt nyttig for forretningsapplikasjoner som håndterer kundenavn, adresser og rapporter på ulike språk. Ved å spesifisere UTF-8-koding tolker biblioteket korrekt Unicode-tekst lagret i Excel-filer, som vist i følgende kodeeksempel.

Hvordan tolke Unicode-tekst lagret i Excel-filer via C?

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

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

 Norsk