Open-Source-C-Bibliothek für Excel-Tabellen
Erstellen, Bearbeiten, Bearbeiten und Konvertieren von Microsoft Excel 2007- und XLSX-Tabellendateien, Zusammenführen von Tabellenkalkulationen, Hinzufügen von Diagrammen zu Arbeitsblättern über die Open-Source-C-API.
Libxlsxwriter ist eine Open-Source-C-Bibliothek, die verwendet werden kann, um mit Microsoft Excel 2007 sowie Excel XLSX-Dateien in Ihren eigenen Anwendungen zu arbeiten. Die Libxlsxwriter-Bibliothek ist sehr kompatibel mit Excel-XLSX-Dateien und ermöglicht Entwicklern das einfache Erstellen, Ändern und Verarbeiten von XLSX-Tabellen. Die Bibliothek funktioniert reibungslos auf führenden Plattformen wie Linux, FreeBSD, OpenBSD, OS X, iOS und Windows. Es kann sowohl für 32 als auch für 64-Bit kompiliert werden.
Die Open-Source-Libxlsxwriter-Bibliothek ist gut optimiert und kann mit großen Tabellenkalkulationsdateien richtig arbeiten. Es enthält Unterstützung für mehrere wichtige Funktionen, wie z. B. das Zusammenführen von Tabellenkalkulationszellen, das Definieren von Namen, die Unterstützung von Autofiltern, das Hinzufügen von Diagrammen zu Arbeitsblattseiten, die Datenvalidierung und Dropdown-Listen, das Hinzufügen von PNG-/JPEG-Bildern, das Hinzufügen von Zellkommentaren und das Arbeiten mit VBA-Makros , Hinzufügen oder Entfernen der Spalte aus einem Blatt und vieles mehr.
Erste Schritte mit Libxlsxwriter
Libxlsxwriter unterstützt CMake zum Erstellen und Installieren der Bibliothek. Bitte verwenden Sie den folgenden Befehl.
Installieren Sie libxlsxwriter über CRAN
cmake $SOURCE_DIR $FLAGS
Klonen Sie das libxlsxwriter-Quellcode-Repository von GitHub. Bitte verwenden Sie den folgenden Code.
Installieren Sie libxlsxwriter über GitHub
it clone https://github.com/jmcnamara/libxlsxwriter.git
# Or use your preferred protocol instead of https
C-API zum Erstellen einer Excel-XLSX-Tabelle
Die Open-Source-API Libxlsxwriter ermöglicht es Softwareentwicklern, Excel-XLSX-Tabellen in ihren C-Anwendungen zu erstellen und zu ändern. Die API bietet Unterstützung für das Schreiben von Text, Zahlen, Formeln und Hyperlinks zu mehreren Arbeitsblättern in einer Excel-Tabellendatei. Sie können ganz einfach Daten aus Excel-Dateien importieren oder exportieren und Blätter zusammenführen oder aufteilen, Daten durchsuchen und vieles mehr.
Erstellen Sie Excel Spreadsheet über 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;
}
Arbeiten mit Excel-Diagrammen
Die Libxlsxwriter-API bietet Funktionen zum Hinzufügen und Ändern von Diagrammen zu Excel-Tabellen mithilfe von C-Befehlen. Sie können Diagrammmarkierungsfunktionen verwenden, um Diagramme zu erstellen und zu verwalten. Sie können auch eine Trendlinie hinzufügen, um Trends in den Daten anzuzeigen, und Fehlerbalken, um Fehlergrenzen in den Daten anzuzeigen. Sie können auch Datenbeschriftungen zu einer Diagrammreihe hinzufügen, um die Werte der gezeichneten Datenpunkte anzugeben. Sie können ganz einfach Diagrammformatierungseigenschaften auf jedes Diagrammobjekt anwenden.
Create Charts in Excel Worksheets 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);
}
Arbeiten Sie mit der Excel-Datenvalidierung
Die Datenvalidierung ist eine Excel-Funktion, mit der Entwickler steuern können, was Benutzer in eine Excel-Zelle eingeben. Beispielsweise können Sie Benutzer darauf beschränken, eine Zahl zwischen 1 und 6 einzugeben, oder sicherstellen, dass die Texteingabe in einer Zelle weniger als 25 Zeichen umfasst. Die Libxlsxwriter-API bietet zahlreiche Optionen zur Validierung von Benutzereingaben wie z. B. beliebiger Wert, ganze Zahl, Dezimalzahl, Liste, Datum, Uhrzeit, Textlänge oder benutzerdefinierte Formel.
Display Customize Message When Integer is not 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";
Arbeiten mit VBA-Makros
Die Libxlsxwriter-API gibt Softwareentwicklern die Möglichkeit, einer XLSX-Arbeitsmappe eine VBA-Datei hinzuzufügen, die Funktionen oder Makros enthält. Excel-Dateien, die Funktionen und Makros enthalten, sollten eine XLSM-Erweiterung verwenden, sonst beschwert sich Excel und öffnet die Datei möglicherweise nicht. Die VBA-Makros beziehen sich normalerweise auf Arbeitsmappen und Arbeitsblattobjekte. Wenn die VBA-Codenamen nicht explizit angegeben werden, verwendet libxlsxwriter die Excel-Standardwerte von ThisWorkbook und Sheet1, Sheet2 usw.
Add BA Marcos to Excel Cookbook in 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);
}