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

Open Source C-bibliotek til at læse Excel XLS-filer

Et letvægts- og hurtigt open source gratis C-bibliotek til at indlæse, læse og udtrække data fra Excel XLS-filer uden at kræve Microsoft Excel.

Hvad er libxls?

At arbejde med Microsoft Excel-filer er et almindeligt krav i mange softwareapplikationer. Mens moderne regneark bruger XLSX-formatet, er utallige organisationer stadig afhængige af ældre XLS-filer. At læse og udtrække data fra disse filer kan være udfordrende, fordi det binære XLS-format er proprietært og komplekst. libxls er et open source C-bibliotek, der er specielt designet til at forenkle denne opgave. Det leverer en hurtig og letvægtsløsning til at læse Excel 97–2003 XLS-filer uden at kræve Microsoft Excel eller eksterne Office-komponenter.

libxls er et bærbart C-bibliotek, der gør det muligt for udviklere at læse og udtrække information fra Microsoft Excel XLS-regneark. Det understøtter Excel 97–2003 (.xls)-filer, flere regneark, celleværdier og formateringsinformation, unicode-tekst, dato- og taludtræk, tværplatformsudvikling og mere. I modsætning til kontorautomatiseringsmetoder fungerer libxls uafhængigt af Microsoft Office, hvilket gør det egnet til Linux, macOS, Windows og indlejrede miljøer. På grund af dets enkelhed, bærbarhed og ydeevne anvendes libxls bredt i datamigrationsværktøjer, regnearkkonvertere, rapporteringsapplikationer og tværplatformssoftwareprojekter.

Previous Next

Kom i gang med libxls

libxls understøtter CMake til at bygge og installere biblioteket. Brug venligst følgende kommando.

Installer libxls via CRAN

 mkdir build
cd build

cmake ..
make
 

Klon libxls kildekode-repositoriet fra GitHub. Brug venligst følgende kode.

Installer libxls via GitHub

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

Læs ældre Excel XLS-filer via C-biblioteket

En af libxls' største styrker er dens evne til at parse Excel 97–2003 binære XLS-filer. Biblioteket forstår den interne struktur af disse regneark og giver applikationer adgang til rækker, kolonner og celleværdier uden at kræve Microsoft Excel. Denne funktion er især nyttig for organisationer, der stadig arkiverer historiske data i XLS-format. Udviklere kan nemt bygge importværktøjer og automatisere dataudtrækningsprocesser, mens de bevarer kompatibilitet med ældre dokumenter. Følgende eksempel åbner en Excel XLS-arbejdsbog ved brug af UTF-8-kodning. Når arbejdsbogen er indlæst, kan udviklere få adgang til regneark og udtrække regnearksdata.

Sådan læses Excel XLS-filer via C-biblioteket

#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å adgang til flere regneark via C-biblioteket

Mange Excel-filer indeholder flere regneark, som organiserer information i forskellige sektioner. libxls leverer API'er til at navigere og læse hvert regneark uafhængigt. Denne funktion er nyttig ved behandling af finansielle rapporter, fakturaer, lagerark eller videnskabelige datasæt. Udviklere kan gennemløbe alle ark og automatisk udtrække information uden brugerindgriben. Følgende kode åbner en arbejdsbog og henter det samlede antal tilgængelige regneark i filen.

Sådan henter du det samlede antal 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;
}

Læse celleværdier via C-biblioteket

Den open source libxls giver applikationer mulighed for at få adgang til individuelle celler og hente deres indhold. Uanset om regnearket indeholder tekst, tal eller datoer, giver biblioteket enkel adgang til celleinformation. Denne funktion gør libxls velegnet til at importere regnearksdata til databaser, generere rapporter eller konvertere Excel-dokumenter til CSV- og JSON-formater. Det følgende kodeeksempel læser den første celle i regnearket og udskriver dens værdi til konsollen.

Sådan får du adgang til regnearksceller og udskriver deres værdi via C-biblioteket?

#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- og tegnkodningsunderstøttelse

Moderne applikationer arbejder ofte med flersprogede regneark. libxls understøtter Unicode-tekst gennem konfigurerbare tegnkodninger, hvilket gør det muligt at behandle filer, der indeholder internationale sprog og specialtegn. Denne funktion er især nyttig for forretningsapplikationer, der håndterer kundernes navne, adresser og rapporter på forskellige sprog. Ved at specificere UTF-8-kodning fortolker biblioteket korrekt Unicode-tekst gemt i Excel-filer, som vist i det følgende kodeeksempel.

Sådan fortolker du Unicode-tekst gemt i Excel-filer via C?

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

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

 Dansk