Ir para o conteúdo do rodapé
COMPARAR COM OUTROS COMPONENTES

Uma comparação entre OpenpyXL for Python e IronXL for Python

Neste artigo, discutiremos duas bibliotecas Python amplamente utilizadas para gerenciar arquivos de planilhas do Excel: IronXL e OpenPyXL. Essas bibliotecas são importantes para desenvolvedores Python que precisam manipular, analisar ou criar documentos de arquivos Excel. Cada biblioteca fornece recursos exclusivos para facilitar o manuseio dos arquivos Excel de forma mais eficaz e eficiente.

IronXL e OpenPyXL oferecem aos desenvolvedores a capacidade de automatizar operações de planilhas, editar células de planilhas do Excel e extrair dados de amostra. Eles também suportam recursos avançados, como criar fórmulas, estilizar células e manipular grandes conjuntos de dados sem dificuldades. Isso garante que as aplicações possam gerenciar arquivos Excel eficientemente em vários ambientes sem comprometer o desempenho ou a compatibilidade.

Nesta comparação, vamos explorar os recursos exclusivos de cada biblioteca e como eles funcionam. Também vamos cobrir seus detalhes de licenciamento. Vamos olhar para as diferenças e capacidades de IronXL e OpenPyXL, focando em informações claras e úteis para desenvolvedores.

1. Biblioteca OpenPyXL

OpenPyXL é uma biblioteca Python destinada a lidar com arquivos do Excel no formato XLSX. A biblioteca permite que os desenvolvedores leiam, escrevam e modifiquem arquivos Excel. O módulo OpenPyXL suporta uma variedade de funcionalidades Excel, incluindo manipulação de dados, formatação e recursos avançados, como gráficos e tabelas dinâmicas.

1.1 Características Principais do OpenPyXL

1.1.1 Gestão de Planilhas

OpenPyXL se destaca na criação e edição de livros de trabalho. Ele permite que você comece com um livro de trabalho em branco ou modifique um existente, adicione ou remova folhas e navegue facilmente por elas. Isso o torna perfeito para tarefas que vão desde a geração de relatórios até a automação de entradas de dados.

1.1.2 Manipulação de Dados

Esta biblioteca suporta capacidades avançadas de manuseio de dados, como adicionar linhas, inserir fórmulas e aplicar estilos à planilha ativa. Você pode manipular grandes conjuntos de dados configurando valores das células programaticamente, o que simplifica tarefas como análise de dados e geração de relatórios.

1.1.3 Estilização e Formatação

Com OpenPyXL, você pode aplicar formatação de células, como fontes, cores e bordas. Também suporta formatação condicional e configuração de propriedades de células, como alinhamento, que são essenciais para criar relatórios Excel com estilo profissional.

1.1.4 Gráficos e Imagens

OpenPyXL pode adicionar elementos gráficos às planilhas. Você pode inserir gráficos para visualizar dados e até adicionar imagens para melhorar a apresentação das informações. Este recurso é particularmente útil para criar dashboards e relatórios complexos.

1.1.5 Integração de Fórmulas e Funções

A biblioteca permite a integração de fórmulas do Excel em células, possibilitando cálculos automatizados dentro das planilhas. Ela também suporta a criação de intervalos nomeados, que podem ser muito úteis para organizar dados e criar planilhas mais legíveis e fáceis de manter.

1.1.6 Validação e Automação de Dados

OpenPyXL fornece ferramentas para validação e classificação de dados, que são cruciais para manter a integridade dos dados e organizar informações de forma eficaz. Também oferece recursos para filtragem de dados, facilitando o gerenciamento de grandes volumes de dados em arquivos Excel.

1.1.7 Código Aberto

Como uma biblioteca de código aberto, OpenPyXL se beneficia das contribuições contínuas de uma comunidade vibrante, garantindo que ela continue relevante e rica em recursos. Essa participação da comunidade fornece um vasto leque de recursos e suporte para desenvolvedores que utilizam a biblioteca.

2. Biblioteca IronXL

IronXL é uma robusta biblioteca Python projetada para manipular arquivos Excel sem precisar do Microsoft Excel. É apreciada por sua simplicidade e eficácia em lidar com várias tarefas do Excel diretamente dentro de ambientes Python.

2.1 Recursos Principais do IronXL

2.1.1 Gerenciamento de Livros de Trabalho

IronXL simplifica a criação, carregamento e salvamento de formatos Excel como XLS, XLSX e CSV, entre outros. Garante compatibilidade com diferentes versões do Excel e fornece funcionalidades abrangentes para o gerenciamento programático de dados Excel.

2.1.2 Manipulação de Dados

Com IronXL, você pode ordenar dados de forma eficiente, gerenciar linhas e colunas e personalizar o formato das células. Isso inclui a configuração de tipos de dados, fórmulas e até mesmo a implementação de funções do Excel dentro das células.

2.1.3 Formatação Avançada

IronXL permite extensas opções de estilo para células, incluindo a definição de fontes, bordas e cores de fundo. Suporta recursos avançados do Excel, como formatação condicional e configuração de opções de impressão para planilhas, melhorando a legibilidade e apresentação dos seus relatórios do Excel.

2.1.4 Recursos de segurança

A biblioteca suporta a edição de metadados, gerenciamento de permissões e proteção de arquivos com senha, garantindo que os dados sensíveis sejam salvaguardados.

2.1.5 Suporte Multiplataforma

IronXL é projetado para funcionar em múltiplos sistemas operacionais, incluindo Windows, macOS e Linux, garantindo que os desenvolvedores possam implantar suas aplicações em várias plataformas sem problemas de compatibilidade.

2.1.6 Operações de Intervalo de Planilha e Célula

IronXL oferece funções robustas para lidar com intervalos de planilha e células individuais. Você pode facilmente mesclar, copiar e manipular intervalos de células. Essa capacidade simplifica o gerenciamento de configurações complexas de dados.

2.1.7 Integração com Sistemas de Dados

IronXL se integra perfeitamente com bancos de dados e fontes de dados. Suporta a importação e exportação de dados para e de arquivos Excel. Esse recurso é essencial para aplicações que exigem relatórios e análises de dados dinâmicos.

3. Configurar Projeto no Visual Studio Code

Para começar a testar as bibliotecas IronXL e OpenPyXL, precisamos configurar um projeto no Visual Studio Code, adaptado especificamente para o desenvolvimento em Python.

3.1 Pré-requisitos

Antes de começarmos, certifique-se de que o Visual Studio Code esteja instalado em seu computador. Também é necessário ter o Python instalado, juntamente com a extensão Python para o Visual Studio Code. Essa extensão pode ser adicionada diretamente da visualização Extensões no Visual Studio Code.

3.2 Configuração do Projeto

Comece criando uma nova pasta no seu sistema, que servirá como espaço de trabalho para o seu projeto. Você pode fazer isso facilmente usando a opção Abrir pasta no menu Arquivo do VS Code.

3.3 Configuração do Ambiente

Dentro do Visual Studio Code, é aconselhável configurar um ambiente virtual para gerenciar dependências de forma organizada. Você pode fazer isso usando o terminal integrado no Visual Studio Code. O Visual Studio Code também fornece uma interface na extensão Python para simplificar esse processo. Através do paleta de comandos da extensão Python, você pode criar e ativar um ambiente virtual sem digitar os comandos manualmente.

Pressione Ctrl+Shift+P no VS Code, pesquise por "Python: Criar Ambiente" e clique nele.

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 1 - Configuração do Ambiente

Selecione um tipo de ambiente da lista suspensa. No nosso caso, será ".venv":

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 2 - .venv

Depois disso, selecione o caminho do interpretador Python:

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 3 - Caminho do Interpretador

Isso criará o ambiente virtual Python dentro da pasta.

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 4 - Ambiente Virtual

4. Instalar a Biblioteca IronXL for Python

Instalar a biblioteca IronXL no Visual Studio Code é um processo simples. IronXL é particularmente útil, pois não requer a instalação do Microsoft Office, operando em vez disso sobre o .NET framework.

4.1 Pré-requisitos

Antes de instalar o IronXL, certifique-se de que seu ambiente já está configurado com Python e Visual Studio Code. É importante ter o runtime .NET 6.0 instalado em sua máquina, já que o IronXL depende de tecnologias .NET para funcionar. Para sistemas que ainda não possuem .NET, como Linux ou macOS, pode ser necessário baixá-lo do site oficial do .NET.

4.2 Passos de Instalação

Para instalar o IronXL, use o gerenciador de pacotes pip, que simplifica a instalação de bibliotecas Python. Siga estas etapas no terminal dentro do Visual Studio Code:

  1. Abra o Terminal: Acesse o terminal através do Visual Studio Code usando o atalho Ctrl+` ou navegando para Terminal > Novo Terminal no menu superior.
  2. Execute o Comando de Instalação Pip: No terminal, digite o seguinte comando e pressione Enter:

    pip install IronXL

    O comando acima pip install fará o download e a instalação da biblioteca IronXL junto com quaisquer dependências necessárias para sua operação.

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 5 - IronXL

  1. Confirme a Instalação: Após o processo de instalação ser concluído, você pode verificar se o IronXL foi instalado corretamente tentando importá-lo em um novo script Python:

    from ironxl import *
    from ironxl import *
    PYTHON

    Se não aparecerem erros, a biblioteca está instalada com sucesso e pronta para uso.

4.3 Considerações Adicionais

Enquanto instala o IronXL, se encontrar quaisquer problemas relacionados a dependências ou compatibilidade com .NET, certifique-se de que todos os requisitos do sistema sejam atendidos conforme especificado pela documentação do IronXL. Pode ser necessário ajustar os caminhos do sistema ou instalar bibliotecas de suporte adicionais dependendo do seu sistema operacional.

Seguindo estas instruções, o IronXL será instalado em seu ambiente Python no Visual Studio Code, preparando o cenário para capacidades aprimoradas de manipulação de arquivos Excel e processamento de dados dentro de seus projetos Python.

5. Instalar a Biblioteca OpenPyXL Python

5.1 Instalando OpenPyXL

A instalação do OpenPyXL pode ser feita usando o pip, o instalador de pacotes do Python. É recomendado instalar esta biblioteca dentro de um ambiente virtual para evitar conflitos com outros projetos Python ou pacotes do sistema.

  1. Usando pip para instalar OpenPyXL: Abra sua interface de linha de comando (CLI) no Visual Studio Code ou no ambiente de sua preferência onde seu ambiente Python esteja ativo. Digite o seguinte comando:

    pip install openpyxl
    pip install openpyxl
    SHELL

    Este comando faz o download e a instalação da biblioteca OpenPyXL juntamente com quaisquer dependências necessárias.

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 6 - OpenPyXL

  1. Dependências Opcionais: Para uso avançado, como incluir imagens ou trabalhar com arquivos grandes, o OpenPyXL sugere instalar bibliotecas adicionais como lxml e Pillow. Para instalar estas, use:

    pip install lxml pillow
    pip install lxml pillow
    SHELL

5.2 Verificando a Instalação

Após a instalação, você pode verificar se o OpenPyXL está instalado corretamente tentando importar o módulo OpenPyXL em seu script Python:

from openpyxl import Workbook

wb = Workbook()
from openpyxl import Workbook

wb = Workbook()
PYTHON

Se o código acima for executado sem erros, o OpenpyXL está pronto para ser usado em seus projetos. Seguindo estes passos, você pode facilmente configurar o OpenPyXL e começar a automatizar operações de arquivos Excel em suas aplicações Python.

6. Comparação de Funcionalidades Avançadas no IronXL e OpenPyXL

6.1 Funcionalidades Avançadas do IronXL

IronXL é uma biblioteca Python abrangente projetada para aprimorar a manipulação de arquivos Excel. Esta ferramenta simplifica o processo de criação, edição e gerenciamento de arquivos Excel dentro de aplicações Python, fornecendo uma gama de funcionalidades que atendem a várias necessidades, desde operações básicas de planilhas até manipulação avançada de dados.

6.1.1 Importação e Exportação de Dados

O IronXL se destaca no manuseio de diferentes formatos Excel, incluindo XLS, XLSX e CSV. Os usuários podem facilmente importar dados de amostra desses formatos ou exportar planilhas para eles, facilitando soluções versáteis de troca e relatório de dados. Você também pode selecionar a folha ativa para trabalhar em uma folha específica.

from ironxl import *     

workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
from ironxl import *     

workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
PYTHON

6.1.2 Suporte para Fórmulas e Cálculos

A biblioteca suporta fórmulas do Excel, permitindo que cálculos sejam realizados dentro da planilha do Excel. Toda vez que uma folha é editada, as fórmulas são recalculadas automaticamente, garantindo consistência e precisão dos dados.

from ironxl import *     

# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")

# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"

# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()

# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue

# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
from ironxl import *     

# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")

# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"

# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()

# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue

# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 7 - Escrever dados usando saída de fórmula

6.1.3 Formatação Avançada de Células

IronXL oferece amplas opções de formatação de células. Os usuários podem ajustar fontes, tamanhos, fundos, bordas e alinhamento diretamente em uma planilha Excel através de código. Este recurso ajuda a preparar apresentações de dados e relatórios que exigem diretrizes estilísticas específicas.

from ironxl import *     

License.LicenseKey = "License Code";

workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")

selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000

selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False

selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin

selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")

selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True

# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
from ironxl import *     

License.LicenseKey = "License Code";

workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")

selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000

selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False

selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin

selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")

selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True

# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 8 - Saída de Formatação de Célula

6.1.4 Validação de Dados e Classificação

Para aumentar a integridade dos dados, IronXL inclui recursos de validação de dados. Ele também fornece robustas capacidades de classificação para intervalos, colunas e linhas, facilitando a organização e análise de grandes conjuntos de dados.

6.1.5 Segurança do Documento

Recursos de segurança no IronXL incluem a capacidade de criptografar e descriptografar arquivos Excel. Isso garante que informações sensíveis sejam protegidas e somente acessíveis a usuários autorizados.

from ironxl import *     

# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet

# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")

# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")

# Clear any existing password protection
workbook.Password = None

# Save changes to the workbook
workbook.Save()

worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
from ironxl import *     

# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet

# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")

# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")

# Clear any existing password protection
workbook.Password = None

# Save changes to the workbook
workbook.Save()

worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 9 - Saída de Objeto de Pasta de Trabalho Protegida por Senha

6.1.6 Capacidades de Conversão

IronXL não se limita a tratar arquivos Excel como XLSX, XLSM, XLTX, XLTM. Ele também pode converter documentos Excel em formatos JSON, XML, HTML ou binários, expandindo as possibilidades de utilização de dados em diferentes plataformas e ambientes de programação.

from ironxl import *     

workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")

worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")

workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
from ironxl import *     

workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")

worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")

workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
PYTHON

6.1.7 Gerenciamento de Planilhas e Pastas de Trabalho

A biblioteca simplifica o gerenciamento de pastas de trabalho, permitindo que os usuários criem, carreguem e manipulem pastas de trabalho inteiras ou planilhas individuais. Isso inclui adicionar ou excluir planilhas, bem como definir visibilidade e configurações de impressão.

from ironxl import *     

# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")

# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")

# Fill data into the new worksheet
for i in range(1, 21):
    new_worksheet[f"A{i}"].Value = f"Data {i}"
    new_worksheet[f"B{i}"].Value = 21 - i
    new_worksheet[f"C{i}"].Value = i % 5
    new_worksheet[f"D{i}"].Value = (i * 3) % 7

# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]

# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)

# Sort the range in ascending order based on column A
selected_range.SortAscending()

# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)

# Sort column B in descending order
column.SortDescending()

# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
from ironxl import *     

# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")

# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")

# Fill data into the new worksheet
for i in range(1, 21):
    new_worksheet[f"A{i}"].Value = f"Data {i}"
    new_worksheet[f"B{i}"].Value = 21 - i
    new_worksheet[f"C{i}"].Value = i % 5
    new_worksheet[f"D{i}"].Value = (i * 3) % 7

# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]

# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)

# Sort the range in ascending order based on column A
selected_range.SortAscending()

# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)

# Sort column B in descending order
column.SortDescending()

# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 10 - Saída de Gerenciamento de Planilha

6.1.8 Inserir Novas Linhas e Colunas

IronXL permite que os usuários insiram dinamicamente novas linhas e colunas em planilhas Excel existentes. Este recurso é particularmente útil para modificar estruturas de dados em resposta às necessidades de dados em mudança sem perturbar o layout geral da planilha.

# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
PYTHON

6.1.9 Agrupar e Desagrupar Linhas e Colunas

Com IronXL, os usuários podem agrupar ou desagrupar linhas e colunas. Esta funcionalidade melhora a organização dos dados, permitindo uma navegação e gerenciamento mais fáceis de conjuntos de dados complexos, colapsando e expandindo dados agrupados conforme necessário.

6.1.10 Repetir Linhas e Colunas no Excel

IronXL suporta a repetição de linhas e colunas através de várias páginas de uma pasta de trabalho. Isto é útil para criar cabeçalhos ou rodapés que precisam aparecer em cada página impressa de um documento Excel, garantindo apresentação e legibilidade consistentes.

# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
PYTHON

6.1.11 Copiar Planilhas Excel

Os usuários podem duplicar planilhas existentes dentro da mesma pasta de trabalho usando IronXL. Este recurso economiza tempo ao criar várias folhas que compartilham um formato comum ou ao fazer backup de dados importantes. É muito útil para finalidades de cópia de dados.

# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
PYTHON

6.1.12 Adicionar, Extrair e Remover Imagens de Planilhas

IronXL fornece a capacidade de adicionar imagens a planilhas, extrair imagens delas ou remover imagens. Isso aumenta o apelo visual das planilhas e é útil para relatórios que incluem dados gráficos, logotipos ou imagens instrutivas.

6.2 Recursos Avançados do OpenPyXL

6.2.1 Formatação Condicional

OpenPyXL permite a formatação condicional, permitindo que você mude o estilo das células com base nos dados que contêm. Isso pode incluir definir cores com base em valores numéricos ou aplicar diferentes fontes e estilos com base em condições específicas, melhorando a apresentação visual dos dados.

from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule

wb = Workbook()
ws = wb.active

color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
                             end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)

wb.save('conditional_formatting.xlsx')
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule

wb = Workbook()
ws = wb.active

color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
                             end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)

wb.save('conditional_formatting.xlsx')
PYTHON

6.2.2 Validação de Dados

Com OpenPyXL, você pode implementar a validação de dados para controlar o tipo de dado inserido nas células. Isso inclui definir listas suspensas, restringir entradas a um certo intervalo de datas ou números, e gerar mensagens de erro para entradas inválidas, o que ajuda a manter a integridade dos dados.

from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

wb = Workbook()
ws = wb.active

dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'

wb.save('data_validation.xlsx')
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

wb = Workbook()
ws = wb.active

dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'

wb.save('data_validation.xlsx')
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 11 - Saída de Validação de Dados

6.2.3 Gráficos

A biblioteca suporta a criação e personalização de vários tipos de gráficos, como linhas, barras, pizza e dispersão. Este recurso permite a visualização de dados diretamente dentro das planilhas Excel, facilitando uma melhor análise e divulgação dos dados. Indicamos a linha de plotagem do gráfico e selecionamos a referência de valores para mostrar no gráfico.

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

for i in range(10):
    ws.append([i])

values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")

wb.save("chart.xlsx")
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

for i in range(10):
    ws.append([i])

values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")

wb.save("chart.xlsx")
PYTHON

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 12 - Saída de Gráfico

6.2.4 Mesclar e Desmesclar Células

OpenPyXL fornece a capacidade de mesclar várias células para criar uma única célula maior, o que é frequentemente útil para formatar títulos ou organizar dados. Ele também permite que essas células sejam desmescladas ou divididas novamente em células individuais, se necessário.

6.2.5 Lendo e Escrevendo Comentários

Você pode ler e escrever comentários em células, permitindo que notas adicionais ou instruções sejam incluídas no arquivo Excel. Este recurso é particularmente útil para projetos colaborativos, onde notas e diretrizes podem precisar ser compartilhadas entre os usuários.

from openpyxl import Workbook
from openpyxl.comments import Comment

wb = Workbook()
ws = wb.active

comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment

wb.save('comments.xlsx')
from openpyxl import Workbook
from openpyxl.comments import Comment

wb = Workbook()
ws = wb.active

comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment

wb.save('comments.xlsx')
PYTHON

6.2.6 Tabelas Dinâmicas

A biblioteca oferece a capacidade de criar tabelas dinâmicas a partir de dados dentro de suas planilhas. Esta ferramenta poderosa ajuda a resumir, analisar, explorar e apresentar seus dados de forma abrangente, facilitando a obtenção de conclusões e a tomada de decisões informadas com base em grandes conjuntos de dados.

7. Documentação e Suporte

7.1 Documentação e Suporte do IronXL for Python

Documentação: IronXL fornece documentação extensa para desenvolvedores Python. Cobre uma ampla gama de tópicos, incluindo como ler, escrever e editar documentos Excel, gerenciar planilhas, estilizar células e classificar dados programaticamente. A documentação é projetada para ser direta, complementada com inúmeros exemplos de código para auxiliar os desenvolvedores na rápida integração das funcionalidades do IronXL em seus aplicativos.

Suporte: IronXL oferece opções robustas de suporte. Os desenvolvedores podem acessar suporte através de uma seção abrangente de perguntas frequentes, documentação detalhada online e assistência por e-mail direto. Para consultas mais complexas ou assistência imediata, há uma opção de contatar diretamente a equipe de engenharia.

7.2 Documentação e Suporte do OpenPyXL

Documentação: A documentação do OpenPyXL é completa e bem organizada, oferecendo guias para desenvolvedores desde o início até recursos avançados, como gráficos, validação de dados com mensagens de erro e formatação condicional. A documentação inclui explicações detalhadas e trechos de código, que são úteis para usuários novos e experientes.

Suporte: OpenPyXL fornece suporte principalmente através de fóruns da comunidade e rastreadores de problemas em seus repositórios oficiais. Os desenvolvedores podem postar problemas e contribuir para a biblioteca no GitHub, tornando-a uma ferramenta colaborativa e em constante evolução.

8. Informações de Licença

8.1 Licença do IronXL

IronXL oferece várias opções de licença perpétua adaptadas às diferentes necessidades de projeto, todas garantindo que os desenvolvedores possam usar a biblioteca em vários ambientes sem custos contínuos.

  • Lite License: Com preço de $799, esta opção é adequada para 1 desenvolvedor, 1 local e 1 projeto. Inclui suporte por e-mail.
  • Plus License: Esta opção custa $1.499 e expande a cobertura para 3 desenvolvedores, 3 locais e 3 projetos. Inclui suporte por e-mail, suporte via chat 24/7 e suporte por telefone.
  • Professional License: Por $2.999, este é o pacote mais abrangente, suportando 10 desenvolvedores, 10 locais e 10 projetos. Oferece as mesmas opções de suporte da licença Plus, juntamente com suporte de compartilhamento de tela para assistência aprofundada.

Opções adicionais incluem:

  • Cobertura de Redistribuição Livre de Royalty: Necessária para distribuir IronXL dentro de produtos de software empacotados, SaaS e aplicativos OEM. Isso não está disponível para a licença Lite e deve ser adquirida com licenças Plus ou Professional.
  • Suporte e Atualizações de Produto Estendidas: Os desenvolvedores podem escolher suporte e atualizações contínuos com uma opção gratuita de 1 ano ou um pacote de 5 anos por $499. Isso inclui atualizações de recursos de segurança e suporte direto da equipe de engenharia.

Cada licença também inclui uma garantia de devolução do dinheiro em 30 dias, permitindo que os desenvolvedores testem o IronXL sem riscos. Esses termos de licenciamento tornam o IronXL uma opção flexível para projetos de vários escopos e tamanhos, proporcionando caminhos claros para implementação em diferentes ambientes profissionais.

8.2 Licença do OpenPyXL

OpenPyXL é distribuído sob a licença MIT, que é uma licença de software livre permissiva. Isso significa que permite uma liberdade considerável de uso tanto para software de código aberto quanto proprietário. A licença MIT permite o reuso dentro de software proprietário, desde que todas as cópias do software licenciado incluam uma cópia dos termos da Licença MIT e a nota de direitos autorais.

9. Conclusão

Uma Comparação Entre OpenpyXL Python & IronXL for Python: Figura 13 - Licenciamento

Em nossa revisão do IronXL e do OpenPyXL, analisamos seus recursos, usabilidade, opções de suporte e licenciamento. Ambas as bibliotecas são excelentes para gerenciar arquivos Excel, mas atendem a necessidades diferentes.

IronXL se destaca devido aos seus recursos extensos que permitem manipulações complexas de Excel sem necessidade do Microsoft Office. Oferece documentação detalhada e suporte técnico sólido, tornando-se uma escolha confiável para projetos maiores ou empresas. Cientistas de dados usam IronXL para múltiplos propósitos, como cópia de dados, mineração de dados, análise de dados e muitas outras tarefas. As licenças IronXL começam em $799, mas incluem um teste gratuito. Este teste permite que os desenvolvedores testem completamente as capacidades do IronXL antes de realizar a compra, o que é uma grande vantagem para qualquer projeto sério.

OpenPyXL também é poderoso, especialmente com seus recursos avançados de Excel, como gráficos, como gráfico de linha, e formatação condicional. Está disponível sob a licença MIT, que oferece flexibilidade para uso de código aberto e comercial. Seu suporte é impulsionado pela comunidade, o que é ótimo, mas não possui o suporte estruturado que o IronXL oferece.

Se o seu projeto precisa de recursos de alto nível juntamente com suporte profissional e contínuo, IronXL é a melhor escolha. Pode custar inicialmente, mas o investimento vale a pena pelos benefícios e segurança que oferece, especialmente para projetos complexos ou de longo prazo.

ObserveOpenPyXL é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo OpenPyXL. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Quais são as funções principais do IronXL e do OpenPyXL?

IronXL e OpenPyXL são projetados para gerenciar arquivos de planilha do Excel, permitindo que desenvolvedores realizem tarefas como leitura, gravação e modificação de documentos do Excel. Eles oferecem suporte a funcionalidades avançadas, como criação de fórmulas, formatação de células e manipulação de grandes conjuntos de dados.

Como posso manipular arquivos do Excel sem usar o Microsoft Excel?

O IronXL permite manipular arquivos do Excel sem a necessidade de instalar o Microsoft Excel. Ele opera de forma independente na estrutura .NET, oferecendo recursos robustos de manipulação de arquivos do Excel em diversas plataformas.

Quais são os benefícios de usar o IronXL para manipulação de arquivos do Excel?

O IronXL oferece benefícios como suporte multiplataforma, formatação avançada de células, validação de dados, segurança de documentos e recursos de conversão para diversos formatos, como JSON, XML e HTML. É adequado para projetos complexos que exigem recursos abrangentes e suporte profissional.

O OpenPyXL suporta a criação de gráficos e tabelas dinâmicas?

Sim, o OpenPyXL suporta a criação de vários tipos de gráficos e tabelas dinâmicas, facilitando a visualização de dados e a análise abrangente de dados diretamente nas planilhas do Excel.

É necessário ter uma licença comercial para usar o IronXL?

Sim, a IronXL oferece uma licença comercial com diversas opções de suporte, incluindo um período de avaliação, que proporciona um suporte técnico robusto e recursos abrangentes para manipulação de arquivos do Excel.

Como o OpenPyXL lida com a integração de fórmulas do Excel?

O OpenPyXL consegue gerenciar e avaliar fórmulas em planilhas do Excel, permitindo operações complexas com dados e mantendo a integridade dos dados durante a manipulação de arquivos.

Quais opções de suporte estão disponíveis para usuários do OpenPyXL?

O OpenPyXL conta com o suporte da comunidade por meio de fóruns e do GitHub, oferecendo uma abordagem colaborativa para a resolução de problemas, enquanto o IronXL fornece suporte direto por e-mail, chat e telefone.

Quais formatos do Excel o IronXL suporta?

O IronXL suporta vários formatos de arquivo do Excel, permitindo que os desenvolvedores trabalhem com diferentes tipos de documentos do Excel e oferecendo amplas capacidades de conversão entre múltiplos formatos de dados.

Quais as diferenças entre IronXL e OpenPyXL em termos de compatibilidade de plataforma?

IronXL é compatível com Windows, macOS e Linux, oferecendo versatilidade para aplicações em diferentes ambientes operacionais. OpenPyXL é usado principalmente em ambientes Python e foca na manipulação de arquivos XLSX.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me