Atvērtā koda C bibliotēka Excel XLS failu nolasīšanai
Viegls un ātrs atvērtā koda bezmaksas C bibliotēka Excel XLS failu ielādēšanai, nolasīšanai un datu izvilkšanai, neprasot Microsoft Excel.
Kas ir libxls?
Darbs ar Microsoft Excel failiem ir bieži sastopama prasība daudzās programmatūras lietojumprogrammās. Lai gan mūsdienu izklājlapas izmanto XLSX formātu, neskaitāmas organizācijas joprojām paļaujas uz mantotajiem XLS failiem. Šo failu lasīšana un datu izguve var būt izaicinoša, jo binārais XLS formāts ir īpašnieka īpašums un sarežģīts. libxls ir atvērtā koda C bibliotēka, kas īpaši izstrādāta, lai vienkāršotu šo uzdevumu. Tā nodrošina ātru un vieglu risinājumu Excel 97–2003 XLS failu lasīšanai, neprasot Microsoft Excel vai kādus ārējus Office komponentus.
libxls ir pārnēsājama C bibliotēka, kas ļauj izstrādātājiem lasīt un izvilkt informāciju no Microsoft Excel XLS izklājlapām. Tā atbalsta Excel 97–2003 (.xls) failus, vairākas darblapas, šūnu vērtības un formatēšanas informāciju, Unicode tekstu, datumu un skaitļu izvilkšanu, starpplatformu izstrādi un daudz ko citu. Atšķirībā no biroja automatizācijas pieejām, libxls darbojas neatkarīgi no Microsoft Office, padarot to piemērotu Linux, macOS, Windows un iegultām vidēm. Pateicoties tās vienkāršībai, pārnēsājamībai un veiktspējai, libxls plaši tiek izmantota datu migrācijas rīkos, izklājlapu pārveidotājos, atskaites lietojumprogrammās un starpplatformu programmatūras projektos.
Sākums ar libxls
libxls atbalsta CMake bibliotēkas būvēšanai un instalēšanai. Lūdzu, izmantojiet šādu komandu.
Instalējiet libxls caur CRAN
mkdir build
cd build
cmake ..
make
Klonējiet libxls pirmkoda krātuvi no GitHub. Lūdzu, izmantojiet šo kodu.
Instalējiet libxls caur GitHub
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https Legacy Excel XLS failu lasīšana, izmantojot C bibliotēku
Viens no lielākajiem libxls priekšrocībām ir spēja parsēt Excel 97–2003 bināros XLS failus. Bibliotēka saprot šo izklājlapu iekšējo struktūru un ļauj lietojumprogrammām piekļūt rindām, kolonnām un šūnu vērtībām, nepieprasot Microsoft Excel. Šī iespēja ir īpaši noderīga organizācijām, kas joprojām arhivē vēsturiskos datus XLS formātā. Izstrādātāji var viegli izveidot importēšanas rīkus un automatizēt datu izguves procesus, saglabājot saderību ar vecākiem dokumentiem. Zemāk esošais piemērs atver Excel XLS darba grāmatu, izmantojot UTF-8 kodējumu. Kad darba grāmata ir ielādēta, izstrādātāji var piekļūt darblapām un izvilkt izklājlapas datus.
Kā lasīt Excel XLS failus, izmantojot C bibliotēku
#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;
}
Piekļūšana vairākiem darblapām, izmantojot C bibliotēku
Daudzi Excel faili satur vairākas darblapas, kas organizē informāciju dažādās sekcijās. libxls nodrošina API, lai neatkarīgi pārvietotos un nolasītu katru darblapu. Šī funkcija ir noderīga, apstrādājot finanšu pārskatus, rēķinus, krājumu lapas vai zinātniskos datu kopumus. Izstrādātāji var pārskatīt visas lapas un automātiski izvilkt informāciju bez lietotāja iejaukšanās. Zemāk esošais kods atver darba grāmatu un iegūst kopējo pieejamo darblapu skaitu failā.
Kā izgūt kopējo darblapu skaitu XLS failā, izmantojot 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;
}
Šūnu vērtību lasīšana, izmantojot C bibliotēku
Atvērtā pirmkoda libxls ļauj lietojumprogrammām piekļūt atsevišķām šūnām un izgūt to saturu. Neatkarīgi no tā, vai izklājlapā ir teksts, skaitļi vai datumi, bibliotēka nodrošina vienkāršu piekļuvi šūnu informācijai. Šī iespēja padara libxls piemērotu izklājlapu datu importēšanai datubāzēs, pārskatu ģenerēšanai vai Excel dokumentu konvertēšanai CSV un JSON formātos. Zemāk esošais koda piemērs nolasīs pirmo šūnu darblapā un izdrukās tās vērtību konsolē.
Kā piekļūt darblapas šūnām un izvadīt tās vērtību, izmantojot C bibliotēku?
#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 un rakstzīmju kodējuma atbalsts
Mūsdienu lietojumprogrammas bieži strādā ar daudzvalodu izklājlapām. libxls atbalsta Unicode tekstu, izmantojot konfigurējamas rakstzīmju kodēšanas, ļaujot apstrādāt failus, kas satur starptautiskas valodas un īpašas rakstzīmes. Šī funkcija ir īpaši noderīga biznesa lietojumprogrammām, kas apstrādā klientu vārdus, adreses un pārskatus dažādās valodās. Norādot UTF-8 kodējumu, bibliotēka pareizi interpretē Unicode tekstu, kas saglabāts Excel failos, kā parādīts zemāk esošajā koda piemērā.
Kā interpretēt Unicode tekstu, kas saglabāts Excel failos, izmantojot C?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}