1. Prodotti
  2.   Foglio di calcolo
  3.   C++
  4.   Libxlsxwriter
 
  

Libreria C open source per fogli di calcolo Excel

Crea, modifica, manipola e converti file di fogli di lavoro Microsoft Excel 2007 e XLSX, unendo fogli di lavoro e aggiungendo grafici al foglio di lavoro tramite API C Open Source.

Libxlsxwriter è una libreria C open source che può essere utilizzata per lavorare con Microsoft Excel 2007 e file XLSX di Excel all'interno delle proprie applicazioni. La libreria Libxlsxwriter è molto compatibile con i file XLSX di Excel e consente agli sviluppatori di creare, modificare ed elaborare fogli di calcolo XLSX con facilità. La libreria funziona senza problemi su piattaforme leader come Linux, FreeBSD, OpenBSD, OS X, iOS e Windows. Può compilare sia per 32 che per 64 bit.

La libreria open source Libxlsxwriter è ben ottimizzata e può funzionare correttamente con file di fogli di calcolo di grandi dimensioni. Ha incluso il supporto per diverse funzionalità importanti, come l'unione di celle di fogli di calcolo, la definizione di nomi, il supporto di filtri automatici, l'aggiunta di grafici alle pagine di fogli di lavoro, la convalida dei dati e gli elenchi a discesa, l'aggiunta di immagini PNG/JPEG, l'aggiunta di commenti di celle, l'utilizzo di macro VBA , aggiungendo o rimuovendo la colonna da un foglio e molti altri.

Previous Next

Introduzione a Libxlsxwriter

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

Installa libxlsxwriter tramite CRAN

 cmake $SOURCE_DIR $FLAGS 

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

Installa libxlsxwriter tramite GitHub

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

API C per creare un foglio di calcolo XLSX di Excel

L'API open source Libxlsxwriter consente agli sviluppatori di software di creare e modificare fogli di calcolo XLSX di Excel all'interno delle loro applicazioni C. L'API fornisce supporto per la scrittura di testo, numeri, formule e collegamenti ipertestuali a più fogli di lavoro in un foglio di calcolo Excel. Puoi facilmente importare o esportare dati da file Excel e unire o dividere fogli, cercare dati e molto altro.

Crea foglio elettronico Excel via C API

#include "xlsxwriter.h"
int main() {
    /* Create a new workbook and add a worksheet. */
    lxw_workbook  *workbook  = workbook_new("demo.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    /* Add a format. */
    lxw_format *format = workbook_add_format(workbook);
    /* Set the bold property for the format */
    format_set_bold(format);
    /* Change the column width for clarity. */
    worksheet_set_column(worksheet, 0, 0, 20, NULL);
    /* Write some simple text. */
    worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
    /* Text with formatting. */
    worksheet_write_string(worksheet, 1, 0, "World", format);
    /* Write some numbers. */
    worksheet_write_number(worksheet, 2, 0, 123,     NULL);
    worksheet_write_number(worksheet, 3, 0, 123.456, NULL);
    /* Insert an image. */
    worksheet_insert_image(worksheet, 1, 2, "logo.png");
    workbook_close(workbook);
    return 0;
}

Lavorare con i grafici Excel

L'API Libxlsxwriter ha fornito funzionalità per l'aggiunta e la modifica di grafici in fogli di calcolo Excel utilizzando i comandi C. È possibile utilizzare le funzioni dell'indicatore del grafico per generare e gestire i grafici. Puoi anche aggiungere una linea di tendenza per indicare le tendenze nei dati e le barre di errore per indicare i limiti di errore nei dati. È inoltre possibile assegnare etichette dati a una serie di grafici per indicare i valori dei punti dati tracciati. È possibile applicare facilmente le proprietà di formattazione del grafico a qualsiasi oggetto grafico.

Crea grafici in Excel Worksheet tramite Libxlsxwriter

#include "xlsxwriter.h"
int main() {
    lxw_workbook  *workbook  = new_workbook("chart.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    // User function to add data to worksheet, not shown here.
    write_worksheet_data(worksheet);
    // Create a chart object.
    lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
    // In the simplest case we just add some value data series.
    // The NULL categories will default to 1 to 5 like in Excel.
    chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5");
    chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5");
    chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5");
    // Insert the chart into the worksheet
    worksheet_insert_chart(worksheet, CELL("B7"), chart);
    return workbook_close(workbook);
}

Lavora con la convalida dei dati di Excel

La convalida dei dati è una funzionalità di Excel che consente agli sviluppatori di controllare ciò che gli utenti inseriscono in una cella di Excel. Ad esempio, puoi limitare gli utenti a inserire un numero compreso tra 1 e 6 o assicurarti che la voce di testo in una cella sia inferiore a 25 caratteri. L'API Libxlsxwriter offre numerose opzioni per convalidare l'input dell'utente come qualsiasi valore, numero intero, decimale, elenco, data, ora, lunghezza del testo o formula personalizzata.

Visualizza Personalizza il messaggio Quando Integer non è b/t 1 & 100

// Display a custom info message when integer isn't between 1 and 100.
data_validation->validate         = LXW_VALIDATION_TYPE_INTEGER;
data_validation->criteria         = LXW_VALIDATION_CRITERIA_BETWEEN;
data_validation->minimum_number   = 1;
data_validation->maximum_number   = 100;
data_validation->input_title      = "Enter an integer:";
data_validation->input_message    = "between 1 and 100";
data_validation->error_title      = "Input value is not valid!";
data_validation->error_message    = "It should be an integer between 1 and 100";

Lavorare con le macro VBA

L'API Libxlsxwriter offre agli sviluppatori di software la facilità di aggiungere un file VBA contenente funzioni o macro a una cartella di lavoro XLSX. I file Excel che contengono funzioni e macro devono utilizzare un'estensione XLSM, altrimenti Excel si lamenterà e probabilmente non aprirà il file. Le macro VBA normalmente si riferiscono a cartelle di lavoro e oggetti foglio di lavoro. Se i nomi in codice VBA non sono specificati in modo esplicito, libxlsxwriter utilizzerà i valori predefiniti di Excel di ThisWorkbook e Sheet1, Sheet2, ecc.

Aggiungere BA Marcos a Excel Cookbook all'interno di App C

 
#include "xlsxwriter.h"
int main() {
    /* Note the xlsm extension of the filename */
    lxw_workbook  *workbook  = workbook_new("macro.xlsm");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    worksheet_set_column(worksheet, COLS("A:A"), 30, NULL);
    /* Add a macro file extracted from an Excel workbook. */
    workbook_add_vba_project(workbook, "vbaProject.bin");
    worksheet_write_string(worksheet, 2, 0, "Press the button to say hello.", NULL);
    lxw_button_options options = {.caption = "Press Me", .macro = "say_hello",
                                  .width = 80, .height = 30};
     worksheet_insert_button(worksheet, 2, 1, &options);
    return workbook_close(workbook);
}
 Italiano