1. Produkti
  2.   Izklājlapa
  3.   C++
  4.   Libxlsxwriter
 
  

Atvērtā pirmkoda C bibliotēka Excel izklājlapām

Izveidojiet, rediģējiet, manipulējiet un konvertējiet Microsoft Excel 2007 un XLSX izklājlapu failus, sapludiniet izklājlapas, pievienojiet diagrammas darblapai, izmantojot atvērtā koda C API.

Libxlsxwriter ir atvērtā koda C bibliotēka, ko var izmantot darbam ar Microsoft Excel 2007, kā arī Excel XLSX failiem jūsu lietojumprogrammās. Libxlsxwriter bibliotēka ir ļoti saderīga ar Excel XLSX failiem un ļauj izstrādātājiem viegli izveidot, modificēt un apstrādāt XLSX izklājlapas. Bibliotēka darbojas nevainojami tādās vadošajās platformās kā Linux, FreeBSD, OpenBSD, OS X, iOS un Windows. To var kompilēt gan 32, gan 64 bitiem.

Atvērtā koda Libxlsxwriter bibliotēka ir labi optimizēta un var pareizi darboties ar lieliem izklājlapu failiem. Tas ir iekļāvis atbalstu vairākām svarīgām funkcijām, piemēram, izklājlapu šūnu sapludināšanai, nosaukumu noteikšanai, automātisko filtru atbalstam, diagrammu pievienošanai darblapu lapām, datu validācijai un nolaižamajiem sarakstiem, PNG/JPEG attēlu pievienošanai, šūnu komentāru pievienošanai, darbam ar VBA makro. , pievienojot vai noņemot kolonnu no lapas un daudz ko citu.

Previous Next

Darba sākšana ar Libxlsxwriter

Libxlsxwriter atbalsta CMake bibliotēkas izveidošanai un instalēšanai. Lūdzu, izmantojiet šādu komandu.

Instalējiet libxlsxwriter, izmantojot CRAN

 cmake $SOURCE_DIR $FLAGS 

Klonējiet libxlsxwriter pirmkoda repozitoriju no GitHub. Lūdzu, izmantojiet tālāk norādīto kodu.

Instalējiet libxlsxwriter, izmantojot GitHub

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

C API, lai izveidotu Excel XLSX izklājlapu

Atvērtā koda Libxlsxwriter API ļauj programmatūras izstrādātājiem izveidot un modificēt Excel XLSX izklājlapas savās C lietojumprogrammās. API nodrošina atbalstu teksta, skaitļu, formulu un hipersaišu rakstīšanai uz vairākām darblapām Excel izklājlapas failā. Varat viegli importēt vai eksportēt datus no Excel failiem, kā arī apvienot vai sadalīt lapas, meklēt datus un daudz ko citu.

Izveidojiet Excel izklājlapu, izmantojot 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;
}

Darbs ar Excel diagrammām

Libxlsxwriter API ir nodrošinājusi funkcionalitāti diagrammu pievienošanai un modificēšanai Excel izklājlapām, izmantojot C komandas. Diagrammu marķieru funkcijas varat izmantot, lai ģenerētu un pārvaldītu diagrammas. Varat arī pievienot tendenču līniju, lai norādītu tendences datos, un kļūdu joslas, lai norādītu kļūdu robežas datos. Diagrammu sērijai var arī pievienot datu etiķetes, lai norādītu attēloto datu punktu vērtības. Diagrammas formatēšanas rekvizītus varat viegli lietot jebkuram diagrammas objektam.

Izveidojiet diagrammas Excel darblapā, izmantojot 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);
}

Darbs ar Excel datu validāciju

Datu validācija ir Excel līdzeklis, kas ļauj izstrādātājiem kontrolēt, ko lietotāji ievada Excel šūnā. Piemēram, varat ierobežot lietotājus ievadīt skaitli no 1 līdz 6 vai nodrošināt, ka teksta ievade šūnā ir mazāka par 25 rakstzīmēm. Libxlsxwriter API nodrošina daudzas iespējas, lai apstiprinātu lietotāja ievadi, piemēram, jebkuru vērtību, veselu skaitli, decimāldaļu, sarakstu, datumu, laiku, teksta garumu vai pielāgotu formulu.

Parādīt Pielāgot ziņojumu, ja veselais skaitlis nav b/t 1 un 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";

Darbs ar VBA makro

Libxlsxwriter API sniedz programmatūras izstrādātājiem iespēju XLSX darbgrāmatai viegli pievienot VBA failu, kas satur funkcijas vai makro. Excel failiem, kuros ir funkcijas un makro, jāizmanto XLSM paplašinājums, pretējā gadījumā programma Excel sūdzēsies un, iespējams, neatvērs failu. VBA makro parasti attiecas uz darbgrāmatām un darblapu objektiem. Ja VBA koda nosaukumi nav skaidri norādīti, libxlsxwriter izmantos Excel noklusējuma iestatījumus programmā ThisWorkbook un Sheet1, Sheet2 utt.

Pievienojiet VBA makro Excel darbgrāmatai programmā 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);
}
 Latviski