Atviro kodo C biblioteka Excel XLS failų skaitymui
Lengva ir greita atviro kodo nemokama C biblioteka, skirta įkelti, skaityti ir išgauti duomenis iš Excel XLS failų, nereikalaujanti Microsoft Excel.
Kas yra libxls?
Darbas su Microsoft Excel failais yra dažnas reikalavimas daugelyje programinės įrangos programų. Nors šiuolaikinės skaičiuoklės naudoja XLSX formatą, daugybė organizacijų vis dar remiasi senais XLS failais. Šių failų skaitymas ir duomenų išgavimas gali būti sudėtingas, nes binarinis XLS formatas yra nuosavybinis ir sudėtingas. libxls yra atviro kodo C biblioteka, specialiai sukurta šiai užduočiai supaprastinti. Ji suteikia greitą ir lengvą sprendimą Excel 97–2003 XLS failų skaitymui, nereikalaujant Microsoft Excel ar bet kokių išorinių Office komponentų.
libxls yra perkeliamas C biblioteka, leidžianti kūrėjams skaityti ir išgauti informaciją iš Microsoft Excel XLS skaičiuoklių. Ji palaiko Excel 97–2003 (.xls) failus, kelias darbalapius, langelių reikšmes ir formatavimo informaciją, Unicode tekstą, datos ir skaičių išgavimą, kryžminės platformos kūrimą ir daugiau. Skirtingai nuo biuro automatizacijos metodų, libxls veikia nepriklausomai nuo Microsoft Office, todėl tinka Linux, macOS, Windows ir įterptoms aplinkoms. Dėl savo paprastumo, perkeliamumo ir našumo, libxls plačiai naudojama duomenų migracijos įrankiuose, skaičiuoklių konvertuotojuose, ataskaitų programose ir kryžminės platformos programinės įrangos projektuose.
Pradžia su libxls
libxls palaiko CMake bibliotekos kūrimui ir įdiegimui. Prašome naudoti šią komandą.
Įdiekite libxls per CRAN
mkdir build
cd build
cmake ..
make
Klonuokite libxls šaltinio kodo saugyklą iš GitHub. Prašome naudoti šį kodą.
Įdiekite libxls per GitHub
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https Legacy Excel XLS failų skaitymas per C biblioteką
Viena iš didžiausių libxls stiprybių yra jos gebėjimas analizuoti Excel 97–2003 dvejetainius XLS failus. Biblioteka supranta šių skaičiuoklių vidinę struktūrą ir leidžia programoms pasiekti eilutes, stulpelius ir langelių reikšmes be Microsoft Excel poreikio. Ši galimybė ypač naudinga organizacijoms, kurios vis dar archyvuoja istorinį duomenų turinį XLS formatu. Kūrėjai gali lengvai kurti importo įrankius ir automatizuoti duomenų išgavimą, išlaikydami suderinamumą su senesniais dokumentais. Žemiau pateiktas pavyzdys atidaro Excel XLS darbaknygę naudojant UTF-8 koduotę. Kai darbaknygė įkelta, kūrėjai gali pasiekti darbalapius ir išgauti skaičiuoklės duomenis.
Kaip perskaityti Excel XLS failus naudojant C biblioteką
#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;
}
Prieiga prie kelių darbalapių per C biblioteką
Daugeliui Excel failų yra kelios darbalapiai, kurie organizuoja informaciją į skirtingas sekcijas. libxls suteikia API, leidžiančias naršyti ir skaityti kiekvieną darbalapį nepriklausomai. Ši funkcija naudinga apdorojant finansines ataskaitas, sąskaitas faktūras, inventoriaus lapus ar mokslinius duomenų rinkinius. Kūrėjai gali peržvelgti visus lapus ir automatiškai išgauti informaciją be vartotojo įsikišimo. Žemiau pateiktas kodas atidaro darbaknygę ir sužino bendrą prieinamų darbalapių skaičių faile.
Kaip gauti bendrą darbalapių skaičių XLS faile naudojant 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;
}
Ląstelių verčių skaitymas per C biblioteką
Atviro kodo biblioteka libxls leidžia programoms pasiekti atskirus langelius ir gauti jų turinį. Nesvarbu, ar skaičiuoklėje yra tekstas, skaičiai ar datos, biblioteka suteikia paprastą prieigą prie langelio informacijos. Ši galimybė daro libxls tinkamą importuoti skaičiuoklių duomenis į duomenų bazes, generuoti ataskaitas arba konvertuoti Excel dokumentus į CSV ir JSON formatus. Žemiau pateiktas kodo pavyzdys nuskaito pirmą langelį darbalapyje ir išveda jo reikšmę į konsolę.
Kaip pasiekti darbalapio langelius ir atspausdinti jų reikšmes naudojant C biblioteką?
#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 ir simbolių kodavimo palaikymas
Šiuolaikinės programos dažnai dirba su daugiakalbėmis skaičiuoklėmis. libxls palaiko Unicode tekstą per konfigūruojamus simbolių kodavimus, leidžiančius apdoroti failus, kuriuose yra tarptautinių kalbų ir specialiųjų simbolių. Ši funkcija ypač naudinga verslo programoms, tvarkančioms klientų vardus, adresus ir ataskaitas įvairiomis kalbomis. Nurodžius UTF-8 kodavimą, biblioteka teisingai interpretuoja Unicode tekstą, saugomą Excel failuose, kaip parodyta toliau pateiktame kodo pavyzdyje.
Kaip interpretuoti Unicode tekstą, saugomą Excel failuose, naudojant C?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}