Nyílt forráskódú C könyvtár Excel XLS fájlok olvasásához
Könnyű és gyors nyílt forráskódú ingyenes C könyvtár az Excel XLS fájlok betöltéséhez, olvasásához és adatkinyeréséhez, Microsoft Excel nélkül.
Mi az a libxls?
A Microsoft Excel fájlok kezelése gyakori követelmény sok szoftveralkalmazásban. Míg a modern táblázatok az XLSX formátumot használják, számtalan szervezet még mindig a régi XLS fájlokra támaszkodik. Ezekből a fájlokból az adatok olvasása és kinyerése kihívást jelenthet, mivel a bináris XLS formátum tulajdonosi és összetett. A libxls egy nyílt forráskódú C könyvtár, amely kifejezetten a feladat egyszerűsítésére lett tervezve. Gyors és könnyű megoldást nyújt az Excel 97–2003 XLS fájlok olvasásához, anélkül, hogy a Microsoft Excel vagy bármilyen külső Office komponens szükséges lenne.
libxls egy hordozható C könyvtár, amely lehetővé teszi a fejlesztők számára, hogy Microsoft Excel XLS táblázatokból olvassanak és információkat nyerjenek ki. Támogatja az Excel 97–2003 (.xls) fájlokat, több munkalapot, cellaértékeket és formázási információkat, Unicode szöveget, dátum- és számkivonást, keresztplatformos fejlesztést és még sok mást. Az irodai automatizálási megközelítésekkel szemben a libxls függetlenül működik a Microsoft Office-tól, így alkalmas Linux, macOS, Windows és beágyazott környezetek számára. Egyszerűsége, hordozhatósága és teljesítménye miatt a libxls széles körben használatos adatátviteli eszközökben, táblázatkonvertálókban, jelentéskészítő alkalmazásokban és keresztplatformos szoftverprojektekben.
A libxls használatának megkezdése
A libxls támogatja a CMake-et a könyvtár felépítéséhez és telepítéséhez. Kérjük, használja a következő parancsot.
A libxls telepítése a CRAN segítségével
mkdir build
cd build
cmake ..
make
Klónozza a libxls forráskód tárolót a GitHub-ról. Kérjük, használja a következő kódot.
A libxls telepítése a GitHub segítségével
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https Legacy Excel XLS fájlok olvasása C könyvtár segítségével
Az libxls egyik legnagyobb erőssége, hogy képes az Excel 97–2003 bináris XLS fájlok feldolgozására. A könyvtár érti ezen táblázatok belső felépítését, és lehetővé teszi az alkalmazások számára, hogy sorokhoz, oszlopokhoz és cellaértékekhez férjenek hozzá a Microsoft Excel nélkül. Ez a képesség különösen hasznos olyan szervezetek számára, amelyek még mindig historikus adatokat archiválnak XLS formátumban. A fejlesztők könnyen készíthetnek importáló eszközöket, és automatizálhatják az adatkinyerési folyamatokat, miközben megőrzik a régebbi dokumentumok kompatibilitását. Az alábbi példa UTF-8 kódolással nyit meg egy Excel XLS munkafüzetet. Miután a munkafüzet betöltődött, a fejlesztők hozzáférhetnek a munkalapokhoz és kinyerhetik a táblázat adatait.
Hogyan olvassuk be az Excel XLS fájlokat C könyvtárral
#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;
}
Több munkalap elérése C könyvtár segítségével
Sok Excel fájl több munkalapot tartalmaz, amelyek információkat szerveznek különböző szekciókba. A libxls API-kat biztosít a munkalapok önálló navigálásához és olvasásához. Ez a funkció hasznos pénzügyi jelentések, számlák, készletlisták vagy tudományos adathalmazok feldolgozásakor. A fejlesztők automatikusan végigjárhatják az összes lapot és kinyerhetik az információkat felhasználói beavatkozás nélkül. Az alábbi kód megnyit egy munkafüzetet, és lekéri a fájlban elérhető munkalapok teljes számát.
Hogyan lehet lekérni az XLS fájl munkalapjainak teljes számát C‑vel?
#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;
}
Cellák értékeinek olvasása C könyvtár segítségével
A nyílt forráskódú libxls lehetővé teszi az alkalmazások számára, hogy hozzáférjenek az egyes cellákhoz, és lekérjék azok tartalmát. Akár szöveget, számokat vagy dátumokat tartalmaz a táblázat, a könyvtár egyszerű hozzáférést biztosít a cellainformációkhoz. Ez a képesség alkalmassá teszi a libxls-t a táblázati adatok adatbázisokba történő importálására, jelentések generálására vagy az Excel-dokumentumok CSV és JSON formátumba konvertálására. Az alábbi kódrészlet beolvassa a munkalap első celláját, és kiírja annak értékét a konzolra.
Hogyan érhetjük el a munkalap celláit, és nyomtathatjuk ki az értéküket C könyvtárral?
#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 és karakterkódolási támogatás
A modern alkalmazások gyakran dolgoznak többnyelvű táblázatokkal. A libxls Unicode szöveget támogat konfigurálható karakterkódolások révén, ami lehetővé teszi a nemzetközi nyelveket és speciális karaktereket tartalmazó fájlok feldolgozását. Ez a funkció különösen hasznos üzleti alkalmazások számára, amelyek ügyfélneveket, címeket és jelentéseket kezelnek különböző nyelveken. Az UTF-8 kódolás megadásával a könyvtár helyesen értelmezi az Excel-fájlokban tárolt Unicode szöveget, ahogyan az az alábbi kódrészletben látható.
Hogyan értelmezzük a Excel fájlokban tárolt Unicode szöveget C‑vel?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}