Nyílt forráskódú C-könyvtár Excel-táblázatokhoz
Microsoft Excel 2007 és XLSX táblázatfájlok létrehozása, szerkesztése, manipulálása és konvertálása, táblázatok egyesítése, diagramok hozzáadása a munkalapokhoz a nyílt forráskódú C API-n keresztül.
A Libxlsxwriter egy nyílt forráskódú C-könyvtár, amely használható a Microsoft Excel 2007, valamint az Excel XLSX fájlokkal való együttműködéshez saját alkalmazásaiban. A Libxlsxwriter könyvtár nagyon kompatibilis az Excel XLSX fájlokkal, és lehetővé teszi a fejlesztők számára az XLSX táblázatok egyszerű létrehozását, módosítását és feldolgozását. A könyvtár zökkenőmentesen működik olyan vezető platformokon, mint a Linux, FreeBSD, OpenBSD, OS X, iOS és Windows. 32 és 64 bitesre is tud fordítani.
A nyílt forráskódú Libxlsxwriter könyvtár jól optimalizált, és megfelelően tud működni a nagy táblázatkezelő fájlokkal. Számos fontos funkciót támogat, például táblázatcellák egyesítése, nevek meghatározása, automatikus szűrők támogatása, diagramok hozzáadása munkalapoldalakhoz, adatellenőrzés és legördülő listák, PNG/JPEG képek hozzáadása, cella megjegyzések hozzáadása, VBA makrók használata , oszlop hozzáadása vagy eltávolítása egy lapról, és még sok más.
A Libxlsxwriter használatának megkezdése
A Libxlsxwriter támogatja a CMake-et a könyvtár felépítéséhez és telepítéséhez. Kérjük, használja a következő parancsot.
Telepítse a libxlsxwriter programot a CRAN-on keresztül
cmake $SOURCE_DIR $FLAGS
Klónozza a libxlsxwriter forráskód-tárat a GitHubból. Kérjük, használja a következő kódot.
Telepítse a libxlsxwriter programot a GitHubon keresztül
it clone https://github.com/jmcnamara/libxlsxwriter.git
# Or use your preferred protocol instead of https
C API az Excel XLSX táblázat létrehozásához
A nyílt forráskódú Libxlsxwriter API lehetővé teszi a szoftverfejlesztők számára, hogy Excel XLSX-táblázatokat hozzanak létre és módosítsanak C-alkalmazásaikon belül. Az API támogatja szövegek, számok, képletek és hiperhivatkozások írását több munkalapra egy Excel-táblázatfájlba. Könnyedén importálhat vagy exportálhat adatokat Excel-fájlokból, egyesíthet vagy feloszthat lapokat, kereshet adatokat és még sok mást.
Excel Spreadsheet létrehozása keresztül 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;
}
Munka Excel diagramokkal
A Libxlsxwriter API lehetőséget biztosít diagramok hozzáadására és módosítására Excel-táblázatokhoz C parancsok használatával. A diagramjelölő függvények segítségével diagramokat hozhat létre és kezelhet. Hozzáadhat egy trendvonalat az adatok trendjeinek jelzéséhez, a hibasávokat pedig az adatok hibahatárainak jelzéséhez. A diagramsorozatokhoz adatcímkéket is megadhat, amelyek jelzik a kirajzolt adatpontok értékeit. Könnyen alkalmazhatja a diagram formázási tulajdonságait bármely diagramobjektumra.
Charts in Excel Worksheet keresztül 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);
}
Dolgozzon az Excel adatellenőrzésével
Az adatellenőrzés egy Excel-szolgáltatás, amely lehetővé teszi a fejlesztők számára, hogy szabályozzák, hogy a felhasználók mit írnak be egy Excel-cellába. Például korlátozhatja a felhasználókat, hogy 1 és 6 közötti számot adjanak meg, vagy győződjön meg arról, hogy a szövegbevitel egy cellában 25 karakternél rövidebb. A Libxlsxwriter API számos lehetőséget kínál a felhasználói bevitel érvényesítésére, például bármely érték, egész szám, tizedesjegy, lista, dátum, idő, szöveghossz vagy egyéni képlet.
Kijelző testre Üzenet Amikor az Integer nem 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";
VBA makrók használata
A Libxlsxwriter API segítségével a szoftverfejlesztők könnyedén hozzáadhatnak függvényeket vagy makrókat tartalmazó VBA-fájlt egy XLSX-munkafüzethez. A függvényeket és makrókat tartalmazó Excel-fájloknak XLSM kiterjesztést kell használniuk, különben az Excel panaszt tesz, és esetleg nem nyitja meg a fájlt. A VBA makrók általában munkafüzetekre és munkalapobjektumokra vonatkoznak. Ha a VBA kódnevek nincsenek kifejezetten megadva, akkor a libxlsxwriter a ThisWorkbook és a Sheet1, Sheet2 stb. Excel alapértelmezéseit fogja használni.
BA Marcos hozzáadása az Excel Cookbook-hoz C alkalmazásokban
#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);
}