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
- Crear un nuevo proyecto en Visual Studio
- Instalar la biblioteca de IronXL en el proyecto
- Cargar todos los archivos de Excel que necesitan ser fusionados
- Extraer todas las hojas de la hoja de Excel cargada
- Añadir las hojas a un nuevo archivo de Excel
- 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".

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.

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.

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

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

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 ClassExplicación:
- Rutas de Archivos: Se utiliza un array para almacenar las rutas de archivo de todos los archivos Excel que se desean fusionar.
- Creación de Libros de Trabajo: Se crea un nuevo libro de Excel con
WorkBook.Create()para almacenar todas las hojas combinadas. - Carga de Archivos: Se itera sobre las rutas de archivos, cargando cada archivo de Excel en un objeto
WorkBookusandoWorkBook.LoadExcel(filePath). - Colección de Hojas: Se recuperan todas las hojas de trabajo de cada libro de trabajo cargado.
- 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. - 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.

Archivo fusionado resultante:

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.






