1. Produkter
  2.   Regneark
  3.   C++
  4.   Libxlsxwriter
 
  

Open Source C-bibliotek til Excel-regneark

Opret, rediger, manipuler og konverter Microsoft Excel 2007- og XLSX-regnearkfiler, flet regneark, føj diagrammer til regneark via Open Source C API.

Libxlsxwriter er et open source C-bibliotek, der kan bruges til at arbejde med Microsoft Excel 2007 såvel som Excel XLSX-filer i dine egne applikationer. Libxlsxwriter-biblioteket er meget kompatibelt med Excel XLSX-filer og giver udviklere mulighed for nemt at oprette, ændre og behandle XLSX-regneark. Biblioteket fungerer problemfrit på førende platforme som Linux, FreeBSD, OpenBSD, OS X, iOS og Windows. Det kan kompilere til 32 såvel som til 64-bit.

Open source Libxlsxwriter-biblioteket er godt optimeret og kan fungere korrekt med store regnearksfiler. Det har inkluderet understøttelse af flere vigtige funktioner, såsom fletning af regnearksceller, definition af navne, understøttelse af autofiltre, tilføjelse af diagrammer til regnearkssider, datavalidering og rullelister, tilføjelse af PNG/JPEG-billeder, tilføjelse af cellekommentarer, arbejde med VBA-makroer , tilføjelse eller fjernelse af kolonnen fra et ark og mange flere.

Previous Next

Kom godt i gang med Libxlsxwriter

Libxlsxwriter understøtter CMake til opbygning og installation af biblioteket. Brug venligst følgende kommando.

Installer libxlsxwriter via CRAN

 cmake $SOURCE_DIR $FLAGS 

Klon libxlsxwriter-kildekodelageret fra GitHub. Brug venligst følgende kode.

Installer libxlsxwriter via GitHub

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

C API til at oprette Excel XLSX-regneark

Open source Libxlsxwriter API gør det muligt for softwareudviklere at oprette og ændre Excel XLSX-regneark i deres C-applikationer. API'en understøtter skrivning af tekst, tal, formler og hyperlinks til flere regneark i en Excel-regnearksfil. Du kan nemt importere eller eksportere data fra Excel-filer og kan flette eller opdele ark, søge i data og meget mere.

Opret Excel-regneark 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;
}

Arbejde med Excel-diagrammer

Libxlsxwriter API'en har givet funktionalitet til at tilføje og ændre diagrammer til Excel-regneark ved hjælp af C-kommandoer. Du kan bruge diagrammarkørfunktioner til at generere og administrere diagrammer. Du kan også tilføje en tendenslinje for at angive tendenser i dataene og fejlbjælker for at angive fejlgrænser i dataene. Du kan også dataetiketter til en diagramserie for at angive værdierne af de plottede datapunkter. Du kan nemt anvende diagramformateringsegenskaber på ethvert diagramobjekt.

Opret diagrammer i Excel-regneark via 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);
}

Arbejd med Excel-datavalidering

Datavalidering er en Excel-funktion, der lader udviklere kontrollere, hvad brugere indtaster i en Excel-celle. For eksempel kan du begrænse brugere til at indtaste et tal mellem 1 og 6 eller sørge for, at tekstindtastningen i en celle er på mindre end 25 tegn. Libxlsxwriter API'en giver adskillige muligheder for at validere brugerinput såsom Enhver værdi, Heltal, Decimal, Liste, Dato, Tid, Tekstlængde eller tilpasset formel.

Vis Tilpas besked, når heltal ikke er b/t 1 og 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";

Arbejder med VBA-makroer

Libxlsxwriter API giver softwareudviklere let at tilføje en VBA-fil, der indeholder funktioner eller makroer, til en XLSX-projektmappe. Excel-filer, der indeholder funktioner og makroer, skal bruge en XLSM-udvidelse, ellers vil Excel klage og muligvis ikke åbne filen. VBA-makroerne refererer normalt til projektmapper og regnearksobjekter. Hvis VBA-kodenavnene ikke er specificeret eksplicit, vil libxlsxwriter bruge Excel-standarderne for ThisWorkbook og Sheet1, Sheet2 osv.

Tilføj VBA-makroer til Excel-projektmappe i 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);
}
 Dansk