Bibliothèque C Open Source pour lire les fichiers Excel XLS
Une bibliothèque C open source, légère et rapide, gratuite pour charger, lire et extraire des données des fichiers Excel XLS sans nécessiter Microsoft Excel.
Qu’est‑ce que libxls ?
Travailler avec les fichiers Microsoft Excel est une exigence courante dans de nombreuses applications logicielles. Bien que les feuilles de calcul modernes utilisent le format XLSX, d'innombrables organisations s'appuient encore sur les fichiers XLS hérités. Lire et extraire des données de ces fichiers peut être difficile car le format binaire XLS est propriétaire et complexe. libxls est une bibliothèque C open source spécialement conçue pour simplifier cette tâche. Elle offre une solution rapide et légère pour lire les fichiers XLS Excel 97–2003 sans nécessiter Microsoft Excel ni aucun composant Office externe.
libxls est une bibliothèque C portable qui permet aux développeurs de lire et d'extraire des informations à partir des feuilles de calcul Microsoft Excel XLS. Elle prend en charge les fichiers Excel 97–2003 (.xls), plusieurs feuilles de calcul, les valeurs de cellules et les informations de formatage, le texte Unicode, l'extraction de dates et de nombres, le développement multiplateforme et plus encore. Contrairement aux approches d'automatisation de bureau, libxls fonctionne indépendamment de Microsoft Office, ce qui la rend adaptée à Linux, macOS, Windows et aux environnements embarqués. En raison de sa simplicité, de sa portabilité et de ses performances, libxls est largement utilisée dans les outils de migration de données, les convertisseurs de feuilles de calcul, les applications de reporting et les projets logiciels multiplateformes.
Premiers pas avec libxls
libxls prend en charge CMake pour la compilation et l'installation de la bibliothèque. Veuillez utiliser la commande suivante.
Installer libxls via CRAN
mkdir build
cd build
cmake ..
make
Clonez le dépôt du code source libxls depuis GitHub. Veuillez utiliser le code suivant.
Installer libxls via GitHub
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https Lecture des fichiers Excel XLS hérités via la bibliothèque C
Une des plus grandes forces de libxls est sa capacité à analyser les fichiers XLS binaires Excel 97–2003. La bibliothèque comprend la structure interne de ces feuilles de calcul et permet aux applications d'accéder aux lignes, colonnes et valeurs de cellules sans nécessiter Microsoft Excel. Cette capacité est particulièrement utile pour les organisations qui archivient encore des données historiques au format XLS. Les développeurs peuvent facilement créer des outils d'importation et automatiser les processus d'extraction de données tout en préservant la compatibilité avec les documents plus anciens. L'exemple suivant ouvre un classeur Excel XLS en utilisant l'encodage UTF-8. Une fois le classeur chargé, les développeurs peuvent accéder aux feuilles de calcul et extraire les données de la feuille.
Comment lire les fichiers Excel XLS via une bibliothèque 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;
}
Accéder à plusieurs feuilles de calcul via la bibliothèque C
De nombreux fichiers Excel contiennent plusieurs feuilles de calcul qui organisent les informations en différentes sections. libxls fournit des API pour naviguer et lire chaque feuille de calcul indépendamment. Cette fonctionnalité est utile lors du traitement de rapports financiers, factures, feuilles d'inventaire ou ensembles de données scientifiques. Les développeurs peuvent parcourir toutes les feuilles et extraire les informations automatiquement sans intervention de l'utilisateur. Le code suivant ouvre un classeur et récupère le nombre total de feuilles de calcul disponibles dans le fichier.
Comment récupérer le nombre total de feuilles de calcul dans un fichier XLS via 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;
}
Lecture des valeurs des cellules via la bibliothèque C
La bibliothèque open source libxls permet aux applications d'accéder aux cellules individuelles et de récupérer leur contenu. Que la feuille de calcul contienne du texte, des nombres ou des dates, la bibliothèque offre un accès simple aux informations des cellules. Cette capacité rend libxls adapté à l'importation de données de feuilles de calcul dans des bases de données, à la génération de rapports ou à la conversion de documents Excel en formats CSV et JSON. L'exemple de code suivant lit la première cellule de la feuille de calcul et affiche sa valeur dans la console.
Comment accéder aux cellules d'une feuille de calcul et imprimer leur valeur via une bibliothèque 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;
}
Prise en charge de l’Unicode et du codage des caractères
Les applications modernes travaillent souvent avec des feuilles de calcul multilingues. libxls prend en charge le texte Unicode grâce à des encodages de caractères configurables, ce qui permet de traiter des fichiers contenant des langues internationales et des caractères spéciaux. Cette fonctionnalité est particulièrement utile pour les applications métier qui gèrent les noms de clients, les adresses et les rapports dans différentes langues. En spécifiant l'encodage UTF-8, la bibliothèque interprète correctement le texte Unicode stocké dans les fichiers Excel comme le montre l'exemple de code suivant.
Comment interpréter le texte Unicode stocké dans les fichiers Excel via C ?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}