1. Produktai
  2.   Skaičiuoklė
  3.   C++
  4.   Libxlsxwriter
 
  

Atvirojo kodo C biblioteka, skirta „Excel“ skaičiuoklėms

Kurkite, redaguokite, manipuliuokite ir konvertuokite Microsoft Excel 2007 ir XLSX skaičiuoklės failus, sujunkite skaičiuokles, pridėkite diagramas į darbalapį naudodami atvirojo kodo C API.

Libxlsxwriter yra atvirojo kodo C biblioteka, kurią galima naudoti dirbant su Microsoft Excel 2007 ir Excel XLSX failais jūsų programose. Libxlsxwriter biblioteka yra labai suderinama su Excel XLSX failais ir leidžia kūrėjams lengvai kurti, modifikuoti ir apdoroti XLSX skaičiuokles. Biblioteka sklandžiai veikia tokiose pirmaujančiose platformose kaip Linux, FreeBSD, OpenBSD, OS X, iOS ir Windows. Jis gali kompiliuoti 32 ir 64 bitams.

Atvirojo kodo Libxlsxwriter biblioteka yra gerai optimizuota ir gali tinkamai dirbti su dideliais skaičiuoklių failais. Ji apima keletą svarbių funkcijų, tokių kaip skaičiuoklės langelių sujungimas, pavadinimų nustatymas, automatinių filtrų palaikymas, diagramų įtraukimas į darbalapio puslapius, duomenų patvirtinimas ir išskleidžiamieji sąrašai, PNG / JPEG vaizdų pridėjimas, langelių komentarų pridėjimas, darbas su VBA makrokomandomis. , stulpelio pridėjimas arba pašalinimas iš lapo ir daug daugiau.

Previous Next

Darbo su Libxlsxwriter pradžia

Libxlsxwriter palaiko CMake kuriant ir diegiant biblioteką. Prašome naudoti šią komandą.

Įdiekite libxlsxwriter per CRAN

 cmake $SOURCE_DIR $FLAGS 

Klonuokite libxlsxwriter šaltinio kodo saugyklą iš GitHub. Prašome naudoti šį kodą.

Įdiekite libxlsxwriter per „GitHub“.

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

C API, skirta sukurti Excel XLSX skaičiuoklę

Atvirojo kodo Libxlsxwriter API leidžia programinės įrangos kūrėjams kurti ir modifikuoti Excel XLSX skaičiuokles savo C programose. API palaiko teksto, skaičių, formulių ir hipersaitų rašymą į kelis darbalapius Excel skaičiuoklės faile. Galite lengvai importuoti arba eksportuoti duomenis iš „Excel“ failų, sujungti arba padalinti lapus, ieškoti duomenų ir dar daugiau.

Sukurkite „Excel“ skaičiuoklę naudodami 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;
}

Darbas su Excel diagramomis

„Libxlsxwriter“ API suteikė funkcionalumą, leidžiantį pridėti ir keisti diagramas į „Excel“ skaičiuokles naudojant C komandas. Diagramoms kurti ir tvarkyti galite naudoti diagramų žymeklio funkcijas. Taip pat galite pridėti tendencijų liniją, kad nurodytumėte duomenų tendencijas, ir klaidų juostas, kad nurodytumėte duomenų klaidų ribas. Taip pat galite pažymėti diagramų serijų duomenų etiketes, kad nurodytumėte nubrėžtų duomenų taškų reikšmes. Galite lengvai pritaikyti diagramos formatavimo ypatybes bet kuriam diagramos objektui.

Sukurkite diagramas „Excel“ darbalapyje naudodami „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);
}

Darbas su Excel duomenų patvirtinimu

Duomenų tikrinimas yra „Excel“ funkcija, leidžianti kūrėjams valdyti, ką vartotojai įveda į „Excel“ langelį. Pavyzdžiui, galite apriboti vartotojus įvesti skaičių nuo 1 iki 6 arba įsitikinti, kad teksto įvedimas langelyje yra mažesnis nei 25 simboliai. Libxlsxwriter API suteikia daugybę parinkčių, leidžiančių patvirtinti vartotojo įvestį, pvz., bet kokią reikšmę, visą skaičių, dešimtainį skaičių, sąrašą, datą, laiką, teksto ilgį arba pasirinktinę formulę.

Rodyti tinkinti pranešimą, kai sveikasis skaičius nėra b/t 1 ir 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";

Darbas su VBA makrokomandomis

Libxlsxwriter API programinės įrangos kūrėjams suteikia galimybę lengvai įtraukti VBA failą su funkcijomis arba makrokomandomis į XLSX darbaknygę. „Excel“ failuose, kuriuose yra funkcijų ir makrokomandų, turėtų būti naudojamas XLSM plėtinys, kitaip „Excel“ pasiskųs ir galbūt neatidarys failo. VBA makrokomandos paprastai nurodo darbaknyges ir darbalapio objektus. Jei VBA kodų pavadinimai nėra aiškiai nurodyti, tada libxlsxwriter naudos numatytuosius „Excel“ nustatymus „ThisWorkbook“ ir „Sheet1“, „Sheet2“ ir kt.

Pridėkite VBA makrokomandas į „Excel“ darbaknygę „C Apps“.

 
#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);
}
 Lietuvių