Βιβλιοθήκη ανοιχτού κώδικα C για υπολογιστικά φύλλα του Excel

Δημιουργία, επεξεργασία, χειραγώγηση και μετατροπή αρχείων Microsoft Excel 2007 και υπολογιστικών φύλλων XLSX, συγχώνευση υπολογιστικών φύλλων, προσθήκη γραφημάτων σε φύλλο εργασίας μέσω API ανοιχτού κώδικα C.

Το Libxlsxwriter είναι μια βιβλιοθήκη ανοιχτού κώδικα C που μπορεί να χρησιμοποιηθεί για εργασία με το Microsoft Excel 2007 καθώς και με αρχεία Excel XLSX μέσα στις δικές σας εφαρμογές. Η βιβλιοθήκη Libxlsxwriter είναι πολύ συμβατή με αρχεία Excel XLSX και επιτρέπει στους προγραμματιστές να δημιουργούν, να τροποποιούν και να επεξεργάζονται υπολογιστικά φύλλα XLSX με ευκολία. Η βιβλιοθήκη λειτουργεί ομαλά σε κορυφαίες πλατφόρμες όπως Linux, FreeBSD, OpenBSD, OS X, iOS και Windows. Μπορεί να μεταγλωττίσει για 32 καθώς και για 64-bit.

Η βιβλιοθήκη ανοιχτού κώδικα Libxlsxwriter είναι καλά βελτιστοποιημένη και μπορεί να λειτουργήσει σωστά με μεγάλα αρχεία υπολογιστικών φύλλων. Περιλαμβάνει υποστήριξη για πολλά σημαντικά χαρακτηριστικά, όπως Συγχώνευση κελιών υπολογιστικού φύλλου, ορισμό ονομάτων, υποστήριξη Αυτόματων φίλτρων, προσθήκη γραφημάτων σε σελίδες φύλλου εργασίας, επικύρωση δεδομένων και αναπτυσσόμενες λίστες, προσθήκη εικόνων PNG/JPEG, προσθήκη σχολίων κελιών, εργασία με μακροεντολές VBA , προσθέτοντας ή αφαιρώντας τη στήλη από ένα φύλλο και πολλά άλλα.

Previous Next

Ξεκινώντας με το Libxlsxwriter

Το Libxlsxwriter υποστηρίζει το CMake για τη δημιουργία και την εγκατάσταση της βιβλιοθήκης. Χρησιμοποιήστε την παρακάτω εντολή.

Εγκαταστήστε το libxlsxwriter μέσω CRAN

 cmake $SOURCE_DIR $FLAGS 

Κλωνοποιήστε το αποθετήριο πηγαίου κώδικα libxlsxwriter από το GitHub. Χρησιμοποιήστε τον παρακάτω κώδικα.

Εγκαταστήστε το libxlsxwriter μέσω του GitHub

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

C API για τη δημιουργία υπολογιστικού φύλλου Excel XLSX

Το ανοιχτού κώδικα Libxlsxwriter API επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν και να τροποποιούν υπολογιστικά φύλλα Excel XLSX μέσα στις εφαρμογές τους C. Το API παρέχει υποστήριξη για τη σύνταξη κειμένου, αριθμών, τύπων και υπερσυνδέσμων σε πολλά φύλλα εργασίας σε ένα αρχείο υπολογιστικού φύλλου Excel. Μπορείτε εύκολα να εισάγετε ή να εξάγετε δεδομένα από αρχεία Excel και μπορείτε να συγχωνεύσετε ή να διαχωρίσετε φύλλα, δεδομένα αναζήτησης και πολλά άλλα.

Δημιουργία υπολογιστικού φύλλου του Excel μέσω 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;
}

Εργασία με γραφήματα Excel

Το Libxlsxwriter API έχει παράσχει λειτουργικότητα για την προσθήκη και την τροποποίηση γραφημάτων σε υπολογιστικά φύλλα του Excel χρησιμοποιώντας εντολές C. Μπορείτε να χρησιμοποιήσετε συναρτήσεις δεικτών γραφήματος για να δημιουργήσετε και να διαχειριστείτε γραφήματα. Μπορείτε επίσης να προσθέσετε μια γραμμή τάσης για να υποδείξετε τάσεις στα δεδομένα και γραμμές σφαλμάτων για να υποδείξετε τα όρια σφαλμάτων στα δεδομένα. Μπορείτε επίσης να ετικέτες δεδομένων σε μια σειρά γραφημάτων για να υποδείξετε τις τιμές των σημείων δεδομένων που έχουν σχεδιαστεί. Μπορείτε εύκολα να εφαρμόσετε ιδιότητες μορφοποίησης γραφήματος σε οποιοδήποτε αντικείμενο γραφήματος.

Δημιουργία χαρτών στο φύλλο εργασίας του Excel μέσω του 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);
}

Εργαστείτε με την επικύρωση δεδομένων του Excel

Η επικύρωση δεδομένων είναι μια δυνατότητα του Excel που επιτρέπει στους προγραμματιστές να ελέγχουν τι εισάγουν οι χρήστες σε ένα κελί του Excel. Για παράδειγμα, μπορείτε να περιορίσετε τους χρήστες να εισάγουν έναν αριθμό μεταξύ 1 και 6 ή να βεβαιωθείτε ότι η καταχώριση κειμένου σε ένα κελί είναι μικρότερος από 25 χαρακτήρες. Το Libxlsxwriter API παρέχει πολυάριθμες επιλογές για την επικύρωση των εισροών χρήστη, όπως Οποιαδήποτε τιμή, Ολόκληρος αριθμός, Δεκαδικός, Λίστα, Ημερομηνία, Ώρα, Μήκος κειμένου ή προσαρμοσμένος τύπος.

Προσαρμοσμένο μήνυμα όταν ο ακέραιος δεν είναι 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

Το Libxlsxwriter API δίνει στους προγραμματιστές λογισμικού την ευκολία να προσθέσουν ένα αρχείο VBA που περιέχει συναρτήσεις ή μακροεντολές σε ένα βιβλίο εργασίας XLSX. Τα αρχεία Excel που περιέχουν συναρτήσεις και μακροεντολές θα πρέπει να χρησιμοποιούν επέκταση XLSM, διαφορετικά το Excel θα παραπονεθεί και πιθανόν να μην ανοίξει το αρχείο. Οι μακροεντολές VBA αναφέρονται συνήθως σε βιβλία εργασίας και αντικείμενα φύλλου εργασίας. Εάν τα κωδικά ονόματα VBA δεν καθορίζονται ρητά, τότε το libxlsxwriter θα χρησιμοποιήσει τις προεπιλογές του Excel του ThisWorkbook και των Sheet1, Sheet2, κ.λπ.

Προσθήκη BA Marcos στο Excel Cookbook μέσα σε εφαρμογές 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);
}
 Ελληνικά