Ανοιχτή Πηγή C Βιβλιοθήκη για Ανάγνωση Αρχείων Excel XLS
Μια ελαφριά και γρήγορη ανοιχτή πηγή δωρεάν C βιβλιοθήκη για φόρτωση, ανάγνωση και εξαγωγή δεδομένων από αρχεία Excel XLS χωρίς την ανάγκη του Microsoft Excel.
Τι είναι το libxls;
Η εργασία με αρχεία Microsoft Excel αποτελεί κοινή απαίτηση σε πολλές εφαρμογές λογισμικού. Ενώ τα σύγχρονα λογιστικά φύλλα χρησιμοποιούν τη μορφή XLSX, αμέτρητοι οργανισμοί εξακολουθούν να βασίζονται σε παλαιά αρχεία XLS. Η ανάγνωση και η εξαγωγή δεδομένων από αυτά τα αρχεία μπορεί να είναι προκλητική, επειδή η δυαδική μορφή XLS είναι ιδιόκτητη και πολύπλοκη. Το libxls είναι μια ανοιχτού κώδικα βιβλιοθήκη C σχεδιασμένη ειδικά για να απλοποιήσει αυτή τη διαδικασία. Παρέχει μια γρήγορη και ελαφριά λύση για την ανάγνωση αρχείων Excel 97–2003 XLS χωρίς την ανάγκη του Microsoft Excel ή οποιωνδήποτε εξωτερικών στοιχείων του Office.
Το libxls είναι μια φορητή βιβλιοθήκη C που επιτρέπει στους προγραμματιστές να διαβάζουν και να εξάγουν πληροφορίες από τα φύλλα εργασίας Microsoft Excel XLS. Υποστηρίζει αρχεία Excel 97–2003 (.xls), πολλαπλά φύλλα εργασίας, τιμές κελιών και πληροφορίες μορφοποίησης, κείμενο Unicode, εξαγωγή ημερομηνιών και αριθμών, ανάπτυξη πολλαπλών πλατφορμών και πολλά άλλα. Σε αντίθεση με τις προσεγγίσεις αυτοματοποίησης γραφείου, το libxls λειτουργεί ανεξάρτητα από το Microsoft Office, καθιστώντας το κατάλληλο για Linux, macOS, Windows και ενσωματωμένα περιβάλλοντα. Λόγω της απλότητας, φορητότητας και απόδοσής του, το libxls χρησιμοποιείται ευρέως σε εργαλεία μετεγκατάστασης δεδομένων, μετατροπείς φύλλων εργασίας, εφαρμογές αναφορών και έργα λογισμικού πολλαπλών πλατφορμών.
Ξεκινώντας με το libxls
Το libxls υποστηρίζει CMake για τη δημιουργία και εγκατάσταση της βιβλιοθήκης. Παρακαλώ χρησιμοποιήστε την παρακάτω εντολή.
Εγκατάσταση του libxls μέσω CRAN
mkdir build
cd build
cmake ..
make
Κλωνοποιήστε το αποθετήριο κώδικα πηγής του libxls από το GitHub. Παρακαλώ χρησιμοποιήστε τον παρακάτω κώδικα.
Εγκατάσταση του libxls μέσω GitHub
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https Ανάγνωση παλαιών αρχείων Excel XLS μέσω βιβλιοθήκης C
Ένα από τα μεγαλύτερα πλεονεκτήματα του libxls είναι η ικανότητά του να αναλύει δυαδικά αρχεία XLS του Excel 97–2003. Η βιβλιοθήκη κατανοεί τη εσωτερική δομή αυτών των λογιστικών φύλλων και επιτρέπει στις εφαρμογές να έχουν πρόσβαση σε γραμμές, στήλες και τιμές κελιών χωρίς να απαιτείται το Microsoft Excel. Αυτή η δυνατότητα είναι ιδιαίτερα χρήσιμη για οργανισμούς που εξακολουθούν να αρχειοθετούν ιστορικά δεδομένα σε μορφή XLS. Οι προγραμματιστές μπορούν εύκολα να δημιουργήσουν εργαλεία εισαγωγής και να αυτοματοποιήσουν διαδικασίες εξαγωγής δεδομένων, διατηρώντας τη συμβατότητα με παλαιότερα έγγραφα. Το παρακάτω παράδειγμα ανοίγει ένα βιβλίο εργασίας Excel XLS χρησιμοποιώντας κωδικοποίηση UTF-8. Μόλις φορτωθεί το βιβλίο εργασίας, οι προγραμματιστές μπορούν να έχουν πρόσβαση στα φύλλα εργασίας και να εξάγουν τα δεδομένα του λογιστικού φύλλου.
Πώς να διαβάσετε αρχεία Excel XLS μέσω βιβλιοθήκης C
#include
int main()
{
xlsWorkBook *workbook;
workbook = xls_open("sample.xls", "UTF-8");
if(workbook)
{
printf("Workbook opened successfully\n");
xls_close_WB(workbook);
}
return 0;
}
Πρόσβαση σε πολλαπλά φύλλα εργασίας μέσω βιβλιοθήκης C
Πολλά αρχεία Excel περιέχουν πολλά φύλλα εργασίας που οργανώνουν τις πληροφορίες σε διαφορετικές ενότητες. Το libxls παρέχει API για την πλοήγηση και ανάγνωση κάθε φύλλου εργασίας ανεξάρτητα. Αυτή η λειτουργία είναι χρήσιμη κατά την επεξεργασία οικονομικών αναφορών, τιμολογίων, αποθεμάτων ή επιστημονικών συνόλων δεδομένων. Οι προγραμματιστές μπορούν να διατρέξουν όλα τα φύλλα και να εξάγουν τις πληροφορίες αυτόματα χωρίς παρέμβαση του χρήστη. Ο παρακάτω κώδικας ανοίγει ένα βιβλίο εργασίας και ανακτά το συνολικό αριθμό των φύλλων εργασίας που είναι διαθέσιμα στο αρχείο.
Πώς να ανακτήσετε τον συνολικό αριθμό φύλλων εργασίας σε αρχείο XLS μέσω C;
#include
int main()
{
xlsWorkBook *wb = xls_open("report.xls", "UTF-8");
if(wb)
{
printf("Number of sheets: %d\n", wb->sheets.count);
xls_close_WB(wb);
}
return 0;
}
Ανάγνωση τιμών κελιών μέσω βιβλιοθήκης C
Η ανοιχτή πηγή libxls επιτρέπει στις εφαρμογές να έχουν πρόσβαση σε μεμονωμένα κελιά και να ανακτούν τα περιεχόμενά τους. Είτε το φύλλο εργασίας περιέχει κείμενο, αριθμούς ή ημερομηνίες, η βιβλιοθήκη παρέχει απλή πρόσβαση σε πληροφορίες κελιών. Αυτή η δυνατότητα καθιστά το libxls κατάλληλο για εισαγωγή δεδομένων φύλλων εργασίας σε βάσεις δεδομένων, δημιουργία αναφορών ή μετατροπή εγγράφων Excel σε μορφές CSV και JSON. Το παρακάτω παράδειγμα κώδικα διαβάζει το πρώτο κελί στο φύλλο εργασίας και εκτυπώνει την τιμή του στην κονσόλα.
Πώς να προσπελάσετε τα κελιά του φύλλου εργασίας και να εκτυπώσετε την τιμή τους μέσω βιβλιοθήκης C;
#include
int main()
{
xlsWorkBook *wb = xls_open("sample.xls", "UTF-8");
if(wb)
{
xlsWorkSheet *sheet = xls_getWorkSheet(wb, 0);
xls_parseWorkSheet(sheet);
xlsCell *cell = xls_cell(sheet, 0, 0);
if(cell)
printf("Cell value: %s\n", cell->str);
xls_close_WS(sheet);
xls_close_WB(wb);
}
return 0;
}
Υποστήριξη Unicode και κωδικοποίησης χαρακτήρων
Οι σύγχρονες εφαρμογές συχνά εργάζονται με πολύγλωσσα φύλλα εργασίας. Το libxls υποστηρίζει κείμενο Unicode μέσω ρυθμιζόμενων κωδικοποιήσεων χαρακτήρων, καθιστώντας δυνατή την επεξεργασία αρχείων που περιέχουν διεθνείς γλώσσες και ειδικούς χαρακτήρες. Αυτή η λειτουργία είναι ιδιαίτερα χρήσιμη για επιχειρηματικές εφαρμογές που διαχειρίζονται ονόματα πελατών, διευθύνσεις και αναφορές σε διαφορετικές γλώσσες. Καθορίζοντας κωδικοποίηση UTF-8, η βιβλιοθήκη ερμηνεύει σωστά το κείμενο Unicode που αποθηκεύεται μέσα σε αρχεία Excel, όπως φαίνεται στο παρακάτω παράδειγμα κώδικα.
Πώς να ερμηνεύσετε το κείμενο Unicode που αποθηκεύεται σε αρχεία Excel μέσω C;
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}