Saltar al pie de página
HERRAMIENTAS DE EXCEL

Cómo Escribir Un Archivo de Excel en Python

Los archivos de Excel son esenciales para el análisis de datos, la elaboración de informes y el almacenamiento en una variedad de sectores. Debido a su amplio ecosistema de módulos de código abierto, los desarrolladores cuentan con una abundancia de alternativas cuando se trata de producir archivos de Excel programáticamente usando Python. Estas bibliotecas soportan una amplia gama de casos de uso y preferencias, ofreciendo abstracciones de alto nivel así como un control detallado sobre los documentos de Excel.

Esto permite a los desarrolladores automatizar fácilmente procesos relacionados con Excel, producir informes dinámicos y exportar datos. Exploraremos cómo IronXL es un fuerte sustituto para las bibliotecas de Python cuando se trata de crear archivos de Excel en C#.

Examinaremos sus características, usabilidad y ventajas en el rendimiento mientras presentamos ejemplos de código útiles para resaltar sus capacidades. También, usar Python para escribir archivos de Excel con varias bibliotecas de código abierto.

Cómo escribir un archivo de Excel en Python

  1. Importa la biblioteca requerida.
  2. Prepara tus datos o proporciona algunos.
  3. Crea un objeto llamado Workbook o Data Frame.
  4. Coloca tus datos dentro del objeto.
  5. Utilizando la técnica adecuada, guarda el objeto en un archivo de Excel.
  6. Haz cualquier formato adicional o personalización a tu discreción.

Pandas

Con una reputación de ser fácil de usar y versátil, Pandas es un robusto paquete de manipulación de datos en Python. Aunque Pandas se enfoca principalmente en DataFrames, también tiene funcionalidad de escritura de archivos de Excel.

Los desarrolladores pueden exportar fácilmente DataFrames al formato Excel utilizando la API to_excel(). Incluso pueden exportar a hojas separadas usando los DataFrames.

La ruta del archivo del objeto ExcelWriter es donde se guarda la salida. Los datos tabulares de Python pueden convertirse fácilmente en archivos de Excel con las opciones de Pandas para formateo de datos, visibilidad de índices y nombres de hojas.

Cómo escribir un archivo de Excel en Python: Figura 1

xlwt

Esta biblioteca te permite escribir datos e información de formato en archivos de Excel que están en el formato .xls anticuado. Xlwt sigue siendo una solución viable en situaciones donde se requiere compatibilidad con versiones anteriores de Excel o sistemas heredados, incluso si no se desarrolla activamente.

Los desarrolladores pueden usar las características de xlwt para escribir datos en celdas, agregar hojas de trabajo y construir objetos Workbook. Xlwt ofrece funcionalidad rudimentaria para crear archivos de Excel en Python, aunque con limitaciones en comparación con herramientas más recientes.

Cómo escribir un archivo de Excel en Python: Figura 2

Tablib

Esta biblioteca flexible puede manejar datos tabulares en muchos formatos diferentes, incluyendo Excel. Tablib tiene funciones para exportar datos en formato Excel, incluso si su enfoque principal es el procesamiento y la serialización de datos.

Los métodos proporcionados por Tablib permiten a los desarrolladores construir fácilmente objetos Dataset, agregar datos y exportarlos a archivos de Excel. La versatilidad y facilidad de uso de Tablib lo hacen apropiado para trabajos de Python que involucran la creación de archivos de Excel simples.

Cómo escribir un archivo de Excel en Python: Figura 3

ezodf

Las hojas de cálculo y otros archivos de formato OpenDocument (ODF) pueden trabajarse usando la biblioteca ezodf. Aunque no esté diseñado pensando en archivos de Excel, ezodf ofrece a los usuarios de Python la capacidad de crear y trabajar con documentos de hojas de cálculo.

Los desarrolladores pueden agregar hojas de trabajo, escribir datos en las celdas de la hoja de Excel programáticamente y producir archivos ODS (OpenDocument Spreadsheet) usando las técnicas de ezodf. Incluso si no es tan popular, ezodf proporciona una opción para crear archivos de Excel mientras se trabaja con documentos de hojas de cálculo en Python.

Cómo escribir un archivo de Excel en Python: Figura 4

pyxlsb

Un paquete de Python llamado pyxlsb se usa para leer y escribir archivos de Libro de Trabajo Binario de Excel (.xlsb). Ofrece características para agregar hojas de trabajo, escribir datos en celdas en el formato binario de Excel y generar objetos Workbook.

Aunque el soporte para archivos .xlsb no es tan extendido como lo es para .xlsx o .xls, pyxlsb proporciona funcionalidad en Python para manipular archivos de Excel binarios, satisfaciendo ciertos casos de uso que necesitan ser compatibles con el formato binario de Excel.

Cómo escribir un archivo de Excel en Python: Figura 5

IronXL

IronXL es una biblioteca de C# rica en funciones para manipular archivos de Excel. IronXL, creado por Iron Software, ofrece una amplia gama de características para producir, formatear y llenar documentos de Excel dinámicamente. IronXL ofrece a los desarrolladores una experiencia fluida para actividades relacionadas con Excel al simplificar las interacciones de Excel en C# con su API fácil de usar y documentación completa.

Características de IronXL

  • Amplio soporte para Excel: IronXL puede abrir y trabajar con una amplia gama de archivos de Excel en muchos formatos de Excel, incluidos archivos csv, file, xls y xlsx. Con las potentes características de análisis de IronXL, los desarrolladores pueden extraer eficientemente datos de un archivo de Excel existente usando tanto archivos de Excel antiguos como modernos.
  • Alta velocidad: IronXL da prioridad a la optimización de velocidad. Se utilizan algoritmos efectivos y técnicas de gestión de memoria para proporcionar interacciones de Excel confiables y rápidas. Dado que IronXL ofrece velocidades de procesamiento optimizadas y una reducción en la sobrecarga de memoria, los desarrolladores pueden manejar archivos de Excel grandes con facilidad.
  • API simple y fácil de usar: IronXL es apropiado para desarrolladores con niveles de experiencia variables debido a su API directa y fácil de usar. Al ofrecer métodos directos para leer archivos de Excel, acceder a libros de trabajo de Excel y obtener datos de celdas, IronXL reduce la curva de aprendizaje para los desarrolladores de C# y simplifica el proceso de escribir y leer un archivo existente.
  • Control detallado: A diferencia de otras bibliotecas de alto nivel, IronXL brinda a los desarrolladores un control detallado sobre los documentos de Excel, permitiéndoles interactuar con una hoja de cálculo de Excel hasta el nivel de la celda. Dado que los desarrolladores tienen acceso a celdas específicas, filas, columnas y hojas de cálculo, pueden extraer y cambiar datos exactamente para satisfacer sus necesidades.
  • Compatibilidad multiplataforma: IronXL funciona con una variedad de sistemas operativos, incluidos Windows, Linux, y macOS, haciéndolo adecuado para el desarrollo multiplataforma en C#. Ya sea que se estén desarrollando aplicaciones de escritorio, web o móviles, los desarrolladores pueden confiar en IronXL para proporcionar interacciones de Excel consistentes a través de varios contextos.

Para saber más sobre la documentación de IronXL refiérase aquí.

Instalación de IronXL

Usa estas instrucciones y la línea de comandos para instalar IronXL.

En Visual Studio, navega a Tools -> Gestión de Paquetes NuGet -> Interfaz del gestor de paquetes.

Ingresa el siguiente código en la pestaña de la consola del gestor de paquetes:

pip install IronXL

El archivo ahora es utilizable después de ser descargado e instalado en el proyecto actual.

Cómo escribir datos de Excel con IronXL en C

Ahora profundicemos en un ejemplo de código del mundo real que te muestra cómo usar IronXL en C# para escribir datos en un documento de Excel. Demostraremos cómo abrir un nuevo libro de trabajo de Excel, llenar una hoja de trabajo y luego guardar los datos en un archivo:

using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
Imports IronXL ' Include IronXL namespace

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object in .xlsx format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		' Add a new WorkSheet named "Sheet1" to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Define sample data
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "John ", "25", "New York" },
			{ "Smith", "30", "Los Angeles" },
			{ "Johnson", "35", "Chicago" }
		}

		' Populate the worksheet with data
		For row As Integer = 0 To data.GetLength(0) - 1
			For col As Integer = 0 To data.GetLength(1) - 1
				workSheet.SetCellValue(row, col, data(row, col))
			Next col
		Next row

		' Save the workbook to a .xlsx file named "Demo.xlsx"
		workBook.SaveAs("Demo.xlsx")

		' Close the workbook to free resources
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

En este ejemplo de código, primero creamos un nuevo objeto WorkBook usando la función Create() de IronXL, especificando el tipo de archivo de Excel deseado (en este caso, .xlsx). A continuación, creamos una nueva hoja de trabajo y definimos algunos datos de muestra en una matriz bidimensional.

Luego, llenamos la hoja de trabajo con los datos de muestra accediendo y estableciendo los valores de diferentes celdas usando bucles anidados.

Finalmente, usamos la función SaveAs() para guardar el libro de trabajo en el nombre de archivo de destino "Demo.xlsx" y cerramos el libro de trabajo para liberar recursos del sistema. De manera similar, podemos crear múltiples hojas en el archivo de destino.

A continuación se muestra el archivo de Excel generado como salida. Para saber más sobre escribir archivos de Excel, consulta aquí.

Cómo escribir un archivo de Excel en Python: Figura 6

Conclusión

Python proporciona una amplia colección de bibliotecas gratuitas y de código abierto para escribir archivos de Excel programáticamente, satisfaciendo una amplia gama de necesidades y gustos. Estas bibliotecas te permiten ejecutar tus tareas de escritura de Excel rápida y efectivamente, independientemente de si estás trabajando con datos tabulares, produciendo informes o exportando datos a Excel.

IronXL es un potente sustituto de Microsoft Excel para los desarrolladores de C#, ofreciendo soporte completo para Excel, excelente velocidad y una interfaz fluida con el marco .NET. IronXL hace que la escritura en Excel en C# sea más sencilla con su API fácil de usar y control detallado sobre los documentos de Excel.

Esto hace más fácil para los desarrolladores crear informes dinámicos, exportar datos y automatizar operaciones relacionadas con Excel. Los desarrolladores de C# pueden confiar en IronXL para optimizar las operaciones relacionadas con Excel y habilitar todo el potencial de Excel en sus aplicaciones C#, sin importar si están produciendo archivos de Excel para aplicaciones de escritorio, en línea o móviles.

IronXL está disponible al lanzamiento por $799. Los usuarios también pueden optar por pagar una tarifa de suscripción anual para recibir actualizaciones y ayuda con el producto. IronXL ofrece protección para redistribución ilimitada por un recargo. Visita esta página para saber más sobre el costo aproximado. Ve aquí para saber más sobre Iron Software.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más