1. produkty
  2.   Tabulka
  3.   C++
  4.   Libxlsxwriter
 
  

Open Source C Library pro Excel tabulky

Vytvářejte, upravujte, upravujte a převádějte soubory tabulek Microsoft Excel 2007 a XLSX, slučování tabulek, přidávání grafů do sešitu prostřednictvím rozhraní Open Source C API.

Libxlsxwriter je open source knihovna C, kterou lze použít pro práci se soubory Microsoft Excel 2007 i Excel XLSX ve vašich vlastních aplikacích. Knihovna Libxlsxwriter je velmi kompatibilní se soubory Excel XLSX a umožňuje vývojářům snadno vytvářet, upravovat a zpracovávat tabulky XLSX. Knihovna funguje bez problémů na předních platformách jako Linux, FreeBSD, OpenBSD, OS X, iOS a Windows. Může kompilovat pro 32 i 64 bitů.

Open source knihovna Libxlsxwriter je dobře optimalizovaná a dokáže správně pracovat s velkými tabulkovými soubory. Zahrnuje podporu několika důležitých funkcí, jako je slučování buněk tabulky, definování názvů, podpora automatických filtrů, přidávání grafů na stránky listu, ověřování dat a rozevírací seznamy, přidávání obrázků PNG/JPEG, přidávání komentářů k buňkám, práce s makry VBA , přidání nebo odebrání sloupce z listu a mnoho dalších.

Previous Next

Začínáme s Libxlsxwriter

Libxlsxwriter podporuje CMake pro vytváření a instalaci knihovny. Použijte prosím následující příkaz.

Nainstalujte libxlsxwriter přes CRAN

 cmake $SOURCE_DIR $FLAGS 

Naklonujte úložiště zdrojového kódu libxlsxwriter z GitHubu. Použijte prosím následující kód.

Nainstalujte libxlsxwriter přes GitHub

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

C API pro vytvoření Excel XLSX tabulky

Open source Libxlsxwriter API umožňuje vývojářům softwaru vytvářet a upravovat Excel XLSX Spreadsheets uvnitř jejich C aplikací. Rozhraní API poskytuje podporu pro psaní textu, čísel, vzorců a hypertextových odkazů na více listů v souboru tabulky aplikace Excel. Můžete snadno importovat nebo exportovat data ze souborů aplikace Excel a můžete slučovat nebo rozdělovat listy, vyhledávat data a mnoho dalšího.

Vytvořit Excel Spreadsheet pomocí 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;
}

Práce s grafy Excel

Libxlsxwriter API poskytuje funkce pro přidávání a úpravu grafů do tabulek Excelu pomocí příkazů C. K vytváření a správě grafů můžete použít funkce značek grafů. Můžete také přidat spojnici trendu pro označení trendů v datech a chybové úsečky pro označení chybových hranic v datech. Můžete také označit datové řady k řadě grafů, abyste označili hodnoty vykreslených datových bodů. Vlastnosti formátování grafu můžete snadno použít na jakýkoli objekt grafu.

Vytvořit grafy v Excel Pracovní list prostřednictvím 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);
}

Práce s ověřováním dat v Excelu

Ověření dat je funkce aplikace Excel, která umožňuje vývojářům řídit, co uživatelé zadávají do buňky aplikace Excel. Můžete například omezit uživatele na zadávání čísla mezi 1 a 6 nebo zajistit, aby text v buňce měl méně než 25 znaků. Libxlsxwriter API poskytuje řadu možností pro ověření uživatelského vstupu, jako je jakákoli hodnota, celé číslo, desetinné číslo, seznam, datum, čas, délka textu nebo vlastní vzorec.

Zobrazit přizpůsobit Zpráva Kdy Integer není 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";

Práce s makry VBA

Libxlsxwriter API umožňuje vývojářům softwaru snadno přidat soubor VBA obsahující funkce nebo makra do sešitu XLSX. Soubory Excel, které obsahují funkce a makra, by měly používat příponu XLSM, jinak si Excel bude stěžovat a soubor možná neotevře. Makra VBA se obvykle vztahují k sešitům a objektům listu. Pokud kódové názvy VBA nejsou explicitně specifikovány, pak libxlsxwriter použije výchozí Excel ThisWorkbook a Sheet1, Sheet2 atd.

Přidat BA Marcos do Excel Cookbook uvnitř 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);
}
 Čeština