Libxl: llegir i escriure fitxers Excel

De Wikijoan
Dreceres ràpides: navegació, cerca

LibXL is a library for direct reading and writing Excel files.

Package contents:

 -L <path_to_library> -lxl -Wl,-rpath,<path_to_library> <your_cpp_file>

Descarrego libxl-3.4.1.4 i descomprimeixo. Compilo els exemples (elegeixo C en comptes de C++)

$ cd /libxl-3.4.1.4/examples/c
$ make

i es compilen els exemples i ja els puc executar, per exemple:

$ ./generate

que és un exemple senzill que genera un fitxer Excel

Si vull fer la compilació directa he de mirar les instruccions dins del Makefile. Per exemple,

$ gcc -o generate generate.c -I ../../include_c -L ../../lib -lxl -Wl,-rpath,../../lib

(utilitzar lib64 per a 64 bits)

i ara, si vull compilar aquest fitxer en la meva carpeta de treball /home/joan/jmining/generate_xls he de copiar la carpeta include_c/ i lib/ o lib64/, i ara ja puc començar a treballar per fer coses més interessants.

$ gcc -o generate generate.c -I ./include_c -L ./lib -lxl -Wl,-rpath,./lib
$ ./generate

compila bé.

El codi generate.c és un codi mínim per crear un fitxer Excel i escriure alguna cosa. Fitxer generate.c:

#include <stdio.h>
#include "libxl.h"

int main()
{
    BookHandle book = xlCreateBook();
    if(book) 
    {
        SheetHandle sheet = xlBookAddSheet(book, "Sheet1", 0);
        if(sheet) 
        {
            FormatHandle dateFormat;

            xlSheetWriteStr(sheet, 2, 1, "Hello, World !", 0);
            xlSheetWriteNum(sheet, 3, 1, 1000, 0);

            dateFormat = xlBookAddFormat(book, 0);
            xlFormatSetNumFormat(dateFormat, NUMFORMAT_DATE);
            xlSheetWriteNum(sheet, 4, 1, xlBookDatePack(book, 2008, 4, 29, 0, 0, 0, 0), dateFormat);

            xlSheetSetCol(sheet, 1, 1, 12, 0, 0);
        }

        if(xlBookSave(book, "example.xls")) printf("File example.xls has been created.\n");
        xlBookRelease(book);
    }

    return 0;
}

que s'entén fàcilment.


creat per Joan Quintana Compte, febrer 2013

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines