1. Produse
  2.   Foaie de calcul
  3.   C++
  4.   Libxlsxwriter
 
  

Bibliotecă C open source pentru foi de calcul Excel

Creați, editați, manipulați și conversia fișierelor de foi de calcul Microsoft Excel 2007 și XLSX, îmbinând foi de calcul, adăugând diagrame în foaia de lucru prin API-ul Open Source C.

Libxlsxwriter este o bibliotecă C open source care poate fi folosită pentru a lucra cu Microsoft Excel 2007, precum și cu fișierele Excel XLSX din propriile aplicații. Biblioteca Libxlsxwriter este foarte compatibilă cu fișierele Excel XLSX și permite dezvoltatorilor să creeze, să modifice și să proceseze foi de calcul XLSX cu ușurință. Biblioteca funcționează fără probleme pe platforme de top precum Linux, FreeBSD, OpenBSD, OS X, iOS și Windows. Se poate compila pentru 32 de biți, precum și pentru 64 de biți.

Biblioteca open source Libxlsxwriter este bine optimizată și poate funcționa corect cu fișiere mari de foi de calcul. Acesta a inclus suport pentru mai multe caracteristici importante, cum ar fi Îmbinarea celulelor foii de calcul, definirea numelor, suportul pentru filtre automate, adăugarea de diagrame în paginile foilor de lucru, validarea datelor și listele derulante, adăugarea de imagini PNG/JPEG, adăugarea de comentarii la celule, lucrul cu macrocomenzi VBA , adăugarea sau eliminarea coloanei dintr-o foaie și multe altele.

Previous Next

Noțiuni introductive cu Libxlsxwriter

Libxlsxwriter acceptă CMake pentru construirea și instalarea bibliotecii. Vă rugăm să utilizați următoarea comandă.

Instalați libxlsxwriter prin CRAN

 cmake $SOURCE_DIR $FLAGS 

Clonează depozitul de cod sursă libxlsxwriter din GitHub. Vă rugăm să utilizați următorul cod.

Instalați libxlsxwriter prin GitHub

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

C API pentru a crea o foaie de calcul Excel XLSX

API-ul Libxlsxwriter open source le permite dezvoltatorilor de software să creeze și să modifice foi de calcul Excel XLSX în aplicațiile lor C. API-ul oferă suport pentru scrierea de text, numere, formule și hyperlinkuri către mai multe foi de lucru într-un fișier de foaie de calcul Excel. Puteți importa sau exporta cu ușurință date din fișiere Excel și puteți îmbina sau împărți foi, puteți căuta date și multe altele.

Creați o foaie de calcul Excel prin 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;
}

Lucrul cu diagramele Excel

API-ul Libxlsxwriter a oferit funcționalități pentru adăugarea și modificarea diagramelor în foile de calcul Excel folosind comenzile C. Puteți utiliza funcțiile de marcare a diagramelor pentru a genera și gestiona diagrame. De asemenea, puteți adăuga o linie de tendință pentru a indica tendințele în date și barele de eroare pentru a indica limitele de eroare în date. De asemenea, puteți eticheta o serie de diagrame pentru a indica valorile punctelor de date reprezentate. Puteți aplica cu ușurință proprietățile de formatare a diagramei oricărui obiect de diagramă.

Creați diagrame în Excel Worksheet prin 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);
}

Lucrați cu Excel Data Validation

Validarea datelor este o caracteristică Excel care le permite dezvoltatorilor să controleze ceea ce utilizatorii introduc într-o celulă Excel. De exemplu, puteți restricționa utilizatorii să introducă un număr între 1 și 6 sau vă puteți asigura că textul introdus într-o celulă are mai puțin de 25 de caractere. API-ul Libxlsxwriter oferă numeroase opțiuni pentru a valida introducerea utilizatorului, cum ar fi orice valoare, număr întreg, zecimal, listă, dată, oră, lungime text sau formulă personalizată.

Afișați mesaj personalizat atunci când Integer nu este 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";

Lucrul cu macrocomenzi VBA

API-ul Libxlsxwriter oferă dezvoltatorilor de software ușurința de a adăuga un fișier VBA care conține funcții sau macrocomenzi la un registru de lucru XLSX. Fișierele Excel care conțin funcții și macrocomenzi ar trebui să utilizeze o extensie XLSM, altfel Excel se va plânge și, eventual, nu va deschide fișierul. Macrocomenzile VBA se referă în mod normal la registrele de lucru și la obiectele foilor de lucru. Dacă numele de cod VBA nu sunt specificate în mod explicit, libxlsxwriter va folosi valorile implicite Excel ale ThisWorkbook și Sheet1, Sheet2 etc.

Adăugați BA Marcos în Excel Cookbook în aplicațiile 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);
}
 Română