1. Produtos
  2.   Planilha
  3.   C++
  4.   libxls
 
  

Biblioteca C de Código Aberto para Ler Arquivos Excel XLS

Uma Biblioteca C Gratuita, Leve e Rápida de Código Aberto para Carregar, Ler e Extrair Dados de Arquivos Excel XLS sem Necessitar do Microsoft Excel.

O que é libxls?

Trabalhar com arquivos Microsoft Excel é uma necessidade comum em muitas aplicações de software. Embora as planilhas modernas usem o formato XLSX, inúmeras organizações ainda dependem de arquivos XLS legados. Ler e extrair dados desses arquivos pode ser desafiador porque o formato binário XLS é proprietário e complexo. libxls é uma biblioteca C de código aberto projetada especificamente para simplificar essa tarefa. Ela fornece uma solução rápida e leve para ler arquivos Excel 97–2003 XLS sem exigir o Microsoft Excel ou quaisquer componentes externos do Office.

libxls é uma biblioteca C portátil que permite aos desenvolvedores ler e extrair informações de planilhas Microsoft Excel XLS. Ela suporta arquivos Excel 97–2003 (.xls), múltiplas planilhas, valores de células e informações de formatação, texto Unicode, extração de datas e números, desenvolvimento multiplataforma e muito mais. Ao contrário das abordagens de automação de escritório, o libxls funciona independentemente do Microsoft Office, tornando‑se adequado para Linux, macOS, Windows e ambientes embarcados. Devido à sua simplicidade, portabilidade e desempenho, o libxls é amplamente usado em ferramentas de migração de dados, conversores de planilhas, aplicações de relatórios e projetos de software multiplataforma.

Previous Next

Começando com libxls

O libxls suporta CMake para compilar e instalar a biblioteca. Por favor, use o comando a seguir.

Instalar libxls via CRAN

 mkdir build
cd build

cmake ..
make
 

Clone o repositório de código-fonte do libxls no GitHub. Por favor, use o código a seguir.

Instalar libxls via GitHub

 git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https 

Lendo arquivos Excel XLS legados via biblioteca C

Uma das maiores forças do libxls é sua capacidade de analisar arquivos binários XLS do Excel 97–2003. A biblioteca entende a estrutura interna dessas planilhas e permite que aplicativos acessem linhas, colunas e valores de células sem exigir o Microsoft Excel. Essa capacidade é especialmente útil para organizações que ainda arquivam dados históricos no formato XLS. Os desenvolvedores podem facilmente criar ferramentas de importação e automatizar processos de extração de dados, preservando a compatibilidade com documentos mais antigos. O exemplo a seguir abre uma pasta de trabalho Excel XLS usando codificação UTF-8. Uma vez que a pasta de trabalho está carregada, os desenvolvedores podem acessar as planilhas e extrair os dados da planilha.

Como Ler Arquivos Excel XLS via Biblioteca 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;
}

Acessando várias planilhas via biblioteca C

Muitos arquivos do Excel contêm várias planilhas que organizam informações em diferentes seções. O libxls fornece APIs para navegar e ler cada planilha independentemente. Esse recurso é útil ao processar relatórios financeiros, faturas, planilhas de inventário ou conjuntos de dados científicos. Os desenvolvedores podem percorrer todas as planilhas e extrair informações automaticamente sem intervenção do usuário. O código a seguir abre uma pasta de trabalho e recupera o número total de planilhas disponíveis no arquivo.

Como Recuperar o Número Total de Planilhas em um Arquivo 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;
}

Lendo valores de células via biblioteca C

A libxls de código aberto permite que aplicativos acessem células individuais e recuperem seu conteúdo. Seja a planilha contendo texto, números ou datas, a biblioteca fornece acesso direto às informações das células. Essa capacidade torna a libxls adequada para importar dados de planilhas para bancos de dados, gerar relatórios ou converter documentos Excel em formatos CSV e JSON. O exemplo de código a seguir lê a primeira célula da planilha e imprime seu valor no console.

Como Acessar Células de uma Planilha e Imprimir seu Valor via Biblioteca 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;
}

Suporte a Unicode e codificação de caracteres

Aplicativos modernos frequentemente trabalham com planilhas multilíngues. A libxls suporta texto Unicode por meio de codificações de caracteres configuráveis, possibilitando o processamento de arquivos que contêm idiomas internacionais e caracteres especiais. Esse recurso é particularmente útil para aplicativos empresariais que lidam com nomes de clientes, endereços e relatórios em diferentes idiomas. Ao especificar a codificação UTF-8, a biblioteca interpreta corretamente o texto Unicode armazenado dentro dos arquivos Excel, como mostrado no exemplo de código a seguir.

Como Interpretar Texto Unicode Armazenado em Arquivos Excel via C?

 
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");

if(wb)
{
    printf("Workbook loaded using UTF-8 encoding\n");
}

 Português