Tabla de contenidos
Instalar a través de NuGet
PM> Install-Package Spire.XLS
Enlaces relacionados
La escritura eficiente de archivos de Excel es esencial en los flujos de trabajo basados en Python para el análisis de datos, la generación de informes y la automatización. Entre las muchas bibliotecas disponibles, Spire.XLS for Python se destaca como una solución potente e independiente de Excel que admite funciones complejas como gráficos, fórmulas, formato condicional, cifrado y manejo de grandes conjuntos de datos.
Esta guía mostrará cómo escribir archivos XLSX con Python usando Spire.XLS for Python, cubriendo detalles desde la escritura básica hasta el formato avanzado, todo mientras se utiliza la biblioteca de Excel confiable y lista para la empresa.
- Cómo escribir archivos XLSX con Spire.XLS for Python
- Escribir diferentes tipos de datos en archivos XLSX usando Python
- Aplicar formato y estilos a las celdas de Excel con Python
Cómo escribir archivos XLSX con Spire.XLS for Python
¿Por qué usar Spire.XLS for Python?
Spire.XLS for Python es una biblioteca rica en funciones que permite a los desarrolladores leer, escribir y manipular archivos de Excel sin necesidad de Microsoft Office. Está diseñada para ofrecer rendimiento y flexibilidad, lo que la hace ideal para tareas de automatización e informes a gran escala.
Beneficios clave:
- API todo en uno: Lee/escribe .xls y .xlsx, formatea celdas, inserta fórmulas, convierte archivos y más.
- Soporte multiplataforma: Disponible para .NET, Java, Python y compatible con entornos basados en la nube.
- Funciones avanzadas de Excel: Admite gráficos, tablas dinámicas, formato condicional y protección.
- Documentación y soporte confiables: Amplia referencia de API, tutoriales, foro de desarrolladores y equipo de soporte.
- Edición gratuita disponible: Ideal para el procesamiento ligero de archivos de Excel sin costos de licencia.
Instalación de Spire.XLS for Python
Puede instalar la versión completa o la versión gratuita de Spire.XLS según sus requisitos.
Versión completa:
pip install spire.xls
Versión gratuita (para archivos más pequeños y casos de uso básicos):
pip install spire.xls.free
Pasos básicos para escribir archivos XLSX
Para escribir en archivos de Excel usando Python, siga estos pasos fundamentales:
- Cree un nuevo libro de Excel a través del constructor Workbook().
- Cargue un archivo XLSX existente (opcional) con el método Workbook.LoadFromFile().
- Agregue u obtenga una hoja de cálculo usando el método Workbook.Worksheets.Add() o el método get_Item().
- Acceda a las celdas a través del método Worksheet.Range.get_Item().
- Escriba datos usando las propiedades de la clase CellRange, como Value, Text, NumberValue, etc.
- Guarde el libro de trabajo usando el método Workbook.SaveToFile().
Ejemplo de código de escritura básica de archivos XLSX
- Python
from spire.xls import Workbook, ExcelVersion # Crear un objeto Workbook workbook = Workbook() # Obtener la primera hoja de cálculo predeterminada sheet = workbook.Worksheets.get_Item(0) # Escribir una cadena en la celda B2 sheet.Range.get_Item(2, 2).Text = "¡Hola, mundo!" # Guardar el libro de trabajo workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016) workbook.Dispose()
El archivo XLSX de salida:
Escribir diferentes tipos de datos en archivos XLSX usando Python
Spire.XLS ofrece una serie de propiedades en la clase CellRange que admiten la escritura de varios tipos de datos directamente en las celdas de Excel, como cadenas, valores de fecha y hora, valores booleanos y valores numéricos. Esto facilita a los desarrolladores la escritura de valores tipados directamente en las celdas de un archivo XLSX.
Tipos de datos admitidos y sus propiedades
Propiedad | Tipo de valor | Función |
NumberValue | float | Establece un valor numérico |
Text | str | Establece texto sin formato |
DateTimeValue | datetime | Establece una fecha y hora |
BooleanValue | bool | Establece un valor booleano |
Formula | str | Inserta una fórmula |
HtmlString | str | Inserta texto con formato HTML |
Value | str | Establece un valor genérico |
Ejemplo de código – Escribir varios tipos de datos
- Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType # Crear un objeto Workbook workbook = Workbook() # Obtener la primera hoja de cálculo predeterminada sheet = workbook.Worksheets.get_Item(0) # Escribir texto en la celda B1 sheet.Range.get_Item(1, 2).Text = "Texto sin formato" # Escribir un número en la celda B2 sheet.Range.get_Item(2, 2).NumberValue = 123456 sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00" # Escribir una fecha en la celda B3 sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow() # Escribir un valor booleano en la celda B4 sheet.Range.get_Item(4, 2).BooleanValue = True # Escribir una fórmula en la celda B5 sheet.Range.get_Item(5, 2).Formula = "B2/2" # Escribir una cadena HTML en la celda B6 sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Fuente azul tamaño 18 píxeles</span></p>" # Escribir un valor regular en la celda B7 sheet.Range.get_Item(7, 2).Value = "Valor regular" # Insertar una imagen en la celda B8 with open("Logo.png", "rb") as f: imageBytes = f.read() stream = Stream(imageBytes) sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png) # Establecer formato básico sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left sheet.AutoFitColumn(2) for i in range(sheet.Range.Columns.Count): for j in range(sheet.Range.Rows.Count): sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left # Guardar el libro de trabajo en un archivo XLSX workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016) workbook.Dispose()
El archivo XLSX de salida:
Aplicar formato y estilos a las celdas de Excel con Python
El formato juega un papel clave para que los informes de Excel sean claros y profesionales. Con Spire.XLS for Python, puede personalizar la apariencia de las celdas usando fuentes, colores, alineación, formatos de número y estilos integrados. Estas herramientas ayudan a mejorar la legibilidad y a presentar sus datos de una manera pulida y consistente, ideal para la generación de informes y la automatización.
El siguiente ejemplo de código muestra cómo dar formato a las hojas de cálculo usando Python.
Formatear celdas con fuente, color, borde y alineación
- Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType # Crear un objeto Workbook workbook = Workbook() # Cargar el archivo XLSX workbook.LoadFromFile("Sample.xlsx") # Obtener la primera hoja de cálculo sheet = workbook.Worksheets.get_Item(0) # Establecer los estilos de fuente # Fila de encabezado sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman" sheet.Rows.get_Item(0).Style.Font.Size = 14 sheet.Rows.get_Item(0).Style.Font.IsBold = True # Filas de datos for i in range(1, sheet.Rows.Count): sheet.Rows.get_Item(i).Style.Font.FontName = "Arial" sheet.Rows.get_Item(i).Style.Font.Size = 12 # Establecer los colores de las celdas # Fila de encabezado sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230) # Filas de datos for i in range(1, sheet.Rows.Count): sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250) # Establecer los estilos de borde # Fila de encabezado sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White() # Filas de datos for i in range(1, sheet.Rows.Count): sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black()) # Establecer la alineación # Fila de encabezado sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center # Filas de datos for i in range(1, sheet.Rows.Count): sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left # Ajustar automáticamente el ancho de la columna for i in range(sheet.Columns.Count): sheet.AutoFitColumn(i + 1) # Guardar el archivo de Excel workbook.SaveToFile("output/FormatXLSXFile.xlsx") workbook.Dispose()
El archivo XLSX de salida:
Establecer formatos de número para las celdas
- Python
from spire.xls import Workbook, ExcelVersion # Crear una instancia de Workbook workbook = Workbook() # Obtener la primera hoja de cálculo sheet = workbook.Worksheets.get_Item(0) # Formatear una celda como número sheet.Range.get_Item(1, 2).NumberValue = 1234567890 sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0" # Formatear una celda como fecha sheet.Range.get_Item(2, 2).NumberValue = 45562 sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd" # Formatear una celda como hora sheet.Range.get_Item(3, 2).NumberValue = 45562 sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss" # Formatear una celda como moneda sheet.Range.get_Item(4, 2).NumberValue = 1234567890 sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)" # Formatear una celda como porcentaje sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890 sheet.Range.get_Item(5, 2).NumberFormat = "0.00%" # Formatear una celda como fracción sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890 sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?" # Formatear una celda como número científico sheet.Range.get_Item(7, 2).NumberValue = 1234567890 sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00" # Ajustar automáticamente el ancho de la columna for i in range(sheet.Columns.Count): sheet.AutoFitColumn(i + 1) # Guardar el archivo de Excel workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016) workbook.Dispose()
El archivo XLSX de salida:
Aplicar estilos integrados a las celdas
- Python
from spire.xls import Workbook, BuiltInStyles # Crear una instancia de Workbook workbook = Workbook() # Cargar el archivo de Excel workbook.LoadFromFile("Sample.xlsx") # Obtener la primera hoja de cálculo sheet = workbook.Worksheets.get_Item(0) # Aplicar estilo de encabezado integrado a la primera fila sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2 # Aplicar estilo de pie de página integrado a las filas de datos for i in range(1, sheet.Rows.Count): sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20 # Ajustar automáticamente el ancho de la columna for i in range(sheet.Columns.Count): sheet.AutoFitColumn(i + 1) # Guardar el archivo de Excel workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx") workbook.Dispose()
El archivo XLSX de salida:
Conclusión
En esta guía, exploramos cómo escribir archivos XLSX con Python usando Spire.XLS, desde la escritura básica hasta el formato. Ya sea para generar informes, automatizar exportaciones o crear aplicaciones basadas en datos, Spire.XLS for Python ofrece una solución confiable y eficiente para la generación de archivos de Excel.
Obtenga una licencia gratuita
Puede solicitar una licencia de prueba gratuita de 30 días para la versión completa de Spire.XLS for Python. Esto le permite explorar todas las funciones avanzadas sin limitaciones durante el período de prueba.