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

Open Source C-bibliotek för Excel-kalkylblad

Skapa, redigera, manipulera och konvertera Microsoft Excel 2007 och XLSX-kalkylbladsfiler, slå samman kalkylblad, lägga till diagram till kalkylblad via Open Source C API.

Libxlsxwriter är ett C-bibliotek med öppen källkod som kan användas för att arbeta med Microsoft Excel 2007 såväl som Excel XLSX-filer i dina egna applikationer. Libxlsxwriter-biblioteket är mycket kompatibelt med Excel XLSX-filer och låter utvecklare skapa, modifiera och bearbeta XLSX-kalkylblad med lätthet. Biblioteket fungerar smidigt på ledande plattformar som Linux, FreeBSD, OpenBSD, OS X, iOS och Windows. Den kan kompilera för 32 såväl som för 64-bitars.

Libxlsxwriter-biblioteket med öppen källkod är väl optimerat och kan fungera korrekt med stora kalkylbladsfiler. Det har inkluderat stöd för flera viktiga funktioner, som att slå samman kalkylbladsceller, definiera namn, stöd för autofilter, lägga till diagram på kalkylbladssidor, datavalidering och rullgardinslistor, lägga till PNG/JPEG-bilder, lägga till cellkommentarer, arbeta med VBA-makron , lägga till eller ta bort kolumnen från ett ark och många fler.

Previous Next

Komma igång med Libxlsxwriter

Libxlsxwriter stöder CMake för att bygga och installera biblioteket. Använd följande kommando.

Installera libxlsxwriter via CRAN

 cmake $SOURCE_DIR $FLAGS 

Klona libxlsxwriter källkodsförrådet från GitHub. Använd följande kod.

Installera libxlsxwriter via GitHub

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

C API för att skapa Excel XLSX-kalkylblad

Libxlsxwriter API med öppen källkod gör det möjligt för mjukvaruutvecklare att skapa och modifiera Excel XLSX-kalkylblad i sina C-applikationer. API:et ger stöd för att skriva text, siffror, formler och hyperlänkar till flera kalkylblad i en Excel-kalkylbladsfil. Du kan enkelt importera eller exportera data från Excel-filer och kan slå samman eller dela ark, söka efter data och mycket mer.

Skapa Excel Spreadsheet 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;
}

Arbeta med Excel-diagram

Libxlsxwriter API har tillhandahållit funktionalitet för att lägga till och ändra diagram till Excel-kalkylblad med C-kommandon. Du kan använda diagrammarkeringsfunktioner för att generera och hantera diagram. Du kan också lägga till en trendlinje för att indikera trender i data och felstaplar för att indikera felgränser i data. Du kan också dataetiketter till en diagramserie för att indikera värdena för de plottade datapunkterna. Du kan enkelt tillämpa diagramformateringsegenskaper på alla diagramobjekt.

Skapa diagram i Excel Worksheet 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);
}

Arbeta med Excel-datavalidering

Datavalidering är en Excel-funktion som låter utvecklare kontrollera vad användare anger i en Excel-cell. Du kan till exempel begränsa användare att ange ett nummer mellan 1 och 6 eller se till att textinmatningen i en cell är mindre än 25 tecken. Libxlsxwriter API ger många alternativ för att validera användarinmatning som valfritt värde, heltal, decimaltal, lista, datum, tid, textlängd eller anpassad formel.

Display anpassad Meddelande när Integer inte är 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";

Arbeta med VBA-makron

Libxlsxwriter API ger mjukvaruutvecklare lätt att lägga till en VBA-fil som innehåller funktioner eller makron till en XLSX-arbetsbok. Excel-filer som innehåller funktioner och makron bör använda en XLSM-tillägg, annars kommer Excel att klaga och eventuellt inte öppna filen. VBA-makron refererar normalt till arbetsböcker och kalkylbladsobjekt. Om VBA-kodnamnen inte anges explicit kommer libxlsxwriter att använda Excel-standardinställningarna för ThisWorkbook och Sheet1, Sheet2, etc.

Lägg till BA Marcos till Excel Cookbook inuti 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);
}
 Svenska