DataFrame do Pandas para Excel em Python: Guia Passo a Passo
Índice
- Por que usar o Spire.XLS para converter DataFrame do Pandas para Excel
- Pré-requisitos para converter DataFrame do Pandas para Excel
- Exportar um único DataFrame do Pandas para Excel com formatação
- Converter múltiplos DataFrames do Pandas para um único arquivo Excel
- Escrever DataFrames do Pandas em um arquivo Excel existente
- Personalização avançada para exportar DataFrames do Pandas para Excel
- Conclusão
- Perguntas Frequentes
Instalar com Pypi
pip install pandas spire.xls
Links Relacionados

Trabalhar com dados tabulares é uma tarefa comum para desenvolvedores Python, e o Pandas é a biblioteca de referência para manipulação e análise de dados. Frequentemente, os desenvolvedores precisam exportar DataFrames do Pandas para o Excel para relatórios, colaboração em equipe ou análise de dados adicional. Embora o Pandas forneça a função to_excel para exportações básicas, criar relatórios profissionais do Excel com cabeçalhos formatados, células estilizadas, várias planilhas e gráficos pode ser um desafio.
Este tutorial demonstra como escrever um único DataFrame ou múltiplos DataFrames para o Excel usando o Spire.XLS for Python, uma biblioteca multifuncional do Excel que permite a personalização completa de arquivos do Excel diretamente do Python, sem a necessidade de ter o Microsoft Excel instalado.
Índice
- Por que usar o Spire.XLS para converter DataFrame do Pandas para Excel
- Pré-requisitos para converter DataFrame do Pandas para Excel
- Exportar um único DataFrame do Pandas para Excel com formatação
- Converter múltiplos DataFrames do Pandas para um único arquivo Excel
- Escrever DataFrames do Pandas em um arquivo Excel existente
- Personalização avançada para exportar DataFrames do Pandas para Excel
- Conclusão
- Perguntas Frequentes
Por que usar o Spire.XLS para converter DataFrame do Pandas para Excel
Embora o Pandas forneça funcionalidades básicas de exportação para o Excel, o Spire.XLS estende isso, dando controle total sobre a criação de arquivos do Excel. Em vez de apenas escrever dados brutos, os desenvolvedores podem:
- Organizar múltiplos DataFrames em planilhas separadas dentro de uma única pasta de trabalho.
- Personalizar cabeçalhos, fontes, cores e formatação de células para produzir layouts profissionais.
- Ajustar automaticamente as colunas e as alturas das linhas para melhorar a legibilidade.
- Adicionar gráficos, fórmulas e outros recursos do Excel diretamente do Python
Pré-requisitos para converter DataFrame do Pandas para Excel
Antes de exportar um DataFrame do Pandas para o Excel, certifique-se de ter as seguintes bibliotecas necessárias instaladas. Você pode fazer isso executando o seguinte comando no terminal do seu projeto:
pip install pandas spire.xls
Essas bibliotecas permitem que você escreva DataFrames no Excel com várias planilhas, formatação personalizada, gráficos atraentes e layouts estruturados.
Exportar um único DataFrame do Pandas para Excel com formatação
Exportar um único DataFrame para um arquivo Excel é o cenário mais comum. Usando o Spire.XLS, você pode não apenas exportar seu DataFrame, mas também formatar cabeçalhos, estilizar células e adicionar gráficos para tornar seu relatório com aparência profissional.
Vamos passar por este processo passo a passo.
Passo 1: Criar um DataFrame de Amostra
Primeiro, precisamos criar um DataFrame. Aqui, temos nomes de funcionários, departamentos e salários. Você pode, é claro, substituir isso pelo seu próprio conjunto de dados.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Passo 2: Criar uma Pasta de Trabalho e Acessar a Primeira Planilha
Agora vamos criar uma nova pasta de trabalho do Excel e preparar a primeira planilha. Vamos dar a ela um nome significativo para que seja fácil de entender.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Passo 3: Escrever Cabeçalhos de Coluna
Vamos escrever os cabeçalhos na primeira linha, deixá-los em negrito e adicionar um fundo cinza claro, para que tudo pareça organizado.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Passo 4: Escrever as Linhas de Dados
Em seguida, escrevemos cada linha do DataFrame. Para números, usamos a propriedade NumberValue para que o Excel possa reconhecê-los para cálculos e gráficos.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Passo 5: Aplicar Bordas e Ajustar Colunas Automaticamente
Para dar à sua planilha do Excel uma aparência polida, semelhante a uma tabela, vamos adicionar bordas e ajustar automaticamente a largura das colunas.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Passo 6: Adicionar um Gráfico para Visualizar Dados
Gráficos ajudam você a entender rapidamente as tendências. Aqui, criaremos um gráfico de colunas comparando salários.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Passo 7: Salvar a Pasta de Trabalho
Finalmente, salve a pasta de trabalho no local desejado.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Resultado:
O arquivo Excel XLSX gerado a partir do DataFrame do Pandas se parece com isto:

Uma vez que o arquivo Excel é gerado, ele pode ser processado posteriormente, como ser convertido para PDF para fácil compartilhamento:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Para mais detalhes, consulte o guia sobre como converter Excel para PDF em Python.
Converter Múltiplos DataFrames do Pandas para um Único Arquivo Excel
Ao criar relatórios no Excel, vários conjuntos de dados geralmente precisam ser colocados em planilhas separadas. Usando o Spire.XLS, cada DataFrame do Pandas pode ser escrito em sua própria planilha, garantindo que os dados relacionados sejam organizados de forma clara e fáceis de analisar. Os passos a seguir demonstram este fluxo de trabalho.
Passo 1: Criar Múltiplos DataFrames de Amostra
Antes de exportar, criamos dois DataFrames separados - um para informações de funcionários e outro para produtos. Cada DataFrame irá para sua própria planilha do Excel.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Aqui, dataframes é uma lista de tuplas que associa cada DataFrame ao nome da planilha em que deve aparecer.
Passo 2: Criar uma Nova Pasta de Trabalho
Em seguida, criamos uma nova pasta de trabalho do Excel para armazenar todos os DataFrames.
# Create a new workbook
workbook = Workbook()
Isso inicializa uma pasta de trabalho em branco com três planilhas padrão. Vamos renomeá-las e preenchê-las no próximo passo.
Passo 3: Percorrer Cada DataFrame e Escrever em sua Própria Planilha
Em vez de escrever cada DataFrame individualmente, podemos percorrer nossa lista e processá-los da mesma maneira. Isso reduz o código duplicado e facilita o manuseio de mais conjuntos de dados.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
Usando este loop, podemos facilmente adicionar mais DataFrames no futuro sem reescrever o mesmo código.
Passo 4: Salvar a Pasta de Trabalho
Finalmente, salvamos o arquivo Excel. Ambos os conjuntos de dados estão agora organizados de forma limpa em um único arquivo com planilhas separadas, cabeçalhos formatados e bordas adequadas.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Agora seu arquivo Excel está pronto para ser compartilhado ou analisado posteriormente.
Resultado:

O arquivo MultipleDataFrames.xlsx contém duas planilhas:
- Funcionários (com nomes e idades)
- Produtos (com detalhes e preços dos produtos)
Esta organização torna os arquivos Excel com múltiplos relatórios limpos e fáceis de navegar.
Escrever DataFrames do Pandas em um Arquivo Excel Existente
Em alguns casos, em vez de criar um novo arquivo Excel, você pode precisar escrever DataFrames em uma pasta de trabalho existente. Isso pode ser facilmente alcançado carregando a pasta de trabalho existente, adicionando uma nova planilha ou acessando a planilha desejada e escrevendo os dados do DataFrame usando a mesma lógica.
O código a seguir mostra como escrever um DataFrame do Pandas em um arquivo Excel existente:
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Personalização Avançada para Exportar DataFrames do Pandas para o Excel
Além das exportações básicas, os DataFrames do Pandas podem ser personalizados no Excel para atender a requisitos específicos de relatórios. Opções avançadas - como selecionar colunas específicas e incluir ou excluir o índice - permitem criar arquivos Excel mais limpos, legíveis e profissionais. Os exemplos a seguir demonstram como aplicar essas personalizações.
1. Selecionar Colunas Específicas
Às vezes, você pode não precisar exportar todas as colunas de um DataFrame. Ao selecionar apenas as colunas relevantes, você pode manter seus relatórios do Excel concisos e focados. O código a seguir demonstra como percorrer as colunas escolhidas ao escrever cabeçalhos e linhas:
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Incluir ou Excluir Índice
Por padrão, o índice do DataFrame não é incluído na exportação. Se o seu relatório exigir identificadores de linha ou índices numéricos, você pode adicioná-los manualmente. Este trecho de código mostra como incluir o índice ao lado das colunas selecionadas:
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Conclusão
Exportar um DataFrame do Pandas para o Excel é simples, mas produzir relatórios profissionais e bem formatados requer controle adicional. Usando o Pandas para a preparação de dados e o Spire.XLS for Python para criar e formatar arquivos do Excel, você pode gerar pastas de trabalho estruturadas, legíveis e visualmente organizadas. Essa abordagem funciona tanto para DataFrames únicos quanto para múltiplos conjuntos de dados, facilitando a criação de relatórios do Excel prontos para análise, compartilhamento ou manipulação posterior.
Perguntas Frequentes
P1: Como posso exportar um DataFrame do Pandas para o Excel em Python?
R1: Você pode usar bibliotecas como o Spire.XLS para escrever um DataFrame em um arquivo Excel. Isso permite transferir dados tabulares do Python para o Excel, mantendo o controle sobre a formatação e o layout.
P2: Posso exportar mais de um DataFrame para um único arquivo Excel?
R2: Sim. Múltiplos DataFrames podem ser escritos em planilhas separadas na mesma pasta de trabalho. Isso ajuda a manter conjuntos de dados relacionados organizados em um único arquivo.
P3: Como adiciono cabeçalhos e formato células no Excel a partir de um DataFrame?
R3: Os cabeçalhos podem ser colocados em negrito, coloridos ou ter larguras fixas. Valores numéricos podem ser armazenados como números e texto como strings. A formatação melhora a legibilidade dos relatórios.
P4: É possível incluir gráficos no arquivo Excel exportado?
R4: Sim. Gráficos como os de colunas ou linhas podem ser adicionados com base nos dados do seu DataFrame para ajudar a visualizar tendências ou comparações.
P5: Preciso ter o Microsoft Excel instalado para exportar DataFrames?
R5: Não necessariamente. Algumas bibliotecas, incluindo o Spire.XLS, podem criar e formatar arquivos do Excel inteiramente em Python sem depender da instalação do Excel.
Veja Também
Python에서 Pandas DataFrame을 Excel로 변환: 단계별 가이드
목차
Pypi�?설치
pip install pandas spire.xls
관�?링크
Pandas�?데이�?조작 �?분석�?위한 기본 라이브러리입니다. 종종 개발자는 보고, 팀 공동 작업 또는 추가 데이�?분석�?위해 Pandas DataFrame�?Excel�?내보내야 합니�? Pandas�?기본 내보내기�?위한 to_excel 함수�?제공하지�?서식�?지정된 헤더, 스타일이 지정된 셀, 여러 시트 �?차트가 포함�?전문적인 Excel 보고서를 만드�?것은 어려�?�?있습니다.
�?자습서에서는 Microsoft Excel�?설치�?필요 없이 Python에서 직접 Excel 파일�?완벽하게 사용�?정의�?�?있는 다기�?Excel 라이브러리인 Spire.XLS for Python�?사용하여 단일 DataFrame 또는 여러 DataFrame�?Excel�?쓰는 방법�?보여줍니�?
목차
- Pandas DataFrame�?Excel�?변환하�?�?Spire.XLS�?사용하는 이유
- Pandas DataFrame�?Excel�?변환하�?위한 전제 조건
- 서식�?있는 단일 Pandas DataFrame�?Excel�?내보내기
- 여러 Pandas DataFrame�?하나�?Excel 파일�?변�?/a>
- 기존 Excel 파일�?Pandas DataFrame 쓰기
- Pandas DataFrame�?Excel�?내보내기 위한 고급 사용�?정의
- 결론
- 자주 묻는 질문
Pandas DataFrame�?Excel�?변환하�?�?Spire.XLS�?사용하는 이유
Pandas�?기본 Excel 내보내기 기능�?제공하지�?Spire.XLS�?Excel 파일 생성�?완벽하게 제어하여 이를 확장합니�? 개발자는 원시 데이터를 쓰는 대�?다음�?수행�?�?있습니다.
- 여러 DataFrame�?단일 통합 문서 내의 별도 시트�?구성합니�?
- 헤더, 글�? 색상 �?셀 서식�?사용�?정의하여 전문적인 레이아웃�?만듭니다.
- 가독성�?높이�?위해 열을 자동 맞춤하고 �?높이�?조정합니�?
- Python에서 직접 차트, 수식 �?기타 Excel 기능�?추가합니�?
Pandas DataFrame�?Excel�?변환하�?위한 전제 조건
Pandas DataFrame�?Excel�?내보내기 전에 다음 필수 라이브러리가 설치되어 있는지 확인하십시오. 프로젝트 터미널에�?다음 명령�?실행하여 �?작업�?수행�?�?있습니다.
pip install pandas spire.xls
이러�?라이브러리를 사용하면 여러 시트, 사용�?정의 서식, 매력적인 차트 �?구조화된 레이아웃으로 DataFrame�?Excel�?�?�?있습니다.
서식�?있는 단일 Pandas DataFrame�?Excel�?내보내기
단일 DataFrame�?Excel 파일�?내보내는 것이 가�?일반적인 시나리오입니�? Spire.XLS�?사용하면 DataFrame�?내보�?�?있을 뿐만 아니�?헤더 서식�?지정하�?셀 스타일을 지정하�?차트�?추가하여 보고서를 전문가처럼 보이�?만들 �?있습니다.
�?과정�?단계별로 살펴보겠습니�?
1단계: 샘플 DataFrame 만들�?/h3>
먼저 DataFrame�?만들어야 합니�? 여기에는 직원 이름, 부�?�?급여가 있습니다. 물론 이것�?자신�?데이�?세트�?바꿀 �?있습니다.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
2단계: 통합 문서 만들�?�?�?번째 시트 액세�?/h3>
이제 �?Excel 통합 문서�?만들�?�?번째 워크시트�?준비합니다. 이해하기 쉽도�?의미 있는 이름�?지정해 보겠습니�?
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
3단계: �?헤더 쓰기
헤더�?�?번째 행에 쓰고 굵게 표시하고 밝은 회색 배경�?추가하여 모든 것이 깔끔하게 보이도록 합니�?
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
4단계: 데이�?�?쓰기
다음으로 DataFrame�?�?행을 씁니�? 숫자�?경우 NumberValue 속성�?사용하여 Excel�?계산 �?차트�?대�?인식�?�?있도�?합니�?
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
5단계: 테두�?적용 �?�?자동 맞춤
Excel 시트�?세련�?테이�?모양�?부여하�?위해 테두리를 추가하고 �?너비�?자동으로 조정�?보겠습니�?
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
6단계: 데이�?시각화를 위한 차트 추가
차트�?추세�?빠르�?이해하는 �?도움�?됩니�? 여기서는 급여�?비교하는 세로 막대�?차트�?만들 것입니다.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
7단계: 통합 문서 저�?/h3>
마지막으�?통합 문서�?원하�?위치�?저장합니다.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
결과:
Pandas DataFrame에서 생성�?Excel XLSX 파일은 다음�?같습니다.
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
자세�?내용은 Python에서 Excel�?PDF�?변�?/a>하는 가이드�?참조하십시오.
여러 Pandas DataFrame�?하나�?Excel 파일�?변�?/h2>
Excel 보고서를 만들 �?여러 데이�?세트�?별도�?시트�?배치해야 하는 경우가 많습니다. Spire.XLS�?사용하면 �?Pandas DataFrame�?자체 워크시트�?�?�?있으므�?관�?데이터가 명확하게 구성되고 분석하기 쉽습니다. 다음 단계�?�?워크플로�?보여줍니�?
1단계: 여러 샘플 DataFrame 만들�?/h3>
내보내기 전에 직원 정보용과 제품용으�?�?개의 개별 DataFrame�?만듭니다. �?DataFrame은 자체 Excel 시트�?들어갑니�?
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
여기�?dataframes�?�?DataFrame�?표시되어�?하는 시트 이름�?쌍으�?연결하는 튜플 목록입니�?
2단계: �?통합 문서 만들�?/h3>
다음으로 모든 DataFrame�?저장할 �?Excel 통합 문서�?만듭니다.
# Create a new workbook
workbook = Workbook()
이렇�?하면 �?개의 기본 시트가 있는 �?통합 문서가 초기화됩니다. 다음 단계에서 이름�?바꾸�?채울 것입니다.
3단계: �?DataFrame�?반복하고 자체 시트�?쓰기
�?DataFrame�?개별적으�?작성하는 대�?목록�?반복하고 동일�?방식으로 처리�?�?있습니다. 이렇�?하면 중복 코드가 줄어들고 �?많은 데이�?세트�?�?쉽게 처리�?�?있습니다.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
�?루프�?사용하면 나중�?동일�?코드�?다시 작성하지 않고�?�?많은 DataFrame�?쉽게 추가�?�?있습니다.
4단계: 통합 문서 저�?/h3>
마지막으�?Excel 파일�?저장합니다. 이제 �?데이�?세트가 모두 별도�?시트, 서식�?지정된 헤더 �?적절�?테두리가 있는 하나�?파일�?깔끔하게 정리되었습니�?
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
이제 Excel 파일�?공유하거�?추가�?분석�?준비가 되었습니�?
결과:

기존 Excel 파일�?Pandas DataFrame 쓰기
경우�?따라 �?Excel 파일�?만드�?대�?기존 통합 문서�?DataFrame�?써야 �?수도 있습니다. 기존 통합 문서�?로드하고 �?시트�?추가하거�?원하�?시트�?액세스한 다음 동일�?논리�?사용하여 DataFrame 데이터를 작성하면 �?작업�?쉽게 수행�?�?있습니다.
다음 코드�?Pandas DataFrame�?기존 Excel 파일�?쓰는 방법�?보여줍니�?
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Pandas DataFrame�?Excel�?내보내기 위한 고급 사용�?정의
기본 내보내기 외에�?특정 보고 요구 사항�?충족하도�?Excel에서 Pandas DataFrame�?사용�?정의�?�?있습니다. 특정 �?선택, 인덱�?포함 또는 제외와 같은 고급 옵션�?사용하면 �?깨끗하고 읽기 쉬우�?전문적인 Excel 파일�?만들 �?있습니다. 다음 예에서는 이러�?사용�?정의�?적용하는 방법�?보여줍니�?
1. 특정 �?선택
경우�?따라 DataFrame�?모든 열을 내보�?필요가 없을 수도 있습니다. 관�?열만 선택하여 Excel 보고서를 간결하고 집중적으�?유지�?�?있습니다. 다음 코드�?헤더와 행을 작성�?�?선택�?열을 반복하는 방법�?보여줍니�?
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. 인덱�?포함 또는 제외
기본적으�?DataFrame 인덱스는 내보내기�?포함되지 않습니다. 보고서에 �?식별자나 숫자 인덱스가 필요�?경우 수동으로 추가�?�?있습니다. �?코드 조각은 선택�?열과 함께 인덱스를 포함하는 방법�?보여줍니�?
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
결론
Pandas DataFrame�?Excel�?내보내는 것은 간단하지�?전문적이�?�?서식�?보고서를 작성하려�?추가 제어가 필요합니�? 데이�?준비를 위해 Pandas�?사용하고 Excel 파일�?만들�?서식�?지정하�?위해 Spire.XLS for Python�?사용하면 구조화되�?읽기 쉬우�?시각적으�?구성�?통합 문서�?생성�?�?있습니다. �?접근 방식은 단일 DataFrame�?여러 데이�?세트 모두�?적용되므�?분석, 공유 또는 추가 조작�?위해 준비된 Excel 보고서를 쉽게 만들 �?있습니다.
자주 묻는 질문
Q1: Python에서 Pandas DataFrame�?Excel�?어떻�?내보�?�?있나�?
A1: Spire.XLS와 같은 라이브러리를 사용하여 DataFrame�?Excel 파일�?�?�?있습니다. 이를 통해 서식 �?레이아웃�?대�?제어�?유지하면�?테이�?형식 데이터를 Python에서 Excel�?전송�?�?있습니다.
Q2: �?이상�?DataFrame�?단일 Excel 파일�?내보�?�?있나�?
A2: �? 여러 DataFrame�?동일�?통합 문서 내의 별도 시트�?�?�?있습니다. 이렇�?하면 관�?데이�?세트�?하나�?파일�?정리하는 �?도움�?됩니�?
Q3: DataFrame에서 Excel�?헤더�?추가하고 셀 서식�?어떻�?지정하나요?
A3: 헤더�?굵게 표시하거�?색상�?지정하거나 고정 너비�?가�?�?있습니다. 숫자 값은 숫자�? 텍스트는 문자열로 저장할 �?있습니다. 서식�?지정하�?보고서의 가독성�?향상됩니�?
Q4: 내보�?Excel 파일�?차트�?포함�?�?있나�?
A4: �? DataFrame 데이터를 기반으로 세로 막대�?또는 꺾은선형 차트와 같은 차트�?추가하여 추세�?비교�?시각화하�?�?도움�?�?�?있습니다.
Q5: DataFrame�?내보내려�?Microsoft Excel�?설치되어 있어�?하나�?
A5: 반드�?그렇지�?않습니다. Spire.XLS�?포함�?일부 라이브러리는 Excel 설치�?의존하지 않고 Python 내에�?전적으로 Excel 파일�?만들�?서식�?지정할 �?있습니다.
참고 항목
- Python에서 CSV�?JSON으로 변환하�?방법
- Python에서 JSON�?CSV�?- 전체 가이드
- Python에서 XML�?CSV�?변환하�?방법
- Python에서 CSV�?XML�?변�?/a>
DataFrame Pandas vers Excel en Python : Guide étape par étape
Table des matières
- Pourquoi utiliser Spire.XLS pour convertir un DataFrame Pandas en Excel
- Prérequis pour convertir un DataFrame Pandas en Excel
- Exporter un seul DataFrame Pandas vers Excel avec mise en forme
- Convertir plusieurs DataFrames Pandas en un seul fichier Excel
- Écrire des DataFrames Pandas dans un fichier Excel existant
- Personnalisation avancée pour l'exportation de DataFrames Pandas vers Excel
- Conclusion
- FAQ
Installer avec Pypi
pip install pandas spire.xls
Liens connexes

Travailler avec des données tabulaires est une tâche courante pour les développeurs Python, et Pandas est la bibliothèque de référence pour la manipulation et l'analyse de données. Souvent, les développeurs ont besoin d'exporter des DataFrames Pandas vers Excel pour les rapports, la collaboration en équipe ou une analyse plus approfondie des données. Bien que Pandas fournisse la fonction to_excel pour les exportations de base, la création de rapports Excel professionnels avec des en-têtes formatés, des cellules stylisées, plusieurs feuilles et des graphiques peut être difficile.
Ce tutoriel montre comment écrire un seul DataFrame ou plusieurs DataFrames dans Excel en utilisant Spire.XLS for Python, une bibliothèque Excel multifonctionnelle qui permet une personnalisation complète des fichiers Excel directement depuis Python, sans qu'il soit nécessaire d'installer Microsoft Excel.
Table des matières
- Pourquoi utiliser Spire.XLS pour convertir un DataFrame Pandas en Excel
- Prérequis pour convertir un DataFrame Pandas en Excel
- Exporter un seul DataFrame Pandas vers Excel avec mise en forme
- Convertir plusieurs DataFrames Pandas en un seul fichier Excel
- Écrire des DataFrames Pandas dans un fichier Excel existant
- Personnalisation avancée pour l'exportation de DataFrames Pandas vers Excel
- Conclusion
- FAQ
Pourquoi utiliser Spire.XLS pour convertir un DataFrame Pandas en Excel
Bien que Pandas offre une fonctionnalité d'exportation Excel de base, Spire.XLS étend cela en donnant un contrôle total sur la création de fichiers Excel. Au lieu de simplement écrire des données brutes, les développeurs peuvent :
- Organiser plusieurs DataFrames dans des feuilles séparées au sein d'un même classeur.
- Personnaliser les en-têtes, les polices, les couleurs et le formatage des cellules pour produire des mises en page professionnelles.
- Ajuster automatiquement les colonnes et ajuster la hauteur des lignes pour une meilleure lisibilité.
- Ajouter des graphiques, des formules et d'autres fonctionnalités Excel directement depuis Python
Prérequis pour convertir un DataFrame Pandas en Excel
Avant d'exporter un DataFrame Pandas vers Excel, assurez-vous d'avoir installé les bibliothèques requises suivantes. Vous pouvez le faire en exécutant la commande suivante dans le terminal de votre projet :
pip install pandas spire.xls
Ces bibliothèques vous permettent d'écrire des DataFrames dans Excel avec plusieurs feuilles, une mise en forme personnalisée, des graphiques attrayants et des mises en page structurées.
Exporter un seul DataFrame Pandas vers Excel avec mise en forme
L'exportation d'un seul DataFrame vers un fichier Excel est le scénario le plus courant. En utilisant Spire.XLS, vous pouvez non seulement exporter votre DataFrame, mais aussi formater les en-têtes, styliser les cellules et ajouter des graphiques pour donner à votre rapport un aspect professionnel.
Parcourons ce processus étape par étape.
Étape 1 : Créer un DataFrame d'exemple
Tout d'abord, nous devons créer un DataFrame. Ici, nous avons les noms des employés, les départements et les salaires. Vous pouvez, bien sûr, remplacer cela par votre propre jeu de données.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Étape 2 : Créer un classeur et accéder à la première feuille
Maintenant, nous allons créer un nouveau classeur Excel et préparer la première feuille de calcul. Donnons-lui un nom significatif pour qu'il soit facile à comprendre.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Étape 3 : Écrire les en-têtes de colonne
Nous écrirons les en-têtes sur la première ligne, les mettrons en gras et ajouterons un fond gris clair, pour que tout soit bien présenté.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Étape 4 : Écrire les lignes de données
Ensuite, nous écrivons chaque ligne du DataFrame. Pour les nombres, nous utilisons la propriété NumberValue afin qu'Excel puisse les reconnaître pour les calculs et les graphiques.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Étape 5 : Appliquer des bordures et ajuster automatiquement les colonnes
Pour donner à votre feuille Excel une apparence soignée, semblable à un tableau, ajoutons des bordures et ajustons automatiquement la largeur des colonnes.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Étape 6 : Ajouter un graphique pour visualiser les données
Les graphiques vous aident à comprendre rapidement les tendances. Ici, nous allons créer un histogramme comparant les salaires.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Étape 7 : Enregistrer le classeur
Enfin, enregistrez le classeur à l'emplacement de votre choix.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Résultat :
Le fichier Excel XLSX généré à partir du DataFrame Pandas ressemble à ceci :

Une fois le fichier Excel généré, il peut être traité ultérieurement, par exemple en le convertissant en PDF pour un partage facile :
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Pour plus de détails, consultez le guide sur la conversion d'Excel en PDF en Python.
Convertir plusieurs DataFrames Pandas en un seul fichier Excel
Lors de la création de rapports Excel, plusieurs jeux de données doivent souvent être placés sur des feuilles séparées. En utilisant Spire.XLS, chaque DataFrame Pandas peut être écrit sur sa propre feuille de calcul, garantissant que les données associées sont organisées de manière claire et faciles à analyser. Les étapes suivantes illustrent ce processus.
Étape 1 : Créer plusieurs DataFrames d'exemple
Avant l'exportation, nous créons deux DataFrames distincts - un pour les informations sur les employés et un autre pour les produits. Chaque DataFrame sera placé dans sa propre feuille Excel.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Ici, dataframes est une liste de tuples qui associe chaque DataFrame au nom de la feuille dans laquelle il doit apparaître.
Étape 2 : Créer un nouveau classeur
Ensuite, nous créons un nouveau classeur Excel pour stocker tous les DataFrames.
# Create a new workbook
workbook = Workbook()
Cela initialise un classeur vide avec trois feuilles par défaut. Nous les renommerons et les remplirons à l'étape suivante.
Étape 3 : Parcourir chaque DataFrame et l'écrire dans sa propre feuille
Au lieu d'écrire chaque DataFrame individuellement, nous pouvons parcourir notre liste et les traiter de la même manière. Cela réduit le code dupliqué et facilite la gestion de plus de jeux de données.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
En utilisant cette boucle, nous pouvons facilement ajouter plus de DataFrames à l'avenir sans réécrire le même code.
Étape 4 : Enregistrer le classeur
Enfin, nous enregistrons le fichier Excel. Les deux jeux de données sont maintenant soigneusement organisés dans un seul fichier avec des feuilles séparées, des en-têtes formatés et des bordures appropriées.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Votre fichier Excel est maintenant prêt à être partagé ou analysé plus en profondeur.
Résultat :

Le fichier MultipleDataFrames.xlsx contient deux feuilles :
- Employés (avec noms et âges)
- Produits (avec détails et prix des produits)
Cette organisation rend les fichiers Excel multi-rapports propres et faciles à naviguer.
Écrire des DataFrames Pandas dans un fichier Excel existant
Dans certains cas, au lieu de créer un nouveau fichier Excel, vous devrez peut-être écrire des DataFrames dans un classeur existant. Cela peut être facilement réalisé en chargeant le classeur existant, en ajoutant une nouvelle feuille ou en accédant à la feuille souhaitée, et en écrivant les données du DataFrame en utilisant la même logique.
Le code suivant montre comment écrire un DataFrame Pandas dans un fichier Excel existant :
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Personnalisation avancée pour l'exportation de DataFrames Pandas vers Excel
Au-delà des exportations de base, les DataFrames Pandas peuvent être personnalisés dans Excel pour répondre à des exigences de rapport spécifiques. Des options avancées, telles que la sélection de colonnes spécifiques et l'inclusion ou l'exclusion de l'index, vous permettent de créer des fichiers Excel plus propres, plus lisibles et professionnels. Les exemples suivants montrent comment appliquer ces personnalisations.
1. Sélectionner des colonnes spécifiques
Parfois, vous n'avez pas besoin d'exporter toutes les colonnes d'un DataFrame. En sélectionnant uniquement les colonnes pertinentes, vous pouvez garder vos rapports Excel concis et ciblés. Le code suivant montre comment parcourir les colonnes choisies lors de l'écriture des en-têtes et des lignes :
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Inclure ou exclure l'index
Par défaut, l'index du DataFrame n'est pas inclus dans l'exportation. Si votre rapport nécessite des identifiants de ligne ou des index numériques, vous pouvez les ajouter manuellement. Cet extrait de code montre comment inclure l'index à côté des colonnes sélectionnées :
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Conclusion
L'exportation d'un DataFrame Pandas vers Excel est simple, mais la production de rapports professionnels et bien formatés nécessite un contrôle supplémentaire. En utilisant Pandas pour la préparation des données et Spire.XLS for Python pour créer et formater des fichiers Excel, vous pouvez générer des classeurs structurés, lisibles et visuellement organisés. Cette approche fonctionne aussi bien pour les DataFrames uniques que pour les ensembles de données multiples, ce qui facilite la création de rapports Excel prêts pour l'analyse, le partage ou une manipulation ultérieure.
FAQ
Q1 : Comment puis-je exporter un DataFrame Pandas vers Excel en Python ?
R1 : Vous pouvez utiliser des bibliothèques comme Spire.XLS pour écrire un DataFrame dans un fichier Excel. Cela vous permet de transférer des données tabulaires de Python vers Excel tout en gardant le contrôle sur la mise en forme et la mise en page.
Q2 : Puis-je exporter plus d'un DataFrame dans un seul fichier Excel ?
R2 : Oui. Plusieurs DataFrames peuvent être écrits sur des feuilles séparées dans le même classeur. Cela aide à garder les ensembles de données associés organisés dans un seul fichier.
Q3 : Comment ajouter des en-têtes et formater des cellules dans Excel à partir d'un DataFrame ?
R3 : Les en-têtes peuvent être mis en gras, colorés ou avoir des largeurs fixes. Les valeurs numériques peuvent être stockées en tant que nombres et le texte en tant que chaînes de caractères. La mise en forme améliore la lisibilité des rapports.
Q4 : Est-il possible d'inclure des graphiques dans le fichier Excel exporté ?
R4 : Oui. Des graphiques tels que des histogrammes ou des graphiques linéaires peuvent être ajoutés en fonction des données de votre DataFrame pour aider à visualiser les tendances ou les comparaisons.
Q5 : Ai-je besoin d'avoir Microsoft Excel installé pour exporter des DataFrames ?
R5 : Pas nécessairement. Certaines bibliothèques, y compris Spire.XLS, peuvent créer et formater des fichiers Excel entièrement en Python sans dépendre de l'installation d'Excel.
Voir aussi
De DataFrame de Pandas a Excel en Python: Guía paso a paso
Tabla de Contenidos
- Por qué usar Spire.XLS para exportar DataFrame de Pandas a Excel
- Requisitos previos para exportar DataFrame de Pandas a Excel
- Exportar un único DataFrame de Pandas a Excel con formato
- Convertir múltiples DataFrames de Pandas a un solo archivo de Excel
- Escribir DataFrames de Pandas en un archivo de Excel existente
- Personalización avanzada para exportar DataFrames de Pandas a Excel
- Conclusión
- Preguntas frecuentes
Instalar con Pypi
pip install pandas spire.xls
Enlaces relacionados

Trabajar con datos tabulares es una tarea común para los desarrolladores de Python, y Pandas es la biblioteca de referencia para la manipulación y el análisis de datos. A menudo, los desarrolladores necesitan exportar DataFrames de Pandas a Excel para informes, colaboración en equipo o análisis de datos adicionales. Aunque Pandas proporciona la función to_excel para exportaciones básicas, crear informes de Excel profesionales con encabezados formateados, celdas con estilo, múltiples hojas y gráficos puede ser un desafío.
Este tutorial demuestra cómo escribir un único DataFrame o múltiples DataFrames en Excel usando Spire.XLS for Python, una biblioteca de Excel multifuncional que permite la personalización completa de archivos de Excel directamente desde Python, sin necesidad de tener Microsoft Excel instalado.
Tabla de Contenidos
- Por qué usar Spire.XLS para exportar DataFrame de Pandas a Excel
- Requisitos previos para exportar DataFrame de Pandas a Excel
- Exportar un único DataFrame de Pandas a Excel con formato
- Convertir múltiples DataFrames de Pandas a un solo archivo de Excel
- Escribir DataFrames de Pandas en un archivo de Excel existente
- Personalización avanzada para exportar DataFrames de Pandas a Excel
- Conclusión
- Preguntas frecuentes
Por qué usar Spire.XLS para exportar DataFrame de Pandas a Excel
Aunque Pandas proporciona una funcionalidad básica de exportación a Excel, Spire.XLS la amplía al dar un control total sobre la creación de archivos de Excel. En lugar de simplemente escribir datos sin procesar, los desarrolladores pueden:
- Organizar múltiples DataFrames en hojas separadas dentro de un solo libro de trabajo.
- Personalizar encabezados, fuentes, colores y formato de celdas para producir diseños profesionales.
- Autoajustar columnas y ajustar la altura de las filas para mejorar la legibilidad.
- Añadir gráficos, fórmulas y otras características de Excel directamente desde Python
Requisitos previos para exportar DataFrame de Pandas a Excel
Antes de exportar un DataFrame de Pandas a Excel, asegúrese de tener instaladas las siguientes bibliotecas requeridas. Puede hacerlo ejecutando el siguiente comando en la terminal de su proyecto:
pip install pandas spire.xls
Estas bibliotecas le permiten escribir DataFrames en Excel con múltiples hojas, formato personalizado, gráficos atractivos y diseños estructurados.
Exportar un único DataFrame de Pandas a Excel con formato
Exportar un único DataFrame a un archivo de Excel es el escenario más común. Usando Spire.XLS, no solo puede exportar su DataFrame, sino también formatear encabezados, aplicar estilo a las celdas y agregar gráficos para que su informe se vea profesional.
Repasemos este proceso paso a paso.
Paso 1: Crear un DataFrame de muestra
Primero, necesitamos crear un DataFrame. Aquí, tenemos nombres de empleados, departamentos y salarios. Por supuesto, puede reemplazar esto con su propio conjunto de datos.
import pandas as pd
from spire.xls import *
# Crear un DataFrame simple
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Paso 2: Crear un libro de trabajo y acceder a la primera hoja
Ahora crearemos un nuevo libro de trabajo de Excel y prepararemos la primera hoja de cálculo. Démosle un nombre significativo para que sea fácil de entender.
# Crear un nuevo libro de trabajo
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Datos de Empleados"
Paso 3: Escribir los encabezados de las columnas
Escribiremos los encabezados en la primera fila, los pondremos en negrita y agregaremos un fondo gris claro para que todo se vea ordenado.
# Escribir encabezados de columna
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Poner encabezados en negrita
cell.Style.Color = Color.get_LightGray() # Fondo gris claro
Paso 4: Escribir las filas de datos
A continuación, escribimos cada fila del DataFrame. Para los números, usamos la propiedad NumberValue para que Excel pueda reconocerlos para cálculos y gráficos.
# Escribir filas de datos
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Paso 5: Aplicar bordes y autoajustar columnas
Para darle a su hoja de Excel una apariencia pulida y similar a una tabla, agreguemos bordes y ajustemos automáticamente el ancho de las columnas.
# Aplicar bordes y autoajustar columnas
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Bordes exteriores
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Bordes interiores
usedRange.AutoFitColumns()
Paso 6: Agregar un gráfico para visualizar datos
Los gráficos le ayudan a comprender rápidamente las tendencias. Aquí, crearemos un gráfico de columnas para comparar los salarios.
# Agregar un gráfico
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Rango de datos para el gráfico
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Posición del gráfico
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Comparación de salarios de empleados"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Paso 7: Guardar el libro de trabajo
Finalmente, guarde el libro de trabajo en la ubicación deseada.
# Guardar el archivo de Excel
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Resultado:
El archivo XLSX de Excel generado a partir del DataFrame de Pandas se ve así:

Una vez que se genera el archivo de Excel, se puede procesar más, como convertirlo a PDF para compartirlo fácilmente:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Para más detalles, consulte la guía sobre convertir Excel a PDF en Python.
Convertir múltiples DataFrames de Pandas a un solo archivo de Excel
Al crear informes de Excel, a menudo es necesario colocar múltiples conjuntos de datos en hojas separadas. Usando Spire.XLS, cada DataFrame de Pandas se puede escribir en su propia hoja de trabajo, asegurando que los datos relacionados estén organizados de forma clara y sean fáciles de analizar. Los siguientes pasos demuestran este flujo de trabajo.
Paso 1: Crear múltiples DataFrames de muestra
Antes de exportar, creamos dos DataFrames separados: uno para la información de los empleados y otro para los productos. Cada DataFrame irá a su propia hoja de Excel.
import pandas as pd
from spire.xls import *
# DataFrames de muestra
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# Lista de DataFrames con los nombres de hoja correspondientes
dataframes = [
(df1, "Empleados"),
(df2, "Productos")
]
Aquí, dataframes es una lista de tuplas que empareja cada DataFrame con el nombre de la hoja en la que debe aparecer.
Paso 2: Crear un nuevo libro de trabajo
A continuación, creamos un nuevo libro de trabajo de Excel para almacenar todos los DataFrames.
# Crear un nuevo libro de trabajo
workbook = Workbook()
Esto inicializa un libro de trabajo en blanco con tres hojas predeterminadas. Las renombraremos y poblaremos en el siguiente paso.
Paso 3: Recorrer cada DataFrame y escribirlo en su propia hoja
En lugar de escribir cada DataFrame individualmente, podemos recorrer nuestra lista y procesarlos de la misma manera. Esto reduce el código duplicado y facilita el manejo de más conjuntos de datos.
for i, (df, sheet_name) in enumerate(dataframes):
# Obtener o crear una hoja
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Escribir encabezados con fuente en negrita y color de fondo
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Establecer ancho de columna fijo
# Escribir filas de datos
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Aplicar bordes delgados alrededor del rango usado
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Bordes exteriores
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Bordes interiores
Usando este bucle, podemos agregar fácilmente más DataFrames en el futuro sin reescribir el mismo código.
Paso 4: Guardar el libro de trabajo
Finalmente, guardamos el archivo de Excel. Ambos conjuntos de datos ahora están organizados de forma ordenada en un solo archivo con hojas separadas, encabezados formateados y bordes adecuados.
# Guardar el libro de trabajo
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Ahora su archivo de Excel está listo para ser compartido o analizado más a fondo.
Resultado:

El archivo MultipleDataFrames.xlsx contiene dos hojas:
- Empleados (con nombres y edades)
- Productos (con detalles de productos y precios)
Esta organización hace que los archivos de Excel con múltiples informes sean limpios y fáciles de navegar.
Escribir DataFrames de Pandas en un archivo de Excel existente
En algunos casos, en lugar de crear un nuevo archivo de Excel, es posible que necesite escribir DataFrames en un libro de trabajo existente. Esto se puede lograr fácilmente cargando el libro de trabajo existente, agregando una nueva hoja o accediendo a la hoja deseada y escribiendo los datos del DataFrame con la misma lógica.
El siguiente código muestra cómo escribir un DataFrame de Pandas en un archivo de Excel existente:
import pandas as pd
from spire.xls import *
# Cargar un archivo de Excel existente
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Crear un nuevo DataFrame para agregar
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Agregar una nueva hoja de trabajo para el nuevo DataFrame
new_sheet = workbook.Worksheets.Add("Ventas Regionales")
# Escribir encabezados
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Escribir filas de datos
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Guardar los cambios
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Personalización avanzada para exportar DataFrames de Pandas a Excel
Más allá de las exportaciones básicas, los DataFrames de Pandas se pueden personalizar en Excel para cumplir con requisitos específicos de informes. Las opciones avanzadas, como seleccionar columnas específicas e incluir o excluir el índice, le permiten crear archivos de Excel más limpios, legibles y profesionales. Los siguientes ejemplos demuestran cómo aplicar estas personalizaciones.
1. Seleccionar columnas específicas
A veces, es posible que no necesite exportar todas las columnas de un DataFrame. Al seleccionar solo las columnas relevantes, puede mantener sus informes de Excel concisos y enfocados. El siguiente código demuestra cómo recorrer las columnas elegidas al escribir encabezados y filas:
import pandas as pd
from spire.xls import *
# Crear un DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Establecer las columnas a exportar
columns_to_export = ['Employee', 'Department']
# Crear un nuevo libro de trabajo y acceder a la primera hoja
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Escribir encabezados
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Escribir filas
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Guardar el archivo de Excel
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Incluir o excluir el índice
Por defecto, el índice del DataFrame no se incluye en la exportación. Si su informe requiere identificadores de fila o índices numéricos, puede agregarlos manualmente. Este fragmento de código muestra cómo incluir el índice junto con las columnas seleccionadas:
# Escribir encabezado para el índice
sheet.Range[1, 1].Text = "Index"
# Escribir valores de índice (numéricos)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Usar NumberValue para numéricos
# Escribir encabezados para otras columnas
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Escribir las filas de datos
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Guardar el libro de trabajo
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Conclusión
Exportar un DataFrame de Pandas a Excel es simple, pero producir informes profesionales y bien formateados requiere un control adicional. Al usar Pandas para la preparación de datos y Spire.XLS for Python para crear y formatear archivos de Excel, puede generar libros de trabajo estructurados, legibles y visualmente organizados. Este enfoque funciona tanto para DataFrames individuales como para múltiples conjuntos de datos, lo que facilita la creación de informes de Excel que están listos para el análisis, el uso compartido o la manipulación posterior.
Preguntas frecuentes
P1: ¿Cómo puedo exportar un DataFrame de Pandas a Excel en Python?
R1: Puede usar bibliotecas como Spire.XLS para escribir un DataFrame en un archivo de Excel. Esto le permite transferir datos tabulares de Python a Excel manteniendo el control sobre el formato y el diseño.
P2: ¿Puedo exportar más de un DataFrame a un solo archivo de Excel?
R2: Sí. Se pueden escribir múltiples DataFrames en hojas separadas dentro del mismo libro de trabajo. Esto ayuda a mantener organizados los conjuntos de datos relacionados en un solo archivo.
P3: ¿Cómo agrego encabezados y formato a las celdas en Excel desde un DataFrame?
R3: Los encabezados se pueden poner en negrita, colorear o tener anchos fijos. Los valores numéricos se pueden almacenar como números y el texto como cadenas. El formato mejora la legibilidad de los informes.
P4: ¿Es posible incluir gráficos en el archivo de Excel exportado?
R4: Sí. Se pueden agregar gráficos como los de columnas o líneas basados en los datos de su DataFrame para ayudar a visualizar tendencias o comparaciones.
P5: ¿Necesito tener Microsoft Excel instalado para exportar DataFrames?
R5: No necesariamente. Algunas bibliotecas, incluido Spire.XLS, pueden crear y formatear archivos de Excel completamente en Python sin depender de que Excel esté instalado.
Ver también
Pandas DataFrame zu Excel in Python: Schritt-für-Schritt-Anleitung
Inhaltsverzeichnis
- Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
- Voraussetzungen für Pandas DataFrame nach Excel
- Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
- Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
- Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
- Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
- Fazit
- Häufig gestellte Fragen
Mit Pypi installieren
pip install pandas spire.xls
Verwandte Links

Die Arbeit mit tabellarischen Daten ist eine häufige Aufgabe für Python-Entwickler, und Pandas ist die bevorzugte Bibliothek für die Datenmanipulation und -analyse. Oft müssen Entwickler Pandas DataFrames zur Berichterstellung, zur Zusammenarbeit im Team oder zur weiteren Datenanalyse nach Excel exportieren. Während Pandas die Funktion to_excel für grundlegende Exporte bereitstellt, kann die Erstellung professioneller Excel-Berichte mit formatierten Kopfzeilen, gestalteten Zellen, mehreren Blättern und Diagrammen eine Herausforderung sein.
Dieses Tutorial zeigt, wie man einen einzelnen DataFrame oder mehrere DataFrames nach Excel schreibt, indem man Spire.XLS for Python verwendet, eine multifunktionale Excel-Bibliothek, die eine vollständige Anpassung von Excel-Dateien direkt aus Python ermöglicht, ohne dass Microsoft Excel installiert sein muss.
Inhaltsverzeichnis
- Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
- Voraussetzungen für Pandas DataFrame nach Excel
- Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
- Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
- Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
- Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
- Fazit
- Häufig gestellte Fragen
Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
Während Pandas grundlegende Excel-Exportfunktionen bietet, erweitert Spire.XLS diese, indem es die volle Kontrolle über die Erstellung von Excel-Dateien gibt. Anstatt nur Rohdaten zu schreiben, können Entwickler:
- Mehrere DataFrames in separaten Blättern innerhalb einer einzigen Arbeitsmappe organisieren.
- Kopfzeilen, Schriftarten, Farben und Zellformatierungen anpassen, um professionelle Layouts zu erstellen.
- Spalten automatisch anpassen und Zeilenhöhen für eine bessere Lesbarkeit einstellen.
- Diagramme, Formeln und andere Excel-Funktionen direkt aus Python hinzufügen
Voraussetzungen für Pandas DataFrame nach Excel
Bevor Sie einen Pandas DataFrame nach Excel exportieren, stellen Sie sicher, dass Sie die folgenden erforderlichen Bibliotheken installiert haben. Sie können dies tun, indem Sie den folgenden Befehl im Terminal Ihres Projekts ausführen:
pip install pandas spire.xls
Diese Bibliotheken ermöglichen es Ihnen, DataFrames mit mehreren Blättern, benutzerdefinierter Formatierung, ansprechenden Diagrammen und strukturierten Layouts nach Excel zu schreiben.
Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
Der Export eines einzelnen DataFrame in eine Excel-Datei ist das häufigste Szenario. Mit Spire.XLS können Sie nicht nur Ihren DataFrame exportieren, sondern auch Kopfzeilen formatieren, Zellen gestalten und Diagramme hinzufügen, um Ihren Bericht professionell aussehen zu lassen.
Lassen Sie uns diesen Prozess Schritt für Schritt durchgehen.
Schritt 1: Erstellen Sie einen Beispiel-DataFrame
Zuerst müssen wir einen DataFrame erstellen. Hier haben wir Mitarbeiternamen, Abteilungen und Gehälter. Sie können dies natürlich durch Ihren eigenen Datensatz ersetzen.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Schritt 2: Erstellen Sie eine Arbeitsmappe und greifen Sie auf das erste Blatt zu
Jetzt erstellen wir eine neue Excel-Arbeitsmappe und bereiten das erste Arbeitsblatt vor. Geben wir ihm einen aussagekräftigen Namen, damit es leicht verständlich ist.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Schritt 3: Spaltenüberschriften schreiben
Wir schreiben die Überschriften in die erste Zeile, machen sie fett und fügen einen hellgrauen Hintergrund hinzu, damit alles ordentlich aussieht.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Schritt 4: Datenzeilen schreiben
Als Nächstes schreiben wir jede Zeile aus dem DataFrame. Für Zahlen verwenden wir die NumberValue-Eigenschaft, damit Excel sie für Berechnungen und Diagramme erkennen kann.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Schritt 5: Rahmen anwenden und Spalten automatisch anpassen
Um Ihrem Excel-Blatt ein poliertes, tabellenähnliches Aussehen zu verleihen, fügen wir Rahmen hinzu und passen die Spaltenbreiten automatisch an.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Schritt 6: Fügen Sie ein Diagramm zur Visualisierung von Daten hinzu
Diagramme helfen Ihnen, Trends schnell zu verstehen. Hier erstellen wir ein Säulendiagramm zum Vergleich der Gehälter.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Schritt 7: Speichern der Arbeitsmappe
Speichern Sie abschließend die Arbeitsmappe an Ihrem gewünschten Ort.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Ergebnis:
Die aus dem Pandas DataFrame generierte Excel-XLSX-Datei sieht so aus:

Sobald die Excel-Datei generiert ist, kann sie weiterverarbeitet werden, z. B. in PDF konvertiert werden, um sie einfach zu teilen:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Weitere Einzelheiten finden Sie in der Anleitung zum Konvertieren von Excel in PDF in Python.
Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
Bei der Erstellung von Excel-Berichten müssen oft mehrere Datensätze auf separaten Blättern platziert werden. Mit Spire.XLS kann jeder Pandas DataFrame in sein eigenes Arbeitsblatt geschrieben werden, um sicherzustellen, dass zusammengehörige Daten klar organisiert und leicht zu analysieren sind. Die folgenden Schritte demonstrieren diesen Arbeitsablauf.
Schritt 1: Erstellen Sie mehrere Beispiel-DataFrames
Vor dem Exportieren erstellen wir zwei separate DataFrames - einen für Mitarbeiterinformationen und einen anderen für Produkte. Jeder DataFrame wird in sein eigenes Excel-Blatt eingefügt.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Hier ist dataframes eine Liste von Tupeln, die jeden DataFrame mit dem Namen des Blattes paart, in dem er erscheinen soll.
Schritt 2: Erstellen Sie eine neue Arbeitsmappe
Als Nächstes erstellen wir eine neue Excel-Arbeitsmappe, um alle DataFrames zu speichern.
# Create a new workbook
workbook = Workbook()
Dadurch wird eine leere Arbeitsmappe mit drei Standardblättern initialisiert. Wir werden sie im nächsten Schritt umbenennen und füllen.
Schritt 3: Durchlaufen Sie jeden DataFrame und schreiben Sie ihn in sein eigenes Blatt
Anstatt jeden DataFrame einzeln zu schreiben, können wir unsere Liste durchlaufen und sie auf die gleiche Weise verarbeiten. Dies reduziert doppelten Code und erleichtert die Handhabung von mehr Datensätzen.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
Mit dieser Schleife können wir in Zukunft problemlos weitere DataFrames hinzufügen, ohne denselben Code neu schreiben zu müssen.
Schritt 4: Speichern der Arbeitsmappe
Schließlich speichern wir die Excel-Datei. Beide Datensätze sind jetzt ordentlich in einer Datei mit separaten Blättern, formatierten Kopfzeilen und korrekten Rahmen organisiert.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Jetzt ist Ihre Excel-Datei bereit, geteilt oder weiter analysiert zu werden.
Ergebnis:

Die Datei MultipleDataFrames.xlsx enthält zwei Blätter:
- Mitarbeiter (mit Namen und Alter)
- Produkte (mit Produktdetails und Preisen)
Diese Organisation macht Excel-Dateien mit mehreren Berichten sauber und einfach zu navigieren.
Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
In einigen Fällen müssen Sie möglicherweise DataFrames in eine vorhandene Arbeitsmappe schreiben, anstatt eine neue Excel-Datei zu erstellen. Dies kann einfach erreicht werden, indem Sie die vorhandene Arbeitsmappe laden, ein neues Blatt hinzufügen oder auf das gewünschte Blatt zugreifen und die DataFrame-Daten mit derselben Logik schreiben.
Der folgende Code zeigt, wie man einen Pandas DataFrame in eine vorhandene Excel-Datei schreibt:
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
Über grundlegende Exporte hinaus können Pandas DataFrames in Excel angepasst werden, um spezifische Berichtsanforderungen zu erfüllen. Erweiterte Optionen �?wie die Auswahl bestimmter Spalten und das Ein- oder Ausschließen des Index �?ermöglichen es Ihnen, sauberere, besser lesbare und professionellere Excel-Dateien zu erstellen. Die folgenden Beispiele zeigen, wie diese Anpassungen angewendet werden.
1. Bestimmte Spalten auswählen
Manchmal müssen Sie möglicherweise nicht alle Spalten aus einem DataFrame exportieren. Indem Sie nur die relevanten Spalten auswählen, können Sie Ihre Excel-Berichte prägnant und fokussiert halten. Der folgende Code zeigt, wie Sie beim Schreiben von Kopf- und Datenzeilen durch ausgewählte Spalten iterieren:
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Index ein- oder ausschließen
Standardmäßig wird der DataFrame-Index nicht in den Export einbezogen. Wenn Ihr Bericht Zeilenkennungen oder numerische Indizes erfordert, können Sie diese manuell hinzufügen. Dieses Code-Snippet zeigt, wie Sie den Index neben ausgewählten Spalten einfügen:
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Fazit
Das Exportieren eines Pandas DataFrame nach Excel ist einfach, aber die Erstellung professioneller, gut formatierter Berichte erfordert zusätzliche Kontrolle. Durch die Verwendung von Pandas zur Datenvorbereitung und Spire.XLS for Python zum Erstellen und Formatieren von Excel-Dateien können Sie strukturierte, lesbare und visuell organisierte Arbeitsmappen erstellen. Dieser Ansatz funktioniert sowohl für einzelne DataFrames als auch für mehrere Datensätze und erleichtert die Erstellung von Excel-Berichten, die für die Analyse, den Austausch oder die weitere Bearbeitung bereit sind.
Häufig gestellte Fragen
F1: Wie kann ich einen Pandas DataFrame in Python nach Excel exportieren?
A1: Sie können Bibliotheken wie Spire.XLS verwenden, um einen DataFrame in eine Excel-Datei zu schreiben. Dies ermöglicht es Ihnen, tabellarische Daten von Python nach Excel zu übertragen und dabei die Kontrolle über Formatierung und Layout zu behalten.
F2: Kann ich mehr als einen DataFrame in eine einzelne Excel-Datei exportieren?
A2: Ja. Mehrere DataFrames können in separate Blätter innerhalb derselben Arbeitsmappe geschrieben werden. Dies hilft, zusammengehörige Datensätze in einer Datei organisiert zu halten.
F3: Wie füge ich Kopfzeilen hinzu und formatiere Zellen in Excel aus einem DataFrame?
A3: Kopfzeilen können fett, farbig oder mit fester Breite formatiert werden. Numerische Werte können als Zahlen und Text als Zeichenfolgen gespeichert werden. Die Formatierung verbessert die Lesbarkeit von Berichten.
F4: Ist es möglich, Diagramme in die exportierte Excel-Datei aufzunehmen?
A4: Ja. Diagramme wie Säulen- oder Liniendiagramme können basierend auf Ihren DataFrame-Daten hinzugefügt werden, um Trends oder Vergleiche zu visualisieren.
F5: Benötige ich eine installierte Microsoft Excel-Version, um DataFrames zu exportieren?
A5: Nicht unbedingt. Einige Bibliotheken, einschließlich Spire.XLS, können Excel-Dateien vollständig in Python erstellen und formatieren, ohne dass Excel installiert sein muss.
Siehe auch
Pandas DataFrame в Excel на Python: Пошаговое руководство
Содержание
- Зачем использовать Spire.XLS для преобразования DataFrame Pandas в Excel
- Предварительные требования для преобразования DataFrame Pandas в Excel
- Экспорт одного DataFrame Pandas в Excel с форматированием
- Преобразование нескольких DataFrame Pandas в один файл Excel
- Запись DataFrame Pandas в существующий файл Excel
- Расширенная настройка для экспорта DataFrame Pandas в Excel
- Заключение
- Часто задаваемые вопросы
Установить с помощью Pypi
pip install pandas spire.xls
Похожие ссылки

Работа с табличными данными �?обычная задача для разработчиков на Python, и Pandas является основной библиотекой для обработки и анализа данных. Часто разработчикам необходимо экспортировать DataFrame Pandas в Excel для отчетности, совместной работы в команде или дальнейшего анализа данных. Хотя Pandas предоставляет функцию to_excel для базового экспорта, создание профессиональных отчетов Excel с отформатированными заголовками, стилизованными ячейками, несколькими листами и диаграммами может быть сложной задачей.
В этом руководстве показано, как записать один или несколько DataFrame в Excel с использованием Spire.XLS for Python, многофункциональной библиотеки Excel, которая позволяет полностью настраивать файлы Excel непосредственно из Python без необходимости установки Microsoft Excel.
Содержание
- Зачем использовать Spire.XLS для преобразования DataFrame Pandas в Excel
- Предварительные требования для преобразования DataFrame Pandas в Excel
- Экспорт одного DataFrame Pandas в Excel с форматированием
- Преобразование нескольких DataFrame Pandas в один файл Excel
- Запись DataFrame Pandas в существующий файл Excel
- Расширенная настройка для экспорта DataFrame Pandas в Excel
- Заключение
- Часто задаваемые вопросы
Зачем использовать Spire.XLS для преобразования DataFrame Pandas в Excel
Хотя Pandas предоставляет базовые функции экспорта в Excel, Spire.XLS расширяет их, предоставляя полный контроль над созданием файлов Excel. Вместо того, чтобы просто записывать необработанные данные, разработчики могут:
- Организовывать несколько DataFrame на отдельных листах в одной рабочей книге.
- Настраивать заголовки, шрифты, цвета и форматирование ячеек для создания профессиональных макетов.
- Автоподбор ширины столбцов и настраивать высоту строк для улучшения читаемости.
- Добавлять диаграммы, формулы и другие функции Excel непосредственно из Python
Предварительные требования для преобразования DataFrame Pandas в Excel
Перед экспортом DataFrame Pandas в Excel убедитесь, что у вас установлены следующие необходимые библиотеки. Вы можете сделать это, выполнив следующую команду в терминале вашего проекта:
pip install pandas spire.xls
Эти библиотеки позволяют записывать DataFrame в Excel с несколькими листами, настраиваемым форматированием, привлекательными диаграммами и структурированными макетами.
Экспорт одного DataFrame Pandas в Excel с форматированием
Экспорт одного DataFrame в файл Excel �?наиболее распространенный сценарий. Используя Spire.XLS, вы можете не только экспортировать свой DataFrame, но и форматировать заголовки, стилизовать ячейки и добавлять диаграммы, чтобы ваш отчет выглядел профессионально.
Давайте пройдем этот процесс шаг за шагом.
Шаг 1: Создайте образец DataFrame
Сначала нам нужно создать DataFrame. Здесь у нас есть имена сотрудников, отделы и зарплаты. Вы, конечно, можете заменить это своим собственным набором данных.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Шаг 2: Создайте рабочую книгу и получите доступ к первому листу
Теперь мы создадим новую рабочую книгу Excel и подготовим первый рабочий лист. Давайте дадим ему осмысленное имя, чтобы его было легко понять.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Шаг 3: Запишите заголовки столбцов
Мы запишем заголовки в первую строку, сделаем их жирными и добавим светло-серый фон, чтобы все выглядело аккуратно.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Шаг 4: Запишите строки данных
Далее мы записываем каждую строку из DataFrame. Для чисел мы используем свойство NumberValue, чтобы Excel мог распознавать их для вычислений и диаграмм.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Шаг 5: Примените границы и автоподбор ширины столбцов
Чтобы придать вашему листу Excel отполированный, табличный вид, давайте добавим границы и автоматически настроим ширину столбцов.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Шаг 6: Добавьте диаграмму для визуализации данных
Диаграммы помогают быстро понять тенденции. Здесь мы создадим гистограмму, сравнивающую зарплаты.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Шаг 7: Сохраните рабочую книгу
Наконец, сохраните рабочую книгу в нужном месте.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Результат:
Файл Excel XLSX, созданный из DataFrame Pandas, выглядит следующим образом:

После создания файла Excel его можно дополнительно обработать, например, преобразовать в PDF для удобного обмена:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Для получения дополнительной информации см. руководство по преобразованию Excel в PDF на Python.
Преобразование нескольких DataFrame Pandas в один файл Excel
При создании отчетов Excel часто требуется размещать несколько наборов данных на отдельных листах. Используя Spire.XLS, каждый DataFrame Pandas можно записать на свой собственный рабочий лист, обеспечивая четкую организацию и легкий анализ связанных данных. Следующие шаги демонстрируют этот рабочий процесс.
Шаг 1: Создайте несколько образцов DataFrame
Перед экспортом мы создаем два отдельных DataFrame �?один для информации о сотрудниках, а другой для продуктов. Каждый DataFrame будет помещен на свой собственный лист Excel.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Здесь, dataframes �?это список кортежей, который сопоставляет каждый DataFrame с именем листа, на котором он должен появиться.
Шаг 2: Создайте новую рабочую книгу
Далее мы создаем новую рабочую книгу Excel для хранения всех DataFrame.
# Create a new workbook
workbook = Workbook()
Это инициализирует пустую рабочую книгу с тремя листами по умолчанию. Мы переименуем и заполним их на следующем шаге.
Шаг 3: Пройдитесь по каждому DataFrame и запишите его на свой лист
Вместо того, чтобы записывать каждый DataFrame по отдельности, мы можем пройтись по нашему списку и обработать их одинаково. Это уменьшает дублирование кода и упрощает обработку большего количества наборов данных.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
Используя этот цикл, мы можем легко добавлять больше DataFrame в будущем, не переписывая тот же код.
Шаг 4: Сохраните рабочую книгу
Наконец, мы сохраняем файл Excel. Оба набора данных теперь аккуратно организованы в одном файле с отдельными листами, отформатированными заголовками и правильными границами.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Теперь ваш файл Excel готов к совместному использованию или дальнейшему анализу.
Результат:

Файл MultipleDataFrames.xlsx содержит два листа:
- Сотрудники (с именами и возрастом)
- Продукты (с деталями и ценами на продукты)
Такая организация делает многостраничные файлы Excel чистыми и удобными для навигации.
Запись DataFrame Pandas в существующий файл Excel
В некоторых случаях вместо создания нового файла Excel может потребоваться записать DataFrame в существующую рабочую книгу. Этого можно легко достичь, загрузив существующую рабочую книгу, добавив новый лист или получив доступ к нужному листу и записав данные DataFrame, используя ту же логику.
Следующий код показывает, как записать DataFrame Pandas в существующий файл Excel:
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Расширенная настройка для экспорта DataFrame Pandas в Excel
Помимо базового экспорта, DataFrame Pandas можно настраивать в Excel для удовлетворения конкретных требований к отчетности. Расширенные параметры, такие как выбор определенных столбцов и включение или исключение индекса, позволяют создавать более чистые, читаемые и профессиональные файлы Excel. Следующие примеры демонстрируют, как применять эти настройки.
1. Выберите определенные столбцы
Иногда может не потребоваться экспортировать все столбцы из DataFrame. Выбирая только релевантные столбцы, вы можете сделать свои отчеты Excel краткими и сфокусированными. Следующий код демонстрирует, как перебирать выбранные столбцы при записи заголовков и строк:
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Включить или исключить индекс
По умолчанию индекс DataFrame не включается в экспорт. Если для вашего отчета требуются идентификаторы строк или числовые индексы, вы можете добавить их вручную. Этот фрагмент кода показывает, как включить индекс вместе с выбранными столбцами:
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Заключение
Экспорт DataFrame Pandas в Excel прост, но создание профессиональных, хорошо отформатированных отчетов требует дополнительного контроля. Используя Pandas для подготовки данных и Spire.XLS for Python для создания и форматирования файлов Excel, вы можете создавать структурированные, читаемые и визуально организованные рабочие книги. Этот подход работает как для отдельных DataFrame, так и для нескольких наборов данных, что упрощает создание отчетов Excel, готовых к анализу, совместному использованию или дальнейшей обработке.
Часто задаваемые вопросы
В1: Как я могу экспортировать DataFrame Pandas в Excel на Python?
О1: Вы можете использовать библиотеки, такие как Spire.XLS, для записи DataFrame в файл Excel. Это позволяет переносить табличные данные из Python в Excel, сохраняя контроль над форматированием и макетом.
В2: Могу ли я экспортировать более одного DataFrame в один файл Excel?
О2: Да. Несколько DataFrame можно записать на отдельные листы в одной рабочей книге. Это помогает хранить связанные наборы данных в одном файле.
В3: Как добавить заголовки и отформатировать ячейки в Excel из DataFrame?
О3: Заголовки можно сделать жирными, цветными или с фиксированной шириной. Числовые значения могут храниться как числа, а текст �?как строки. Форматирование улучшает читаемость отчетов.
В4: Возможно ли включить диаграммы в экспортированный файл Excel?
О4: Да. Диаграммы, такие как гистограммы или линейные диаграммы, могут быть добавлены на основе данных вашего DataFrame для визуализации тенденций или сравнений.
В5: Нужно ли мне устанавливать Microsoft Excel для экспорта DataFrame?
О5: Не обязательно. Некоторые библиотеки, включая Spire.XLS, могут создавать и форматировать файлы Excel полностью в Python, не требуя установки Excel.
Смотрите также
Pandas DataFrame to Excel in Python: Step-by-Step Guide
Table of Contents
- Why Use Spire.XLS for Pandas DataFrame to Excel
- Prerequisites for Pandas DataFrame to Excel
- Export a Single Pandas DataFrame to Excel with Formatting
- Convert Multiple Pandas DataFrames to One Excel File
- Write Pandas DataFrames to Existing Excel File
- Advanced Customization for Exporting Pandas DataFrames to Excel
- Conclusion
- FAQs
Install with Pypi
pip install pandas spire.xls
Related Links

Working with tabular data is a common task for Python developers, and Pandas is the go-to library for data manipulation and analysis. Often, developers need to export Pandas DataFrames to Excel for reporting, team collaboration, or further data analysis. While Pandas provides the to_excel function for basic exports, creating professional Excel reports with formatted headers, styled cells, multiple sheets, and charts can be challenging.
This tutorial demonstrates how to write a single DataFrame or multiple DataFrames to Excel using Spire.XLS for Python, a multi-functional Excel library that enables full customization of Excel files directly from Python-without needing Microsoft Excel to be installed.
Table of Contents
- Why Use Spire.XLS for Pandas DataFrame to Excel
- Prerequisites for Pandas DataFrame to Excel
- Export a Single Pandas DataFrame to Excel with Formatting
- Convert Multiple Pandas DataFrames to One Excel File
- Write Pandas DataFrames to Existing Excel File
- Advanced Customization for Exporting Pandas DataFrames to Excel
- Conclusion
- FAQs
Why Use Spire.XLS for Pandas DataFrame to Excel
While Pandas provides basic Excel export functionality, Spire.XLS extends this by giving full control over Excel file creation. Instead of just writing raw data, developers can:
- Organize multiple DataFrames into separate sheets within a single workbook.
- Customize headers, fonts, colors, and cell formatting to produce professional layouts.
- Auto-fit columns and adjust row heights for improved readability.
- Add charts, formulas, and other Excel features directly from Python
Prerequisites for Pandas DataFrame to Excel
Before exporting a Pandas DataFrame to Excel, ensure you have the following required libraries installed. You can do this by running the following command in your project's terminal:
pip install pandas spire.xls
These libraries allow you to write DataFrames to Excel with multiple sheets, custom formatting, attractive charts, and structured layouts.
Export a Single Pandas DataFrame to Excel with Formatting
Exporting a single DataFrame to an Excel file is the most common scenario. Using Spire.XLS, you can not only export your DataFrame but also format headers, style cells, and add charts to make your report look professional.
Let's go through this process step by step.
Step 1: Create a Sample DataFrame
First, we need to create a DataFrame. Here, we have employee names, departments, and salaries. You can, of course, replace this with your own dataset.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Step 2: Create a Workbook and Access the First Sheet
Now we'll create a new Excel workbook and get the first worksheet ready. Let's give it a meaningful name so it's easy to understand.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Step 3: Write Column Headers
We'll write the headers to the first row, make them bold and add a light gray background, so everything looks neat.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Step 4: Write the Data Rows
Next, we write each row from the DataFrame. For numbers, we use the NumberValue property so Excel can recognize them for calculations and charts.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Step 5: Apply Borders and Auto-Fit Columns
To give your Excel sheet a polished, table-like appearance, let's add borders and automatically adjust the column widths.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Step 6: Add a Chart to Visualize Data
Charts help you quickly understand trends. Here, we'll create a column chart comparing salaries.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Step 7: Save the Workbook
Finally, save the workbook to your desired location.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Result:
The Excel XLSX File generated from Pandas DataFrame looks like this:

Once the Excel file is generated, it can be further processed, such as being converted to PDF for easy sharing:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
For more details, see the guide on converting Excel to PDF in Python.
Convert Multiple Pandas DataFrames to One Excel File
When creating Excel reports, multiple datasets often need to be placed on separate sheets. Using Spire.XLS, each Pandas DataFrame can be written to its own worksheet, ensuring related data is organized clearly and easy to analyze. The following steps demonstrate this workflow.
Step 1: Create Multiple Sample DataFrames
Before exporting, we create two separate DataFrames - one for employee information and another for products. Each DataFrame will go into its own Excel sheet.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Here, dataframes is a list of tuples that pairs each DataFrame with the name of the sheet it should appear in.
Step 2: Create a New Workbook
Next, we create a new Excel workbook to store all the DataFrames.
# Create a new workbook
workbook = Workbook()
This initializes a blank workbook with three default sheets. We'll rename and populate them in the next step.
Step 3: Loop Through Each DataFrame and Write to Its Own Sheet
Instead of writing each DataFrame individually, we can loop through our list and process them in the same way. This reduces duplicate code and makes it easier to handle more datasets.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
Using this loop, we can easily add more DataFrames in the future without rewriting the same code.
Step 4: Save the Workbook
Finally, we save the Excel file. Both datasets are now neatly organized in one file with separate sheets, formatted headers, and proper borders.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Now your Excel file is ready to be shared or analyzed further.
Result:

The file MultipleDataFrames.xlsx contains two sheets:
- Employees (with names and ages)
- Products (with product details and prices)
This organization makes multi-report Excel files clean and easy to navigate.
Write Pandas DataFrames to Existing Excel File
In some cases, instead of creating a new Excel file, you may need to write DataFrames to an existing workbook. This can be easily achieved by loading the existing workbook, adding a new sheet or accessing the desired sheet, and writing the DataFrame data using the same logic.
The following code shows how to write a Pandas DataFrame to an Existing Excel file:
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Advanced Customization for Exporting Pandas DataFrames to Excel
Beyond basic exports, Pandas DataFrames can be customized in Excel to meet specific reporting requirements. Advanced options-such as selecting specific columns, and including or excluding the index-allow you to create cleaner, more readable, and professional Excel files. The following examples demonstrate how to apply these customizations.
1. Select Specific Columns
Sometimes you may not need to export all columns from a DataFrame. By selecting only the relevant columns, you can keep your Excel reports concise and focused. The following code demonstrates how to loop through chosen columns when writing headers and rows:
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Include or Exclude Index
By default, the DataFrame index is not included in the export. If your report requires row identifiers or numeric indices, you can add them manually. This code snippet shows how to include the index alongside selected columns:
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Conclusion
Exporting a Pandas DataFrame to Excel is simple, but producing professional, well-formatted reports requires additional control. By using Pandas for data preparation and Spire.XLS for Python to create and format Excel files, you can generate structured, readable, and visually organized workbooks. This approach works for both single DataFrames and multiple datasets, making it easy to create Excel reports that are ready for analysis, sharing, or further manipulation.
FAQs
Q1: How can I export a Pandas DataFrame to Excel in Python?
A1: You can use libraries like Spire.XLS to write a DataFrame to an Excel file. This allows you to transfer tabular data from Python into Excel while keeping control over formatting and layout.
Q2: Can I export more than one DataFrame to a single Excel file?
A2: Yes. Multiple DataFrames can be written to separate sheets within the same workbook. This helps keep related datasets organized in one file.
Q3: How do I add headers and format cells in Excel from a DataFrame?
A3: Headers can be made bold, colored, or have fixed widths. Numeric values can be stored as numbers and text as strings. Formatting improves readability for reports.
Q4: Is it possible to include charts in the exported Excel file?
A4: Yes. Charts such as column or line charts can be added based on your DataFrame data to help visualize trends or comparisons.
Q5: Do I need Microsoft Excel installed to export DataFrames?
A5: Not necessarily. Some libraries, including Spire.XLS, can create and format Excel files entirely within Python without relying on Excel being installed.
See Also
How to Create a Pie Chart in PowerPoint Step by Step
Table of Contents
Install with Pypi
pip install spire.presentation
Related Links

Making your data easy to understand can be tricky, especially if you’re not sure how to turn numbers into visuals. If you’ve ever opened PowerPoint and wondered how to make a chart quickly, you’re in the right place. In this guide, you’ll learn how to create a pie chart in PowerPoint, step by step. We’ll cover everything from adding a chart to customizing colors and labels, so your slides look clear and professional. By the end, you’ll be able to show your data in a way that’s simple, attractive, and easy for anyone to understand.
How to Create a Pie Chart in PowerPoint Manually
Making a pie chart in PowerPoint is easier than you might think. In this chapter, we’ll guide you step by step through the process. First, make sure you have your data ready along with a PowerPoint presentation. Most importantly, you’ll need Microsoft PowerPoint or another presentation editing app installed on your device. In this tutorial, we’ll use Microsoft PowerPoint as our example. Once you’re ready, let’s dive into today’s guide.
Step 1: Open Your Presentation
Start by locating and opening the PowerPoint file where you want to add your chart.
Step 2: Choose the Slide
Select the slide where the pie chart should appear. Make sure it’s ready for the data you want to show.
Step 3: Insert the Chart
Go to the Insert tab on the Ribbon at the top and click Chart.
Step 4: Pick Your Pie Chart
In the Insert Chart dialog box, select Pie from the left panel. You’ll see several types of pie charts—if you want to create a 3D Pie chart on the slide, choose the second option. Click OK to insert the chart.

Step 5: Enter Your Data
PowerPoint will show default data in an Excel-like sheet. Replace it with your own numbers to match your presentation needs.

Step 6: Customize the Chart
Click the chart and go to the Chart Design tab on the Ribbon. Here, you can change the style, colors, labels, or even switch to another chart type. Play around until it looks just right for your slide.
Here is the final look of the pie chart: 
How to Create a Pie Chart in PowerPoint Presentation Automatically
After learning how to add a pie chart manually in PowerPoint, you’ve probably noticed that the steps can be a bit tedious, especially when updating data or customizing the chart. So, is there a faster way?
Using code to generate charts is a great solution. With Spire.Presentation, a professional PowerPoint library, you can easily create charts automatically, handling everything from file setup to data input and chart customization in one go.
Here’s a detailed guide on how to create a chart in PowerPoint using Spire.Presentation:
Step 1: Install Spire.Presentation
In this tutorial, we’ll use Spire.Presentation for Python. You can install it via pip by opening your Python environment (for example, the VSCode terminal) and running:
pip install spire.presentation
Press Enter, and the library will be installed.
Step 2: Write the Code
Here’s the overall logic for creating a pie chart with Spire.Presentation:
- Import the file – Load the PowerPoint presentation you want to work with or create a new presentation.
- Access the target slide – Select the slide where the pie chart will be inserted.
- Insert the pie chart – Add a pie chart object to the slide.
- Set the chart title – Give your pie chart a title.
- Add data to the chart – Fill the pie chart with your dataset.
- Customize chart colors – Adjust colors to make the chart visually appealing.
Below is the complete Python code showing how to create a pie chart while making a new PowerPoint presentation:
from spire.presentation.common import *
from spire.presentation import *
# Create a Presentation instance
presentation = Presentation()
# Add a pie chart at a specified location on the first slide
rect = RectangleF.FromLTRB (40, 100, 590, 420)
chart = presentation.Slides[0].Shapes.AppendChartInit (ChartType.Pie, rect, False)
# Set and format chart title
chart.ChartTitle.TextProperties.Text = "Sales by Quarter (2024)"
chart.ChartTitle.TextProperties.IsCentered = True
chart.ChartTitle.Height = 30
chart.HasTitle = True
# Define some data
quarters = ["1st Qtr", "2nd Qtr", "3rd Qtr", "4th Qtr"]
sales = [210, 320, 180, 460]
# Append data to ChartData, which represents a data table where the chart data is stored
chart.ChartData[0,0].Text = "Quarters"
chart.ChartData[0,1].Text = "Sales"
i = 0
while i < len(quarters):
chart.ChartData[i + 1,0].Text = quarters[i]
chart.ChartData[i + 1,1].NumberValue = sales[i]
i += 1
# Set series labels and category labels
chart.Series.SeriesLabel = chart.ChartData["B1","B1"]
chart.Categories.CategoryLabels = chart.ChartData["A2","A5"]
# Set values for series
chart.Series[0].Values = chart.ChartData["B2","B5"]
# Add data points to series
for i, unusedItem in enumerate(chart.Series[0].Values):
cdp = ChartDataPoint(chart.Series[0])
cdp.Index = i
chart.Series[0].DataPoints.Add(cdp)
# Fill each data point with a different color
chart.Series[0].DataPoints[0].Fill.FillType = FillFormatType.Solid
chart.Series[0].DataPoints[0].Fill.SolidColor.Color = Color.get_Honeydew()
chart.Series[0].DataPoints[1].Fill.FillType = FillFormatType.Solid
chart.Series[0].DataPoints[1].Fill.SolidColor.Color = Color.get_LightBlue()
chart.Series[0].DataPoints[2].Fill.FillType = FillFormatType.Solid
chart.Series[0].DataPoints[2].Fill.SolidColor.Color = Color.get_LightPink()
chart.Series[0].DataPoints[3].Fill.FillType = FillFormatType.Solid
chart.Series[0].DataPoints[3].Fill.SolidColor.Color = Color.get_AliceBlue()
# Set the data labels to display label value and percentage value
chart.Series[0].DataLabels.LabelValueVisible = True
chart.Series[0].DataLabels.PercentValueVisible = True
# Save the result file
presentation.SaveToFile("E:/Administrator/Python1/output/CreatePieChart.pptx", FileFormat.Pptx2016)
presentation.Dispose()
Here's the pie chart made by Spire.Presentation:

With Spire.Presentation, you can do much more than just create pie charts. It also lets you generate column charts, line charts, bar charts, and many other types of visuals directly in your slides. Plus, the library supports multiple programming languages — whether you prefer C#, Java, Python or JavaScript, you can easily create and customize charts with just a few lines of code.
The Conclusion
In this guide, we’ve walked through how to create a pie chart in PowerPoint step by step, from inserting the chart manually to customizing its style and colors. While the manual method works well for simple tasks, Spire.Presentation works better under complecated situations. With this professional library, you can automate the entire process—from adding charts and inputting data to customizing their appearance. Try it out immediately by obtaining a temporary license for 30 days , making chart creation faster and more efficient than ever.
FAQs about Creating a Pie Chart in PowerPoint
1. How do I create a pie chart step by step in PowerPoint?
Go to Insert → Chart → Pie, then replace the sample data with your own and adjust the chart style under Chart Design.
2. How can I show percentages in a pie chart?
Click the chart, select Data Labels → More Options, and check Percentage to display values as percentages.
3. How do I make a progress pie chart in PowerPoint?
Use a Pie or Doughnut chart with two values—progress and remaining—and format the slices with different colors.
4. Can I automate pie chart creation?
Yes. You can use Spire.Presentation to generate and edit charts automatically after obtaining a temporary license.
ALSO READ
Come esportare le diapositive di PowerPoint come immagini di alta qualità
Indice dei contenuti
- 1. Esportare le diapositive usando "Salva con nome" di PowerPoint (il più veloce)
- 2. Esportare le diapositive di PowerPoint a una risoluzione più alta (risolvere le immagini sfocate)
- 3. Convertire le diapositive di PowerPoint in immagini online (senza PowerPoint)
- 4. Automatizzare l'esportazione delle immagini di PowerPoint (VBA e API)
- 5. Acquisire una diapositiva come immagine (screenshot)
- Supporto decisionale
- FAQ
- Correlato: esportare diapositive PowerPoint tramite codice (sviluppatori)
- Vedi anche

Hai finito la presentazione. Ora qualcuno ne ha bisogno sotto forma di immagini per un sito web, una dispensa o una diapositiva all'interno di un altro documento. Clicchi su Salva con nome, invii i file PNG e ti rispondono: "Sono sfocati."
È questo il problema. L'esportazione predefinita delle diapositive di PowerPoint è di circa 96 pixel per pollice (PPI), quindi le diapositive che appaiono nitide sullo schermo diventano sgranate nel momento in cui vengono ingrandite o stampate. Questa guida copre ogni metodo pratico per trasformare le diapositive di PowerPoint in file PNG o JPG e, cosa altrettanto importante, come rendere quelle immagini effettivamente nitide.
Risposta rapida: Per un'operazione veloce, usa Salva con nome di PowerPoint (PNG/JPG, pochi clic). Se il risultato appare sfocato, aumenta la risoluzione di esportazione — non sono necessarie modifiche al registro. Non hai PowerPoint installato? Usa il convertitore online gratuito CloudXDocs. Devi elaborare molte presentazioni o integrare l'esportazione nel tuo software? Automatizza con VBA o l'API Spire.Presentation. Il confronto completo è qui sotto.
1. Esportare le diapositive usando "Salva con nome" di PowerPoint (il più veloce)
La funzione integrata Salva con nome di PowerPoint è il modo meno impegnativo per trasformare una presentazione in immagini ed è la scelta giusta quando PowerPoint è già aperto e ti serve un'esportazione rapida. Il PNG è il formato predefinito più sicuro per diapositive con testo, diagrammi o grafici — vedi PNG vs JPG per capire quando è meglio il JPG.
- Apri la presentazione e vai su File → Salva con nome (o Salva una copia su OneDrive/SharePoint).
- Scegli una cartella e un nome file.
- Apri il menu a tendina Salva come e scegli PNG o JPEG.
- Clicca su Salva, quindi scegli Tutte le diapositive (ogni diapositiva come file separato) o Solo questa.

Perché i risultati possono apparire sgranati: questo metodo esporta a circa 96 PPI (1280×720 su una diapositiva widescreen). Va bene per il web, troppo poco per la stampa o schermi grandi — vedi Metodo 2.
Pro: Nessun software aggiuntivo, nessun account, metodo ufficiale, il più veloce per lavori singoli.
Contro: Fisso a circa 96 PPI per impostazione predefinita, quindi le immagini possono apparire sfocate se ingrandite o stampate; un file alla volta.
2. Esportare le diapositive di PowerPoint a una risoluzione più alta (risolvere le immagini sfocate)
Ideale per: stampa, poster o qualsiasi utilizzo in cui 96 PPI risultano sfocati. Questa è la soluzione principale per le esportazioni di bassa qualità.
La risoluzione di esportazione predefinita di PowerPoint è 96 PPI. La soluzione ufficiale di Microsoft consiste nel modificare il registro di Windows (ExportBitmapResolution) — rischioso e facile da sbagliare. Non è necessario. Ecco le alternative — tutte evitano il registro: un'opzione predefinita senza Office, un'opzione ad alta risoluzione senza Office e un percorso completamente basato su script:
| Risoluzione target | Dimensioni pixel (16:9 widescreen) | Ideale per |
|---|---|---|
| 96 PPI | 1280 × 720 | Web, email, uso interno alle slide |
| 150 PPI | 2000 × 1125 | Proiettori, monitor grandi |
| 200 PPI | 2667 × 1500 | Dispense A4 |
| 300 PPI | 4000 × 2250 | Poster, stampa professionale |
PPI (pixel per pollice) è la misura a schermo; per la stampa, punta a 200–300 PPI. Il valore predefinito di PowerPoint è 96 PPI.
- Senza Office, qualità predefinita: CloudXDocs converte nel browser alla stessa qualità predefinita (~96 PPI) — vedi Metodo 3.
- Senza Office, risoluzione più alta: CloudConvert (anche nel Metodo 3) esegue il rendering online a circa 1920×1080 e ti permette di aumentare i DPI — ben oltre i 96 PPI.
- Dimensioni personalizzate (massimo controllo): automatizza l'esportazione a qualsiasi dimensione in pixel con VBA o un'API — Metodo 4.


Entrambe le immagini sono la stessa diapositiva 16:9, ciascuna ridimensionata al 30% della sua dimensione originale in pixel, così la differenza è facile da confrontare alla stessa larghezza sulla pagina. A 96 PPI (in alto) il testo e le linee sottili appaiono più morbidi; a 192 PPI (in basso) rimangono sensibilmente più nitidi.
Se usi il metodo del registro: vai su
HKEY_CURRENT_USER\Software\Microsoft\Office\<ver>\PowerPoint\Options, aggiungi unDWORDchiamatoExportBitmapResolution, imposta il suo valore decimale (es.300). Fai prima un backup del registro; procedi a tuo rischio.
Ideale per: chiunque raggiunga il limite di qualità di 96 PPI e necessiti di un output più nitido per la stampa o schermi grandi.
Da tenere a mente: il "Salva con nome" integrato non può superare il valore predefinito senza la modifica del registro o uno strumento diverso. Il percorso VBA/API e CloudConvert superano entrambi quel limite; CloudXDocs rimane sul valore predefinito ma non richiede Office.
3. Convertire le diapositive di PowerPoint in immagini online (senza PowerPoint)
Ideale per: utenti senza PowerPoint installato, o chiunque desideri un convertitore basato su browser quando Office non è disponibile o è necessario elaborare rapidamente più file.
CloudXDocs è un convertitore basato su browser dello stesso team dietro Spire. Non richiede Microsoft Office né installazione.
- Apri il Convertitore da PPT a Immagine di CloudXDocs in qualsiasi browser.
- Clicca o trascina il tuo file
.pptx/.pptnell'area di caricamento. - Attendi che CloudXDocs esegua il rendering e la conversione automatica (solitamente pochi secondi).
- Scarica il file
.ziprisultante ed estrailo per ottenere ogni diapositiva come immagine separata.

Perché è utile: CloudXDocs fornisce un modo comodo basato su browser per convertire presentazioni quando PowerPoint non è disponibile o quando è necessario elaborare più file rapidamente. I file caricati vengono eliminati automaticamente dopo 24 ore secondo la politica del servizio.
Pro: Niente Office, niente installazione, niente software desktop; gestisce un'intera presentazione come zip; funziona su qualsiasi dispositivo.
Contro: Richiede una connessione internet; la qualità dell'output segue il rendering del convertitore piuttosto che un'impostazione che puoi controllare.
Se hai bisogno di un output più nitido ma non puoi installare Office, alcuni convertitori online ti permettono di scegliere la risoluzione di esportazione. CloudConvert, ad esempio, ha un valore predefinito di circa 1920×1080 e ti permette di aumentare ulteriormente i DPI — ben oltre i 96 PPI predefiniti di PowerPoint.
I passaggi sono essenzialmente gli stessi di cui sopra: carica il tuo .pptx → scegli JPG o PNG → aumenta i DPI nelle opzioni → converti → scarica lo zip.
Questo rende un convertitore online una soluzione valida per le esportazioni sfocate quando non è disponibile alcuno strumento desktop, sebbene i file passino attraverso un server di terze parti, quindi evita presentazioni riservate.
4. Automatizzare l'esportazione delle immagini di PowerPoint (VBA & API)
Ideale per: molte presentazioni, lavori pianificati o per integrare l'esportazione in uno strumento interno. Due percorsi a seconda del tuo profilo.
Opzione A — Macro VBA (per utenti esperti di Office su Windows)
Se lavori in PowerPoint su Windows e hai bisogno di una dimensione di esportazione personalizzata, una breve macro automatizza l'intera presentazione. Premi Alt + F11, Inserisci → Modulo, incolla, quindi Macro → Esegui ExportSlidesHighRes (crea prima la cartella C:\Exports\):
Sub ExportSlidesHighRes()
Dim sld As Slide, i As Integer
i = 1
For Each sld In ActivePresentation.Slides
sld.Export "C:\Exports\Slide_" & i & ".png", "PNG", 3000, 1688 ' ~200 PPI
i = i + 1
Next sld
End Sub
Regola 3000, 1688 per raggiungere il tuo obiettivo (vedi la tabella del Metodo 2).
Opzione B — API Spire.Presentation (per sviluppatori .NET)
Hai bisogno di un'esportazione lato server o completamente programmabile? Spire.Presentation per .NET esegue il rendering di ogni diapositiva in un'immagine con poche righe di codice — nessun Microsoft PowerPoint, nessuna modifica al registro, dimensioni di output impostate nel codice. Per una guida completa, consulta il nostro tutorial di Spire.Presentation per convertire diapositive in immagini.
using Spire.Presentation;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
static void Main(string[] args)
{
using (Presentation ppt = new Presentation())
{
ppt.LoadFromFile("Sample.pptx");
for (int i = 0; i < ppt.Slides.Count; i++)
{
Image img = ppt.Slides[i].SaveAsImage(1280 * 2, 720 * 2);
img.Save(string.Format("Slide_{0}.png", i), ImageFormat.Png);
}
}
}
}
SaveAsImage(larghezza, altezza) imposta l'esatta dimensione in pixel, quindi l'API esegue il rendering alla risoluzione specificata — niente registro, niente Office. Qui 1280 * 2, 720 * 2 produce 2560×1440 (circa 192 PPI); cambia i due numeri con qualsiasi dimensione presente nella tabella del Metodo 2.
Suggerimento Enterprise: esegui in modalità headless su Linux, imposta le dimensioni di output esatte e convoglia le esportazioni in un flusso di lavoro documentale più ampio — niente Office, niente modifiche al registro. Scarica il progetto di esempio completo →
Pro: Controllo completo sulla dimensione in pixel, elaborazione batch/headless reale, nessun passaggio manuale; Spire funziona senza Office installato.
Contro: VBA solo su Windows con PowerPoint; l'API è una libreria a pagamento per uso professionale.
5. Acquisire una diapositiva come immagine (screenshot)
Ideale per: catturare una diapositiva esattamente come appare sullo schermo, o quando non puoi aprire il file in un editor.
- Windows: Strumento di cattura (
Win + Shift + S) → seleziona la diapositiva → salva come PNG. - macOS:
Cmd + Shift + 4poi barra spaziatrice per catturare una finestra. - Terze parti: ShareX, Lightshot o Snagit per catture annotate.

Avvertenza: gli screenshot ereditano la risoluzione dello schermo e possono includere elementi dell'interfaccia. Per immagini pulite dell'intera diapositiva a una dimensione controllabile, preferisci i Metodi 1–4.
Pro: Configurazione zero, funziona su qualsiasi macchina, perfetto per "catturare esattamente ciò che è sullo schermo".
Contro: Risoluzione limitata dal tuo display; non è una vera esportazione; non può gestire batch.
Supporto decisionale
Le sezioni seguenti ti aiutano a confrontare i metodi, scegliere un formato e risolvere i problemi di qualità. Lavori da un PDF invece che da PowerPoint? Vedi come convertire pagine PDF in immagini.
Confronto e come scegliere
| # | Metodo | Ideale per | Risoluzione | Installazione necessaria | Batch? |
|---|---|---|---|---|---|
| 1 | Salva con nome di PowerPoint | Lavoro singolo rapido | 96 PPI | PowerPoint | Per file |
| 2 | Risoluzione più alta | Risolvere sfocatura / stampa | Fino a 300 PPI* | — | Per file |
| 3 | CloudXDocs online | No Office / rapido | Come predefinito (~96 PPI) | No (browser) | Sì (zip) |
| 4 | VBA / Spire API | Dev / batch / server | Pixel personalizzati | VBA: PowerPoint; Spire: NuGet | Sì |
| 5 | Screenshot | Singola diapositiva a schermo | Limitato dallo schermo | No | No |
| — | Google Slides / LibreOffice | No PowerPoint | App nativa | App | Per file |
*Raggiunto tramite VBA o l'API Spire; gli strumenti online eseguono il rendering alle dimensioni native della diapositiva.
Scegli in base alla situazione:
- Hai bisogno di una o due immagini rapidamente → Salva con nome di PowerPoint
- Il risultato appare sfocato → Esportazione ad alta risoluzione
- Non hai PowerPoint installato → CloudXDocs online
- Centinaia di diapositive / lato server → VBA o API Spire
- Cattura esatta a schermo → Screenshot
Come esportare diapositive come immagini senza PowerPoint
Se Microsoft PowerPoint non è installato, hai comunque delle opzioni — il convertitore CloudXDocs sopra, più due suite per ufficio gratuite:
- Google Slides: apri la presentazione, quindi File → Scarica → Immagine PNG (.png) o Immagine JPEG (.jpg). Ogni download esporta la diapositiva corrente; ripeti per diapositiva, o usa CloudXDocs per un'intera presentazione in una volta sola.
- LibreOffice Impress: apri il file, quindi File → Esporta, scegli PNG o JPG e seleziona le diapositive da esportare.
Questi sono utili quando PowerPoint non è disponibile, sebbene offrano meno controllo sulla risoluzione rispetto al Metodo 2 o al Metodo 4.
PNG vs JPG: quale formato esportare?
| Formato | Ideale per | Vantaggi |
|---|---|---|
| PNG | Testo, diagrammi, grafici, screenshot UI | Qualità lossless, bordi più nitidi |
| JPG | Foto, diapositive ricche di immagini | Dimensioni file minori |
Per la maggior parte delle presentazioni aziendali, il PNG è solitamente la scelta migliore perché le diapositive contengono spesso testo e diagrammi che necessitano di bordi nitidi. Usa il JPG solo quando una diapositiva è dominata da fotografie e la dimensione del file conta più di un testo perfetto al pixel.
Perché le immagini esportate appaiono sfocate? (e come risolvere)
L'esportazione predefinita di PowerPoint è di circa 96 PPI, quindi le immagini appaiono morbide una volta ingrandite o stampate. Se le tue immagini non sono ancora abbastanza nitide:
- Usa i percorsi ad alta risoluzione nel Metodo 2 — non sono necessarie modifiche al registro.
- Evita gli screenshot per la stampa o schermi grandi; la loro risoluzione è limitata dallo schermo (Metodo 5).
- Preferisci il PNG per diapositive con testo o diagrammi (PNG vs JPG).
- Per il controllo completo sulla dimensione in pixel o l'esportazione lato server, automatizza con VBA o l'API Spire (Metodo 4).
Per la stampa, punta a 200–300 PPI. La tabella di risoluzione completa mostra la dimensione in pixel per ogni obiettivo.
FAQ
Come posso salvare tutte le diapositive di PowerPoint come immagini separate in una volta sola?
File → Salva con nome → PNG/JPEG, quindi scegli "Tutte le diapositive" quando richiesto. Per un batch senza installazione, usa il convertitore CloudXDocs; per un batch tramite script, la macro VBA o l'API Spire.
Quale formato immagine è migliore — PNG o JPG?
PNG per diapositive con testo, grafici o linee nitide (lossless). JPG per diapositive ricche di foto dove contano dimensioni file minori.
Posso esportare diapositive senza Microsoft PowerPoint installato?
Sì. Il Convertitore da PPT a Immagine di CloudXDocs funziona in qualsiasi browser senza installazione, e Spire.Presentation (Metodo 4) converte lato server senza Office. Google Slides e LibreOffice Impress possono anche esportare diapositive — vedi senza PowerPoint.
Come esporto solo una diapositiva invece dell'intera presentazione?
Nel prompt Salva con nome, seleziona "Solo questa". Con uno strumento di screenshot, cattura solo la diapositiva visibile.
Perché le mie diapositive esportate appaiono sfocate e come ottengo immagini di alta qualità?
PowerPoint salva a ~96 PPI per impostazione predefinita, quindi le immagini appaiono morbide quando ingrandite o stampate. Per migliorare la qualità, esporta a una risoluzione più alta (vedi la tabella di risoluzione) — con uno strumento che esegue il rendering delle diapositive a dimensioni maggiori, o automatizzando l'esportazione con VBA o un'API di presentazione (Metodo 4) per il controllo completo sulla dimensione in pixel.
È sicuro caricare la mia presentazione su un convertitore online?
Con CloudXDocs, i file caricati vengono automaticamente eliminati dal server 24 ore dopo la conversione e non vengono conservati o riutilizzati. Evita i convertitori che non dichiarano una politica di eliminazione.
Posso esportare diapositive PowerPoint come immagini senza perdere qualità?
Sì. Usa il formato PNG ed esporta a una dimensione in pixel maggiore quando possibile. Evita gli screenshot per output professionali, perché la risoluzione dello schermo limita la qualità dell'immagine — usa invece il Metodo 2 (risoluzione più alta) o il Metodo 4 (dimensione pixel personalizzata).
Qual è la dimensione immagine migliore per le diapositive PowerPoint?
Per una presentazione 16:9, 1920 × 1080 pixel è solitamente adatto per gli schermi. Risoluzioni più alte come 2560 × 1440 o 3840 × 2160 sono migliori per schermi grandi o per la stampa.
Correlato: esportare diapositive PowerPoint tramite codice (sviluppatori)
Se stai costruendo un flusso di lavoro documentale, l'elaborazione lato server è solitamente più affidabile degli strumenti online per lavori ripetitivi o ad alto volume. Casi comuni in cui una libreria batte uno strumento web:
- Elaborazione batch — converti migliaia di presentazioni secondo una pianificazione.
- Report automatizzati — esporta presentazioni generate in immagini pulite.
- Pipeline documentali — esegui il rendering delle diapositive come un passaggio in un flusso più ampio di conversione/unione/creazione.
- Applicazioni enterprise — incorpora l'esportazione di diapositive nel tuo prodotto o servizio.
Per fonti PDF nello stesso flusso di lavoro, puoi anche ritagliare un PDF o unire file PDF.
Spire.Presentation per .NET esegue il rendering di ogni diapositiva in PNG/JPG con le dimensioni esatte che imposti, su Windows o Linux, senza Microsoft Office. Consulta il progetto di esempio Spire.Presentation per codice eseguibile.
Dopo l'esportazione, apri le immagini (o il .pptx originale) in CloudXDocs AI Chat per generare automaticamente note del relatore, un glossario bilingue o una lista di cose da fare per i verbali di riunione — un modo veloce per riutilizzare i contenuti esportati, senza bisogno di design o programmazione. L'IA lavora con il contenuto; non crea le immagini.
Vedi anche
Como exportar slides do PowerPoint como imagens de alta qualidade
Índice
- 1. Exportar slides usando "Salvar Como" do PowerPoint (mais rápido)
- 2. Exportar slides do PowerPoint em alta resolução (corrigir imagens desfocadas)
- 3. Converter slides do PowerPoint para imagens online (sem necessidade de PowerPoint)
- 4. Automatizar a exportação de imagens do PowerPoint (VBA e APIs)
- 5. Capturar um slide como imagem (captura de tela)
- Suporte à decisão
- Perguntas Frequentes (FAQ)
- Relacionado: exportar slides do PowerPoint via código (desenvolvedores)
- Veja também

Você terminou a apresentação. Agora, alguém precisa dela como imagens para um site, um folheto ou um slide dentro de outro documento. Você clica em Salvar Como, envia os PNGs e eles retornam: "Estão desfocados."
Esse é o problema. A exportação padrão de slides do PowerPoint é de cerca de 96 pixels por polegada (PPI), então slides que parecem nítidos na tela ficam suaves no momento em que são ampliados ou impressos. Este guia cobre todas as formas práticas de transformar slides do PowerPoint em arquivos PNG ou JPG — e, tão importante quanto, como tornar essas imagens realmente nítidas.
Resposta rápida: Para uma tarefa rápida única, use o Salvar Como do PowerPoint (PNG/JPG, poucos cliques). Se o resultado parecer desfocado, aumente a resolução de exportação — sem necessidade de edições no registro. Não tem o PowerPoint instalado? Use o conversor online gratuito CloudXDocs. Precisa processar muitas apresentações ou integrar a exportação ao seu próprio software? Automatize com VBA ou a API Spire.Presentation. A comparação completa está abaixo.
1. Exportar slides usando "Salvar Como" do PowerPoint (mais rápido)
O recurso integrado Salvar Como do PowerPoint é a maneira que exige menos esforço para transformar uma apresentação em imagens, e é a escolha certa quando o PowerPoint já está aberto e você só precisa de uma exportação rápida. PNG é o padrão mais seguro para slides com texto, diagramas ou gráficos — veja PNG vs JPG para saber quando o JPG é mais adequado.
- Abra a apresentação e vá em Arquivo → Salvar Como (ou Salvar uma Cópia no OneDrive/SharePoint).
- Escolha uma pasta e o nome do arquivo.
- Abra o menu suspenso Tipo de arquivo e escolha PNG ou JPEG.
- Clique em Salvar e, em seguida, escolha Todos os Slides (cada slide como seu próprio arquivo) ou Apenas este.

Por que os resultados podem parecer suaves: este método exporta a aproximadamente 96 PPI (1280×720 em um slide widescreen). Bom para a web, muito baixo para impressão ou telas grandes — veja o Método 2.
Prós: Sem software extra, sem conta, o método oficial, mais rápido para tarefas únicas.
Contras: Fixo em ~96 PPI por padrão, então as imagens podem parecer desfocadas quando ampliadas ou impressas; um arquivo por vez.
2. Exportar slides do PowerPoint em alta resolução (corrigir imagens desfocadas)
Ideal para: impressão, pôsteres ou qualquer uso onde 96 PPI pareça desfocado. Esta é a correção principal para exportações de baixa qualidade.
A resolução de exportação padrão do PowerPoint é 96 PPI. A correção oficial da Microsoft é editar o registro do Windows (ExportBitmapResolution) — arriscado e fácil de errar. Você não precisa fazer isso. Aqui estão as alternativas — todas evitam o registro: um padrão sem Office, uma opção de alta resolução sem Office e uma rota totalmente via script:
| Resolução alvo | Tamanho em pixels (16:9 widescreen) | Bom para |
|---|---|---|
| 96 PPI | 1280 × 720 | Web, e-mail, uso em slides |
| 150 PPI | 2000 × 1125 | Projetores, monitores grandes |
| 200 PPI | 2667 × 1500 | Folhetos A4 |
| 300 PPI | 4000 × 2250 | Pôsteres, impressão profissional |
PPI (pixels por polegada) é a medida na tela; para impressão, mire em 200–300 PPI. O padrão do PowerPoint é 96 PPI.
- Sem Office, qualidade padrão: O CloudXDocs converte no navegador no mesmo padrão (~96 PPI) — veja o Método 3.
- Sem Office, resolução mais alta: O CloudConvert (também no Método 3) renderiza online a ~1920×1080 e permite aumentar o DPI — confortavelmente acima de 96 PPI.
- Tamanho personalizado (mais controle): crie um script para a exportação em qualquer tamanho de pixel com VBA ou uma API — Método 4.


Ambas as imagens são o mesmo slide 16:9, cada uma dimensionada para 30% do seu tamanho original em pixels para que a diferença seja fácil de comparar na mesma largura de página. A 96 PPI (topo), o texto e as linhas finas parecem mais suaves; a 192 PPI (base), eles permanecem visivelmente mais nítidos.
Se você usar o método do registro: vá para
HKEY_CURRENT_USER\Software\Microsoft\Office\<ver>\PowerPoint\Options, adicione umDWORDchamadoExportBitmapResolution, defina seu valor decimal (ex:300). Faça backup do registro primeiro; prossiga por sua conta e risco.
Ideal para: qualquer pessoa que atinja o limite de qualidade de 96 PPI e precise de uma saída mais nítida para impressão ou telas grandes.
Tenha em mente: o Salvar Como integrado não pode exceder seu padrão sem o ajuste no registro ou uma ferramenta diferente. A rota VBA/API e o CloudConvert superam esse limite; o CloudXDocs permanece no padrão, mas não precisa do Office.
3. Converter slides do PowerPoint para imagens online (sem necessidade de PowerPoint)
Ideal para: usuários sem o PowerPoint instalado ou qualquer pessoa que deseje um conversor baseado em navegador quando o Office não estiver disponível ou quando vários arquivos precisarem de processamento rápido.
CloudXDocs é um conversor baseado em navegador da mesma equipe por trás do Spire. Ele não precisa do Microsoft Office e não requer instalação.
- Abra o Conversor de PPT para Imagem do CloudXDocs em qualquer navegador.
- Clique ou arraste seu arquivo
.pptx/.pptpara a área de upload. - Aguarde o CloudXDocs renderizar e converter automaticamente (geralmente segundos).
- Baixe o
.zipresultante e descompacte para obter cada slide como uma imagem separada.

Por que é útil: O CloudXDocs oferece uma maneira conveniente baseada em navegador para converter apresentações quando o PowerPoint não está disponível ou quando você precisa processar vários arquivos rapidamente. Os arquivos enviados são excluídos automaticamente após 24 horas, de acordo com a política do serviço.
Prós: Sem Office, sem instalação, sem software de desktop; lida com toda uma apresentação como um zip; funciona em qualquer dispositivo.
Contras: Requer conexão com a internet; a qualidade da saída segue a renderização do conversor em vez de uma configuração que você controla.
Se você precisa de uma saída mais nítida, mas não pode instalar o Office, alguns conversores online permitem escolher a resolução de exportação. O CloudConvert, por exemplo, usa ~1920×1080 como padrão e permite aumentar o DPI — confortavelmente acima do padrão de 96 PPI do PowerPoint.
Os passos são essencialmente os mesmos acima: envie seu .pptx → escolha JPG ou PNG → aumente o DPI nas opções → converta → baixe o zip.
Isso torna um conversor online uma solução real para exportações desfocadas quando nenhuma ferramenta de desktop está disponível, embora os arquivos passem por um servidor de terceiros, portanto, evite apresentações confidenciais.
4. Automatizar a exportação de imagens do PowerPoint (VBA e APIs)
Ideal para: muitas apresentações, tarefas agendadas ou integrar a exportação em uma ferramenta interna. Duas rotas, dependendo de quem você é.
Opção A — Macro VBA (para usuários avançados do Office no Windows)
Se você trabalha no PowerPoint no Windows e precisa de um tamanho de exportação personalizado, uma macro curta automatiza toda a apresentação. Pressione Alt + F11, Inserir → Módulo, cole o código e, em seguida, Macros → Executar ExportSlidesHighRes (crie a pasta C:\Exports\ primeiro):
Sub ExportSlidesHighRes()
Dim sld As Slide, i As Integer
i = 1
For Each sld In ActivePresentation.Slides
sld.Export "C:\Exports\Slide_" & i & ".png", "PNG", 3000, 1688 ' ~200 PPI
i = i + 1
Next sld
End Sub
Ajuste 3000, 1688 para atingir seu alvo (veja a tabela do Método 2).
Opção B — API Spire.Presentation (para desenvolvedores .NET)
Precisa de exportação no lado do servidor ou totalmente programável? O Spire.Presentation for .NET renderiza cada slide para uma imagem com algumas linhas de código — sem Microsoft PowerPoint, sem edições no registro, tamanho de saída definido no código. Para um passo a passo completo, veja nosso tutorial do Spire.Presentation para converter slides em imagens.
using Spire.Presentation;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
static void Main(string[] args)
{
using (Presentation ppt = new Presentation())
{
ppt.LoadFromFile("Sample.pptx");
for (int i = 0; i < ppt.Slides.Count; i++)
{
Image img = ppt.Slides[i].SaveAsImage(1280 * 2, 720 * 2);
img.Save(string.Format("Slide_{0}.png", i), ImageFormat.Png);
}
}
}
}
SaveAsImage(largura, altura) define o tamanho exato em pixels, então a API renderiza na resolução que você especificar — sem registro, sem Office. Aqui, 1280 * 2, 720 * 2 produz 2560×1440 (cerca de 192 PPI); altere os dois números para qualquer tamanho na tabela do Método 2.
Dica Corporativa: execute sem interface (headless) no Linux, defina dimensões de saída exatas e direcione as exportações para um fluxo de trabalho de documento maior — sem Office, sem ajustes no registro. Baixe o projeto de exemplo completo →
Prós: Controle total sobre o tamanho em pixels, processamento em lote/headless real, sem etapas manuais; o Spire roda sem o Office instalado.
Contras: VBA apenas no Windows com PowerPoint; a API é uma biblioteca paga para uso em produção.
5. Capturar um slide como imagem (captura de tela)
Ideal para: capturar um slide exatamente como mostrado na tela ou quando você não pode abrir o arquivo em um editor.
- Windows: Ferramenta de Captura (
Win + Shift + S) → selecione o slide → salve como PNG. - macOS:
Cmd + Shift + 4e depois a barra de espaço para capturar uma janela. - Terceiros: ShareX, Lightshot ou Snagit para capturas anotadas.

Aviso: capturas de tela herdam a resolução da sua tela e podem incluir elementos da interface. Para imagens limpas de slides completos em um tamanho controlável, prefira os Métodos 1–4.
Prós: Configuração zero, funciona em qualquer máquina, perfeito para "capturar exatamente o que está na tela".
Contras: Resolução limitada pela sua tela; não é uma exportação real; não pode processar em lote.
Suporte à decisão
As seções abaixo ajudam você a comparar métodos, escolher um formato e corrigir problemas de qualidade. Trabalhando a partir de um PDF em vez do PowerPoint? Veja como converter páginas de PDF em imagens.
Comparação e como escolher
| # | Método | Ideal para | Resolução | Instalação necessária | Em lote? |
|---|---|---|---|---|---|
| 1 | Salvar Como do PowerPoint | Tarefa rápida única | 96 PPI | PowerPoint | Por arquivo |
| 2 | Resolução mais alta | Corrigir desfoque / impressão | Até 300 PPI* | — | Por arquivo |
| 3 | CloudXDocs online | Sem Office / rápido | Igual ao padrão (~96 PPI) | Não (navegador) | Sim (zip) |
| 4 | VBA / API Spire | Dev / lote / servidor | Px personalizado | VBA: PowerPoint; Spire: NuGet | Sim |
| 5 | Captura de tela | Slide único na tela | Limitado pela tela | Não | Não |
| — | Google Slides / LibreOffice | Sem PowerPoint | App nativo | App | Por arquivo |
*Alcançado via VBA ou API Spire; ferramentas online renderizam nas dimensões nativas do slide.
Escolha pela situação:
- Precisa de uma ou duas imagens rapidamente → Salvar Como do PowerPoint
- O resultado parece desfocado → Exportação em alta resolução
- Não tem o PowerPoint instalado → CloudXDocs online
- Centenas de slides / lado do servidor → VBA ou API Spire
- Captura exata na tela → Captura de tela
Como exportar slides como imagens sem o PowerPoint
Se o Microsoft PowerPoint não estiver instalado, você ainda tem opções — o conversor CloudXDocs acima, além de duas suítes de escritório gratuitas:
- Google Slides: abra a apresentação, então Arquivo → Fazer download → Imagem PNG (.png) ou Imagem JPEG (.jpg). Cada download exporta o slide atual; repita por slide ou use o CloudXDocs para uma apresentação inteira de uma vez.
- LibreOffice Impress: abra o arquivo, então Arquivo → Exportar, escolha PNG ou JPG e selecione os slides para exportar.
Eles são úteis quando o PowerPoint não está disponível, embora ofereçam menos controle sobre a resolução do que o Método 2 ou o Método 4.
PNG vs JPG: qual formato você deve exportar?
| Formato | Ideal para | Vantagens |
|---|---|---|
| PNG | Texto, diagramas, gráficos, capturas de tela | Qualidade sem perdas, bordas mais nítidas |
| JPG | Fotos, slides com muitas imagens | Tamanho de arquivo menor |
Para a maioria das apresentações de negócios, o PNG é geralmente a melhor escolha porque os slides frequentemente contêm texto e diagramas que precisam de bordas nítidas. Use JPG apenas quando um slide for dominado por fotografias e o tamanho do arquivo for mais importante do que um texto perfeito em pixels.
Por que as imagens exportadas parecem desfocadas? (e como corrigir)
A exportação padrão do PowerPoint é de cerca de 96 PPI, então os slides parecem suaves quando ampliados ou impressos. Se suas imagens ainda não estiverem nítidas o suficiente:
- Use as rotas de alta resolução no Método 2 — sem necessidade de edições no registro.
- Evite capturas de tela para impressão ou telas grandes; sua resolução é limitada pela sua tela (Método 5).
- Prefira PNG para slides com texto ou diagramas (PNG vs JPG).
- Para controle total sobre o tamanho em pixels ou exportação no lado do servidor, automatize com VBA ou a API Spire (Método 4).
Para impressão, mire em 200–300 PPI. A tabela de resolução completa mostra o tamanho em pixels para cada alvo.
Perguntas Frequentes (FAQ)
Como salvo todos os slides do PowerPoint como imagens separadas de uma vez?
Arquivo → Salvar Como → PNG/JPEG, então escolha "Todos os Slides" quando solicitado. Para um lote sem instalação, use o conversor CloudXDocs; para lote via script, a macro VBA ou API Spire.
Qual formato de imagem é melhor — PNG ou JPG?
PNG para slides com texto, gráficos ou linhas nítidas (sem perdas). JPG para slides com muitas fotos onde o tamanho menor do arquivo importa.
Posso exportar slides sem o Microsoft PowerPoint instalado?
Sim. O Conversor de PPT para Imagem do CloudXDocs roda em qualquer navegador sem instalação, e o Spire.Presentation (Método 4) converte no lado do servidor sem o Office. Google Slides e LibreOffice Impress também podem exportar slides — veja sem PowerPoint.
Como exporto apenas um slide em vez de toda a apresentação?
No prompt Salvar Como, selecione "Apenas este". Com uma ferramenta de captura de tela, capture apenas o slide visível.
Por que meus slides exportados parecem desfocados e como obtenho imagens de alta qualidade?
O PowerPoint salva a ~96 PPI por padrão, então as imagens parecem suaves quando ampliadas ou impressas. Para melhorar a qualidade, exporte em uma resolução mais alta (veja a tabela de resolução) — seja com uma ferramenta que renderiza slides em dimensões maiores ou automatizando a exportação com VBA ou uma API de apresentação (Método 4) para controle total sobre o tamanho em pixels.
É seguro enviar minha apresentação para um conversor online?
Com o CloudXDocs, os arquivos enviados são excluídos automaticamente do servidor 24 horas após a conversão e não são retidos ou reutilizados. Evite conversores que não declaram uma política de exclusão.
Posso exportar slides do PowerPoint como imagens sem perder qualidade?
Sim. Use o formato PNG e exporte em um tamanho de pixel maior quando possível. Evite capturas de tela para saída profissional, pois a resolução da tela limita a qualidade da imagem — use o Método 2 (resolução mais alta) ou o Método 4 (tamanho de pixel personalizado) em vez disso.
Qual é o melhor tamanho de imagem para slides do PowerPoint?
Para uma apresentação 16:9, 1920 × 1080 pixels geralmente é adequado para telas. Resoluções mais altas, como 2560 × 1440 ou 3840 × 2160, são melhores para telas grandes ou impressão.
Relacionado: exportar slides do PowerPoint via código (desenvolvedores)
Se você está construindo um fluxo de trabalho de documentos, o processamento no lado do servidor geralmente é mais confiável do que ferramentas online para tarefas repetitivas ou de alto volume. Casos comuns onde uma biblioteca supera uma ferramenta web:
- Processamento em lote — converta milhares de apresentações em uma agenda.
- Relatórios automatizados — exporte apresentações geradas para imagens limpas.
- Pipelines de documentos — renderize slides como uma etapa em um fluxo maior de conversão/mesclagem/construção.
- Aplicações corporativas — incorpore a exportação de slides em seu próprio produto ou serviço.
Para fontes PDF no mesmo fluxo de trabalho, você também pode cortar um PDF ou mesclar arquivos PDF.
Spire.Presentation for .NET renderiza cada slide para PNG/JPG com as dimensões exatas que você definir, no Windows ou Linux, sem Microsoft Office. Veja o projeto de exemplo do Spire.Presentation para código executável.
Após a exportação, abra as imagens (ou o .pptx original) no CloudXDocs AI Chat para gerar automaticamente notas do orador, um glossário bilíngue ou uma lista de tarefas de atas de reunião — uma maneira rápida de reaproveitar conteúdo exportado, sem necessidade de design ou codificação. A IA trabalha com o conteúdo; ela não cria as imagens.