Libreria C Open Source per Leggere File Excel XLS

Una libreria C open source leggera e veloce, gratuita, per caricare, leggere ed estrarre dati da file Excel XLS senza richiedere Microsoft Excel.

Che cos'è libxls?

Lavorare con i file Microsoft Excel è una necessità comune in molte applicazioni software. Sebbene i fogli di calcolo moderni utilizzino il formato XLSX, innumerevoli organizzazioni fanno ancora affidamento sui file XLS legacy. Leggere ed estrarre dati da questi file può essere difficile perché il formato binario XLS è proprietario e complesso. libxls è una libreria C open source progettata specificamente per semplificare questo compito. Offre una soluzione veloce e leggera per leggere i file Excel 97–2003 XLS senza richiedere Microsoft Excel o componenti Office esterni.

libxls è una libreria C portabile che consente agli sviluppatori di leggere ed estrarre informazioni da fogli di calcolo Microsoft Excel XLS. Supporta file Excel 97–2003 (.xls), più fogli di lavoro, valori delle celle e informazioni di formattazione, testo Unicode, estrazione di date e numeri, sviluppo multipiattaforma e altro. A differenza degli approcci di automazione d'ufficio, libxls funziona in modo indipendente da Microsoft Office, rendendola adatta per Linux, macOS, Windows e ambienti embedded. Grazie alla sua semplicità, portabilità e prestazioni, libxls è ampiamente utilizzata in strumenti di migrazione dati, convertitori di fogli di calcolo, applicazioni di reporting e progetti software multipiattaforma.

Previous Next

Iniziare con libxls

libxls supporta CMake per la compilazione e l'installazione della libreria. Si prega di utilizzare il comando seguente.

Installa libxls tramite CRAN

 mkdir build
cd build

cmake ..
make
 

Clona il repository del codice sorgente di libxls da GitHub. Si prega di utilizzare il codice seguente.

Installa libxls tramite GitHub

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

Lettura di file Excel XLS legacy tramite libreria C

Una delle più grandi forze di libxls è la sua capacità di analizzare i file binari XLS di Excel 97–2003. La libreria comprende la struttura interna di questi fogli di calcolo e consente alle applicazioni di accedere a righe, colonne e valori delle celle senza richiedere Microsoft Excel. Questa capacità è particolarmente utile per le organizzazioni che archiviano ancora dati storici in formato XLS. Gli sviluppatori possono facilmente creare strumenti di importazione e automatizzare i processi di estrazione dei dati mantenendo la compatibilità con i documenti più vecchi. L'esempio seguente apre una cartella di lavoro Excel XLS usando la codifica UTF-8. Una volta caricata la cartella di lavoro, gli sviluppatori possono accedere ai fogli di lavoro e estrarre i dati del foglio di calcolo.

Come leggere i file Excel XLS tramite una libreria 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;
}

Accesso a più fogli di lavoro tramite libreria C

Molti file Excel contengono diversi fogli di lavoro che organizzano le informazioni in sezioni differenti. libxls fornisce API per navigare e leggere ogni foglio di lavoro in modo indipendente. Questa funzionalità è utile durante l'elaborazione di report finanziari, fatture, fogli di inventario o set di dati scientifici. Gli sviluppatori possono scorrere tutti i fogli ed estrarre le informazioni automaticamente senza l'intervento dell'utente. Il codice seguente apre una cartella di lavoro e recupera il numero totale di fogli di lavoro disponibili nel file.

Come recuperare il numero totale di fogli di lavoro in un file XLS tramite 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;
}

Lettura dei valori delle celle tramite libreria C

La libreria open source libxls consente alle applicazioni di accedere alle singole celle e recuperare il loro contenuto. Che il foglio di calcolo contenga testo, numeri o date, la libreria fornisce un accesso diretto alle informazioni delle celle. Questa capacità rende libxls adatta per importare dati di fogli di calcolo in database, generare report o convertire documenti Excel in formati CSV e JSON. Il seguente esempio di codice legge la prima cella del foglio di lavoro e stampa il suo valore sulla console.

Come accedere alle celle del foglio di lavoro e stampare il loro valore tramite una libreria 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;
}

Supporto Unicode e codifica dei caratteri

Le applicazioni moderne spesso lavorano con fogli di calcolo multilingue. libxls supporta il testo Unicode tramite codifiche dei caratteri configurabili, rendendo possibile elaborare file contenenti lingue internazionali e caratteri speciali. Questa funzionalità è particolarmente utile per le applicazioni aziendali che gestiscono nomi dei clienti, indirizzi e report in diverse lingue. Specificando la codifica UTF-8, la libreria interpreta correttamente il testo Unicode memorizzato nei file Excel, come mostrato nel seguente esempio di codice.

Come interpretare il testo Unicode memorizzato nei file Excel tramite C?

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

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

 Italiano