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

Biblioteca C de código aberto para planilhas do Excel

Crie, edite, manipule e converta arquivos de planilhas do Microsoft Excel 2007 e XLSX, mesclando planilhas, adicionando gráficos à planilha por meio da API C de código aberto.

Libxlsxwriter é uma biblioteca C de código aberto que pode ser usada para trabalhar com o Microsoft Excel 2007, bem como arquivos Excel XLSX dentro de seus próprios aplicativos. A biblioteca Libxlsxwriter é muito compatível com arquivos Excel XLSX e permite que os desenvolvedores criem, modifiquem e processem planilhas XLSX com facilidade. A biblioteca funciona sem problemas em plataformas líderes como Linux, FreeBSD, OpenBSD, OS X, iOS e Windows. Ele pode compilar para 32, bem como para 64 bits.

A biblioteca de código aberto Libxlsxwriter é bem otimizada e pode funcionar corretamente com grandes arquivos de planilha. Ele incluiu suporte para vários recursos importantes, como mesclagem de células de planilha, definição de nomes, suporte a filtros automáticos, adição de gráficos a páginas de planilha, validação de dados e listas suspensas, adição de imagens PNG/JPEG, adição de comentários de células, trabalho com macros VBA , adicionar ou remover a coluna de uma planilha e muito mais.

Previous Next

Introdução ao Libxlsxwriter

O Libxlsxwriter oferece suporte ao CMake para compilar e instalar a biblioteca. Por favor, use o seguinte comando.

Instale o libxlsxwriter via CRAN

 cmake $SOURCE_DIR $FLAGS 

Clone o repositório de código-fonte libxlsxwriter do GitHub. Por favor, use o seguinte código.

Instale o libxlsxwriter pelo GitHub

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

API C para criar planilha Excel XLSX

A API de código aberto Libxlsxwriter permite que desenvolvedores de software criem e modifiquem planilhas Excel XLSX dentro de seus aplicativos C. A API oferece suporte para escrever texto, números, fórmulas e hiperlinks para várias planilhas em um arquivo de planilha do Excel. Você pode facilmente importar ou exportar dados de arquivos do Excel e pode mesclar ou dividir planilhas, pesquisar dados e muito mais.

Criar planilha Excel via C API

#include "xlsxwriter.h"
int main() {
    /* Create a new workbook and add a worksheet. */
    lxw_workbook  *workbook  = workbook_new("demo.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    /* Add a format. */
    lxw_format *format = workbook_add_format(workbook);
    /* Set the bold property for the format */
    format_set_bold(format);
    /* Change the column width for clarity. */
    worksheet_set_column(worksheet, 0, 0, 20, NULL);
    /* Write some simple text. */
    worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
    /* Text with formatting. */
    worksheet_write_string(worksheet, 1, 0, "World", format);
    /* Write some numbers. */
    worksheet_write_number(worksheet, 2, 0, 123,     NULL);
    worksheet_write_number(worksheet, 3, 0, 123.456, NULL);
    /* Insert an image. */
    worksheet_insert_image(worksheet, 1, 2, "logo.png");
    workbook_close(workbook);
    return 0;
}

Trabalhando com gráficos do Excel

A API Libxlsxwriter forneceu funcionalidade para adicionar e modificar gráficos em planilhas do Excel usando comandos C. Você pode usar funções de marcador de gráfico para gerar e gerenciar gráficos. Você também pode adicionar uma linha de tendência para indicar tendências nos dados e barras de erro para indicar limites de erro nos dados. Você também pode rótulos de dados para uma série de gráficos para indicar os valores dos pontos de dados plotados. Você pode aplicar facilmente propriedades de formatação de gráfico a qualquer objeto de gráfico.

Criar cartas na planilha do Excel via Libxlsxwriter

#include "xlsxwriter.h"
int main() {
    lxw_workbook  *workbook  = new_workbook("chart.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    // User function to add data to worksheet, not shown here.
    write_worksheet_data(worksheet);
    // Create a chart object.
    lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
    // In the simplest case we just add some value data series.
    // The NULL categories will default to 1 to 5 like in Excel.
    chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5");
    chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5");
    chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5");
    // Insert the chart into the worksheet
    worksheet_insert_chart(worksheet, CELL("B7"), chart);
    return workbook_close(workbook);
}

Trabalhar com validação de dados do Excel

A validação de dados é um recurso do Excel que permite aos desenvolvedores controlar o que os usuários inserem em uma célula do Excel. Por exemplo, você pode restringir os usuários a inserir um número entre 1 e 6 ou certificar-se de que a entrada de texto em uma célula tenha menos de 25 caracteres. A API Libxlsxwriter oferece várias opções para validar a entrada do usuário, como qualquer valor, número inteiro, decimal, lista, data, hora, comprimento do texto ou fórmula personalizada.

Exibir Personalizar Mensagem Quando Inteiro não é b/t 1 & 100

// Display a custom info message when integer isn't between 1 and 100.
data_validation->validate         = LXW_VALIDATION_TYPE_INTEGER;
data_validation->criteria         = LXW_VALIDATION_CRITERIA_BETWEEN;
data_validation->minimum_number   = 1;
data_validation->maximum_number   = 100;
data_validation->input_title      = "Enter an integer:";
data_validation->input_message    = "between 1 and 100";
data_validation->error_title      = "Input value is not valid!";
data_validation->error_message    = "It should be an integer between 1 and 100";

Trabalhando com macros VBA

A API Libxlsxwriter oferece aos desenvolvedores de software a facilidade de adicionar um arquivo VBA contendo funções ou macros a uma pasta de trabalho XLSX. Os arquivos do Excel que contêm funções e macros devem usar uma extensão XLSM ou o Excel reclamará e possivelmente não abrirá o arquivo. As macros VBA normalmente se referem a pastas de trabalho e objetos de planilha. Se os codinomes do VBA não forem especificados explicitamente, libxlsxwriter usará os padrões do Excel de ThisWorkbook e Sheet1, Sheet2, etc.

Adicionar BA Marcos para Excel Cookbook dentro C Apps

 
#include "xlsxwriter.h"
int main() {
    /* Note the xlsm extension of the filename */
    lxw_workbook  *workbook  = workbook_new("macro.xlsm");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    worksheet_set_column(worksheet, COLS("A:A"), 30, NULL);
    /* Add a macro file extracted from an Excel workbook. */
    workbook_add_vba_project(workbook, "vbaProject.bin");
    worksheet_write_string(worksheet, 2, 0, "Press the button to say hello.", NULL);
    lxw_button_options options = {.caption = "Press Me", .macro = "say_hello",
                                  .width = 80, .height = 30};
     worksheet_insert_button(worksheet, 2, 1, &options);
    return workbook_close(workbook);
}
 Português