1. Termékek
  2.   Táblázat
  3.   C++
  4.   libxls
 
  

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.

Previous Next

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");
}

 Magyar