Bibliothèque Open Source C pour les feuilles de calcul Excel
Créez, modifiez, manipulez et convertissez des fichiers de feuille de calcul Microsoft Excel 2007 et XLSX, fusionnez des feuilles de calcul, ajoutez des graphiques à la feuille de calcul via l'API Open Source C.
Libxlsxwriter est une bibliothèque C open source qui peut être utilisée pour travailler avec Microsoft Excel 2007 ainsi que des fichiers Excel XLSX dans vos propres applications. La bibliothèque Libxlsxwriter est très compatible avec les fichiers Excel XLSX et permet aux développeurs de créer, modifier et traiter facilement des feuilles de calcul XLSX. La bibliothèque fonctionne sans problème sur les principales plates-formes telles que Linux, FreeBSD, OpenBSD, OS X, iOS et Windows. Il peut compiler pour 32 ainsi que pour 64 bits.
La bibliothèque open source Libxlsxwriter est bien optimisée et peut fonctionner correctement avec des fichiers de feuille de calcul volumineux. Il a inclus la prise en charge de plusieurs fonctionnalités importantes, telles que la fusion de cellules de feuille de calcul, la définition de noms, la prise en charge des filtres automatiques, l'ajout de graphiques aux pages de feuille de calcul, la validation des données et les listes déroulantes, l'ajout d'images PNG/JPEG, l'ajout de commentaires de cellule, l'utilisation de macros VBA. , ajouter ou supprimer la colonne d'une feuille, etc.
Premiers pas avec Libxlsxwriter
Libxlsxwriter prend en charge CMake pour la construction et l'installation de la bibliothèque. Veuillez utiliser la commande suivante.
Installer libxlsxwriter via CRAN
cmake $SOURCE_DIR $FLAGS
Clonez le référentiel de code source libxlsxwriter à partir de GitHub. Veuillez utiliser le code suivant.
Installer libxlsxwriter via GitHub
it clone https://github.com/jmcnamara/libxlsxwriter.git
# Or use your preferred protocol instead of https
API C pour créer une feuille de calcul Excel XLSX
L'API open source Libxlsxwriter permet aux développeurs de logiciels de créer et de modifier des feuilles de calcul Excel XLSX dans leurs applications C. L'API prend en charge l'écriture de texte, de nombres, de formules et de liens hypertexte vers plusieurs feuilles de calcul dans un fichier de feuille de calcul Excel. Vous pouvez facilement importer ou exporter des données à partir de fichiers Excel et fusionner ou diviser des feuilles, rechercher des données et bien plus encore.
Créer un chiffrier Excel 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;
}
Travailler avec des graphiques Excel
L'API Libxlsxwriter a fourni des fonctionnalités pour ajouter et modifier des graphiques dans des feuilles de calcul Excel à l'aide de commandes C. Vous pouvez utiliser les fonctions de marqueur de graphique pour générer et gérer des graphiques. Vous pouvez également ajouter une courbe de tendance pour indiquer les tendances dans les données et des barres d'erreur pour indiquer les limites d'erreur dans les données. Vous pouvez également attribuer des étiquettes de données à une série de graphiques pour indiquer les valeurs des points de données tracés. Vous pouvez facilement appliquer des propriétés de formatage de graphique à n'importe quel objet de graphique.
Créer des chartes dans la feuille de travail Excel 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);
}
Travailler avec la validation des données Excel
La validation des données est une fonctionnalité Excel qui permet aux développeurs de contrôler ce que les utilisateurs entrent dans une cellule Excel. Par exemple, vous pouvez limiter les utilisateurs à saisir un nombre compris entre 1 et 6 ou vous assurer que la saisie de texte dans une cellule comporte moins de 25 caractères. L'API Libxlsxwriter fournit de nombreuses options pour valider les entrées de l'utilisateur telles que n'importe quelle valeur, nombre entier, décimal, liste, date, heure, longueur de texte ou formule personnalisée.
Afficher le message de la clientèle lorsque l'intégrant n'est pas 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";
Travailler avec des macros VBA
L'API Libxlsxwriter permet aux développeurs de logiciels d'ajouter facilement un fichier VBA contenant des fonctions ou des macros à un classeur XLSX. Les fichiers Excel contenant des fonctions et des macros doivent utiliser une extension XLSM, sinon Excel se plaindra et n'ouvrira peut-être pas le fichier. Les macros VBA font normalement référence aux classeurs et aux objets de feuille de calcul. Si les noms de code VBA ne sont pas spécifiés explicitement, libxlsxwriter utilisera les valeurs par défaut Excel de ThisWorkbook et Sheet1, Sheet2, etc.
Ajouter BA Marcos à Excel Cookbook à l'intérieur des Apps C
#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);
}