Saltar al pie de página
USANDO IRONXL

Cómo concatenar o combinar archivos de Excel en C# Combinar XLS

Microsoft creó Microsoft Excel, un potente programa de hojas de cálculo. Es una herramienta comúnmente utilizada para organizar, analizar y visualizar datos. Es un componente del paquete Microsoft Office. Excel es una aplicación flexible que puede ser utilizada por personas, profesionales, académicos y corporaciones debido a sus muchas capacidades.

Muchas industrias, incluyendo finanzas, contabilidad, análisis de negocios, análisis de datos, investigación, educación y más, utilizan Excel extensivamente. Es una herramienta preferida para organizar, evaluar y mostrar datos en contextos tanto personales como profesionales debido a su amplio conjunto de características y adaptabilidad.

IronXL es una potente biblioteca de Excel que se puede utilizar para realizar varios tipos de operaciones de Excel. En este artículo, vamos a aprender cómo concatenar o fusionar archivos de Excel en C#.

Cómo fusionar archivos de Excel en C

  1. Crear un nuevo proyecto en Visual Studio
  2. Instalar la biblioteca de IronXL en el proyecto
  3. Cargar todos los archivos de Excel que necesitan ser fusionados
  4. Extraer todas las hojas de la hoja de Excel cargada
  5. Añadir las hojas a un nuevo archivo de Excel
  6. Guardarlas en un archivo separado

Biblioteca IronXL

IronXL es un sustituto de Microsoft Interop cuando se trata de gestionar archivos de Excel en aplicaciones .NET. Mientras IronXL ofrece un método más sencillo, efectivo y potente de manipular archivos de Excel programáticamente en entornos .NET, Microsoft Interop requiere el uso de los componentes Interop para comunicarse con Excel.

El uso de IronXL tiene los siguientes beneficios:

  • Rendimiento y Economía de Recursos: IronXL tiene un mejor rendimiento porque no depende de que la aplicación Excel esté instalada en el PC.
  • Legibilidad y Sencillez: IronXL proporciona una API más sencilla, facilitando la lectura, escritura y manipulación de archivos de Excel sin las complejidades de Microsoft Interop.
  • Compatibilidad y Dependencia: Dado que IronXL no requiere que Microsoft Excel esté instalado, elimina las dependencias y problemas de compatibilidad con varias versiones de Office o Excel.
  • Independencia de la Plataforma: IronXL ofrece mayor flexibilidad y facilidad de despliegue a través de diferentes entornos y plataformas, mientras que Microsoft Interop está más estrechamente vinculado a versiones específicas de Microsoft Office.

Para los desarrolladores de .NET que necesitan trabajar con archivos de Excel programáticamente, IronXL es a menudo una mejor opción debido a su rendimiento, facilidad de uso y menor dependencia de aplicaciones adicionales.

La decisión entre IronXL y Microsoft Interop puede estar influenciada por factores como los requisitos específicos del proyecto, la infraestructura existente y el conocimiento del desarrollador de cada biblioteca. Siempre considere las necesidades de su aplicación al tomar esta decisión. Visite esta página para aprender más sobre la biblioteca IronXL.

Crear un nuevo proyecto en Visual Studio

Para lanzar la aplicación de Visual Studio, haga clic en "Archivo" en el menú, luego "Nuevo Proyecto", y elija "Aplicación de consola".

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 1

Ingrese el nombre del proyecto y la ubicación del archivo. Haga clic en el botón "Crear" y elija el .NET Framework requerido como se muestra a continuación.

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 2

La estructura del proyecto dependerá del tipo de aplicación seleccionada. Use la consola, Windows o la aplicación web para construir o ejecutar la aplicación y agregar código ingresando el archivo Program.cs.

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 3

Luego se puede agregar la biblioteca y probar el código.

Instalación de la biblioteca IronXL

Para instalar la biblioteca IronXL, abra la Consola del Administrador de Paquetes NuGet y escriba el siguiente comando:

Install-Package IronXL.Excel

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 4

Alternativamente, use el Administrador de Paquetes NuGet para buscar "IronXL" y descargarlo de la lista de paquetes relacionados.

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 5

Combine archivos de Excel usando IronXL

Con IronXL, podemos combinar múltiples archivos de Excel o hojas de trabajo en un solo archivo de Excel o hoja de trabajo usando el siguiente código:

using IronXL;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of file paths for the Excel files to be merged
        string[] filePaths = { "file1.xlsx", "file2.xlsx" };

        // Create a new workbook to add sheets from the existing files
        WorkBook newWorkBook = WorkBook.Create();

        try
        {
            foreach (var filePath in filePaths)
            {
                // Load the existing Excel file into a workbook
                WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);

                // Retrieve the sheets from the loaded workbook
                WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;

                // Add each sheet from the existing workbook to the new workbook
                foreach (var sheet in sheetCollection)
                {
                    newWorkBook.WorkSheets.Add(sheet);
                }
            }

            // Save the new workbook with a merged sheet collection
            newWorkBook.SaveAs("MergedBook.xls");
        }
        catch (Exception ex)
        {
            // Output any exceptions encountered during the merging process
            Console.WriteLine(ex.ToString());
        }
    }
}
using IronXL;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of file paths for the Excel files to be merged
        string[] filePaths = { "file1.xlsx", "file2.xlsx" };

        // Create a new workbook to add sheets from the existing files
        WorkBook newWorkBook = WorkBook.Create();

        try
        {
            foreach (var filePath in filePaths)
            {
                // Load the existing Excel file into a workbook
                WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);

                // Retrieve the sheets from the loaded workbook
                WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;

                // Add each sheet from the existing workbook to the new workbook
                foreach (var sheet in sheetCollection)
                {
                    newWorkBook.WorkSheets.Add(sheet);
                }
            }

            // Save the new workbook with a merged sheet collection
            newWorkBook.SaveAs("MergedBook.xls");
        }
        catch (Exception ex)
        {
            // Output any exceptions encountered during the merging process
            Console.WriteLine(ex.ToString());
        }
    }
}
Imports IronXL
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Array of file paths for the Excel files to be merged
		Dim filePaths() As String = { "file1.xlsx", "file2.xlsx" }

		' Create a new workbook to add sheets from the existing files
		Dim newWorkBook As WorkBook = WorkBook.Create()

		Try
			For Each filePath In filePaths
				' Load the existing Excel file into a workbook
				Dim existingWorkbook As WorkBook = WorkBook.LoadExcel(filePath)

				' Retrieve the sheets from the loaded workbook
				Dim sheetCollection As WorksheetsCollection = existingWorkbook.WorkSheets

				' Add each sheet from the existing workbook to the new workbook
				For Each sheet In sheetCollection
					newWorkBook.WorkSheets.Add(sheet)
				Next sheet
			Next filePath

			' Save the new workbook with a merged sheet collection
			newWorkBook.SaveAs("MergedBook.xls")
		Catch ex As Exception
			' Output any exceptions encountered during the merging process
			Console.WriteLine(ex.ToString())
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

Explicación:

  1. Rutas de Archivos: Se utiliza un array para almacenar las rutas de archivo de todos los archivos Excel que se desean fusionar.
  2. Creación de Libros de Trabajo: Se crea un nuevo libro de Excel con WorkBook.Create() para almacenar todas las hojas combinadas.
  3. Carga de Archivos: Se itera sobre las rutas de archivos, cargando cada archivo de Excel en un objeto WorkBook usando WorkBook.LoadExcel(filePath).
  4. Colección de Hojas: Se recuperan todas las hojas de trabajo de cada libro de trabajo cargado.
  5. Adición de Hojas: Se añaden cada hoja de trabajo de los archivos existentes al nuevo libro de trabajo usando el método Add.
  6. Guardado de Archivos: El nuevo libro de trabajo se guarda como "MergedBook.xls", completando así el proceso de fusión.

A continuación, se muestra el archivo de entrada de ejemplo para fusionar archivos de Excel.

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 6

Archivo fusionado resultante:

Cómo Concatenar o Fusionar Archivos de Excel en C# Combinar XLS: Figura 7

Para obtener más información sobre IronXL, visite esta página.

Conclusión

IronXL es un complemento popular para Excel ya que opera independientemente de cualquier otra biblioteca externa. Dado que Microsoft Excel es autónomo, no hay necesidad de tenerlo instalado por separado, y las tareas se pueden realizar sin dependencias adicionales. Esto contrasta con la biblioteca Interop, que requiere otras bibliotecas para analizar archivos para documentos de Word.

IronXL ofrece nuevas formas de manejar documentos de Microsoft Excel en programación. Permite operaciones como cálculos, ordenamiento, corte, búsqueda y reemplazo, y almacenamiento de archivos, entre otros. Permite leer, escribir y gestionar datos de Excel eficientemente.

El costo inicial de IronXL es una $799. Alternativamente, los clientes pueden optar por una cuota de membresía anual para recibir soporte y actualizaciones de software. Un plan de pago también ofrece protección contra la redistribución no autorizada. Para una prueba gratuita de IronXL, haga clic en este enlace. Para información detallada sobre los precios, visite el sitio web de licencias de IronXL aquí. Para más detalles sobre los productos de Iron Software, visite esta página.

Preguntas Frecuentes

¿Cómo puedo fusionar múltiples archivos Excel en uno solo usando C#?

Puedes fusionar múltiples archivos Excel en uno solo usando IronXL cargando cada archivo Excel, extrayendo las hojas, y agregándolas a un nuevo libro de trabajo. Después de combinar todas las hojas de los diferentes archivos, guarda el nuevo libro de trabajo como un archivo Excel fusionado.

¿Qué hace que IronXL sea una mejor opción que Microsoft Interop para fusionar archivos Excel?

IronXL es una mejor opción que Microsoft Interop porque opera de manera independiente a la instalación de Microsoft Excel, proporcionando un mejor rendimiento, facilidad de despliegue a través de plataformas y una API sencilla para la manipulación de archivos Excel.

¿Cómo instalo IronXL en un proyecto de Visual Studio?

Para instalar IronXL en un proyecto de Visual Studio, usa la consola del Administrador de Paquetes NuGet con el comando Install-Package IronXL o busca 'IronXL' en el Administrador de Paquetes NuGet y descárgalo de la lista.

¿Es posible manipular archivos Excel en C# sin tener Microsoft Excel instalado?

Sí, con IronXL, puedes manipular archivos Excel en C# sin tener Microsoft Excel instalado, ya que IronXL no depende de Excel para sus operaciones.

¿Cuáles son los pasos principales involucrados en fusionar archivos Excel usando IronXL?

Los pasos principales para fusionar archivos Excel usando IronXL incluyen crear un nuevo libro de trabajo, cargar archivos Excel existentes, extraer hojas de estos archivos, agregar las hojas al nuevo libro de trabajo y guardar el libro de trabajo fusionado.

¿Cómo puedo iniciar un proyecto en Visual Studio para operaciones con archivos Excel?

Para iniciar un proyecto en Visual Studio para operaciones con archivos Excel, crea un nuevo proyecto de 'Aplicación de Consola' seleccionando 'Archivo', luego 'Nuevo Proyecto', y eligiendo el .NET Framework apropiado para tus requerimientos.

¿Qué beneficios ofrece IronXL sobre los métodos tradicionales de manipulación de Excel?

IronXL ofrece beneficios como la ausencia de necesidad de instalación de Excel, mejor rendimiento, economía de recursos, una API simple e intuitiva, e independencia de plataforma, lo que lo hace ideal para aplicaciones modernas de .NET.

¿Cómo maneja IronXL la fusión de archivos Excel de diferentes versiones?

IronXL maneja la fusión de archivos Excel de diferentes versiones sin problemas, ya que está diseñado para funcionar independientemente de versiones específicas de Excel u Office, asegurando compatibilidad y facilidad de uso.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más