Cómo renombrar una hoja de trabajo de Excel en C#
Renombrar archivos de Excel programáticamente es una tarea común en varias aplicaciones. Ya sea que estés organizando archivos, automatizando tareas o gestionando datos, tener la capacidad de renombrar archivos de Excel a través de código puede ser muy beneficioso. En este artículo, exploraremos cómo renombrar archivos de Excel usando la biblioteca IronXL de Iron Software.
Cómo cambiar el nombre de una hoja de cálculo de Excel en C
- Crea un proyecto de Visual Studio para renombrar hojas de Excel.
- Instala la biblioteca IronXL de Iron Software.
- Renombra hojas de Excel usando IronXL.
Biblioteca IronXL de Iron Software
IronXL es una poderosa biblioteca de Excel para C# desarrollada por Iron Software. Te permite trabajar con documentos de Excel en tus proyectos .NET sin la necesidad de Microsoft Office o Interop de Excel.
Características principales de IronXL
- Leer, editar y crear archivos de Excel: IronXL te permite leer, generar y editar archivos de hojas de cálculo de Excel (incluyendo los formatos XLSX, XLS, XLSM, XLTX, CSV y TSV) directamente desde tu código en C# o VB.NET.
- No se requiere Interop de Office: No necesitarás instalar Microsoft Office ni lidiar con las complejidades de Office Interop. IronXL proporciona una experiencia sin complicaciones.
- Compatibilidad multiplataforma: IronXL está diseñado para .NET 8, 7, 6, Core, Framework y Azure. Ya sea que estés construyendo aplicaciones de consola, aplicaciones web, o software de escritorio, IronXL cubre tus necesidades.
API amigable: La API intuitiva te permite realizar tareas como leer valores de celdas, calcular valores agregados, trabajar con fórmulas, crear gráficos, y más. Examinemos brevemente un ejemplo:
using IronXL; namespace RenameExcelSheets { public class Program { public static void Main() { Console.WriteLine("Rename Excel Sheets Using IronXL"); // Load an existing Excel file into a WorkBook object WorkBook workBook = WorkBook.Load("sample.xlsx"); // sample excel file // Select the specified worksheet (first sheet) WorkSheet workSheet = workBook.WorkSheets[0]; // Read a cell value from the workbook int cellValue = workSheet["A2"].IntValue; // Iterate through a range of cells and print their values foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'"); } // Calculate aggregate values decimal sum = workSheet["A2:A10"].Sum(); decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue); // Save as a new workbook workBook.SaveAs("sampleResult.xlsx"); } } }using IronXL; namespace RenameExcelSheets { public class Program { public static void Main() { Console.WriteLine("Rename Excel Sheets Using IronXL"); // Load an existing Excel file into a WorkBook object WorkBook workBook = WorkBook.Load("sample.xlsx"); // sample excel file // Select the specified worksheet (first sheet) WorkSheet workSheet = workBook.WorkSheets[0]; // Read a cell value from the workbook int cellValue = workSheet["A2"].IntValue; // Iterate through a range of cells and print their values foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'"); } // Calculate aggregate values decimal sum = workSheet["A2:A10"].Sum(); decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue); // Save as a new workbook workBook.SaveAs("sampleResult.xlsx"); } } }Imports IronXL Namespace RenameExcelSheets Public Class Program Public Shared Sub Main() Console.WriteLine("Rename Excel Sheets Using IronXL") ' Load an existing Excel file into a WorkBook object Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' sample excel file ' Select the specified worksheet (first sheet) Dim workSheet As WorkSheet = workBook.WorkSheets(0) ' Read a cell value from the workbook Dim cellValue As Integer = workSheet("A2").IntValue ' Iterate through a range of cells and print their values For Each cell In workSheet("A2:A10") Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'") Next cell ' Calculate aggregate values Dim sum As Decimal = workSheet("A2:A10").Sum() Dim max As Decimal = workSheet("A2:A10").Max(Function(c) c.DecimalValue) ' Save as a new workbook workBook.SaveAs("sampleResult.xlsx") End Sub End Class End Namespace$vbLabelText $csharpLabel- Funcionalidad de Excel sin complicaciones: IronXL te permite crear, cargar, guardar y manipular hojas de cálculo fácilmente. Ya sea que estés tratando con metadatos, permisos, fórmulas o estilos, IronXL simplifica el proceso.
Recuerda, IronXL es confiado por millones de ingenieros en todo el mundo por su precisión, facilidad de uso y velocidad. Si estás trabajando con archivos de Excel en C# o VB.NET, ¡IronXL es tu biblioteca de referencia!
Configuración del entorno
Antes de sumergirte en la parte del código, asegúrate de tener instaladas las herramientas necesarias:
- Visual Studio: Instala Visual Studio o cualquier otro IDE de C# que prefieras.
- Microsoft Excel: Asegúrate de que Microsoft Excel esté instalado en tu sistema.
Para demostrar un ejemplo del mundo real de renombrar un archivo de Excel, escribamos un programa para tomar una carpeta que contenga todos los archivos a renombrar y usar IronXL para renombrar todos los archivos, luego almacenarlos en la carpeta de salida.
Paso 1: Cree un proyecto de Visual Studio para cambiar el nombre de las hojas de Excel.
Abre Visual Studio y crea un nuevo proyecto para la demostración. Selecciona la aplicación de consola del siguiente template.

Proporciona nombres al proyecto y la ruta para almacenar los archivos.

Seleccione la versión .NET requerida.

Paso 2: Instale la biblioteca IronXL desde Iron Software .
La biblioteca IronXL se puede instalar desde el administrador de paquetes de Visual Studio como se muestra a continuación.

O puede ser instalado desde el Administrador de Paquetes NuGet con un comando.
dotnet add package IronXL.Excel --version 2024.4.4

Una vez instalado, el proyecto está listo para empezar a codificar para renombrar hojas de Excel.
Paso 3: Cambiar el nombre de las hojas de Excel usando IronXL
Abajo está el programa para renombrar todos los archivos y hojas de trabajo en un directorio para aplicaciones de negocios.
Input:

using System;
using System.IO;
using IronXL;
namespace RenameExcelSheets
{
public class Program
{
public static void Main()
{
Console.WriteLine("Demo Rename Excel Sheets Using IronXL");
Console.WriteLine("Enter Folder where Excel Files are present to rename to FinancialReport2024");
// Getting input folder path from user
var folderPath = Console.ReadLine();
// Check if the provided path is not empty
if (string.IsNullOrEmpty(folderPath))
{
throw new ArgumentException("Path is empty");
}
// Check if the given folder path exists
if (!Directory.Exists(folderPath))
{
throw new ArgumentException("Path is Wrong");
}
// Get all files in the directory
var files = Directory.GetFiles(folderPath);
// Define output directory for renamed files
var outputPath = Path.Combine(folderPath, "output");
Directory.CreateDirectory(outputPath); // Ensures the output directory exists
var index = 0;
foreach (var file in files)
{
// Load an existing Excel file
WorkBook workBook = WorkBook.Load(file);
// Select the first worksheet (index 0)
WorkSheet workSheet = workBook.WorkSheets[0];
// Rename the worksheet
workSheet.Name = "FinancialReport2024"; // change the name property
// Save the modified workbook with a new name in the output folder
workBook.SaveAs(Path.Combine(outputPath, $"FinancialReport2024_{index++}.xlsx"));
}
}
}
}using System;
using System.IO;
using IronXL;
namespace RenameExcelSheets
{
public class Program
{
public static void Main()
{
Console.WriteLine("Demo Rename Excel Sheets Using IronXL");
Console.WriteLine("Enter Folder where Excel Files are present to rename to FinancialReport2024");
// Getting input folder path from user
var folderPath = Console.ReadLine();
// Check if the provided path is not empty
if (string.IsNullOrEmpty(folderPath))
{
throw new ArgumentException("Path is empty");
}
// Check if the given folder path exists
if (!Directory.Exists(folderPath))
{
throw new ArgumentException("Path is Wrong");
}
// Get all files in the directory
var files = Directory.GetFiles(folderPath);
// Define output directory for renamed files
var outputPath = Path.Combine(folderPath, "output");
Directory.CreateDirectory(outputPath); // Ensures the output directory exists
var index = 0;
foreach (var file in files)
{
// Load an existing Excel file
WorkBook workBook = WorkBook.Load(file);
// Select the first worksheet (index 0)
WorkSheet workSheet = workBook.WorkSheets[0];
// Rename the worksheet
workSheet.Name = "FinancialReport2024"; // change the name property
// Save the modified workbook with a new name in the output folder
workBook.SaveAs(Path.Combine(outputPath, $"FinancialReport2024_{index++}.xlsx"));
}
}
}
}Imports System
Imports System.IO
Imports IronXL
Namespace RenameExcelSheets
Public Class Program
Public Shared Sub Main()
Console.WriteLine("Demo Rename Excel Sheets Using IronXL")
Console.WriteLine("Enter Folder where Excel Files are present to rename to FinancialReport2024")
' Getting input folder path from user
Dim folderPath = Console.ReadLine()
' Check if the provided path is not empty
If String.IsNullOrEmpty(folderPath) Then
Throw New ArgumentException("Path is empty")
End If
' Check if the given folder path exists
If Not Directory.Exists(folderPath) Then
Throw New ArgumentException("Path is Wrong")
End If
' Get all files in the directory
Dim files = Directory.GetFiles(folderPath)
' Define output directory for renamed files
Dim outputPath = Path.Combine(folderPath, "output")
Directory.CreateDirectory(outputPath) ' Ensures the output directory exists
Dim index = 0
For Each file In files
' Load an existing Excel file
Dim workBook As WorkBook = WorkBook.Load(file)
' Select the first worksheet (index 0)
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Rename the worksheet
workSheet.Name = "FinancialReport2024" ' change the name property
' Save the modified workbook with a new name in the output folder
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: workBook.SaveAs(Path.Combine(outputPath, string.Format("FinancialReport2024_{0}.xlsx", index++)));
workBook.SaveAs(Path.Combine(outputPath, $"FinancialReport2024_{index}.xlsx"))
index += 1
Next file
End Sub
End Class
End NamespaceExplicación del código
- El programa pide al usuario que ingrese una ruta de carpeta donde están ubicados los archivos de Excel.
- Verifica si la ruta de la carpeta es una cadena vacía y si la carpeta realmente existe.
- Recupera todos los archivos de la carpeta especificada.
- Itera a través de estos archivos, cargando cada uno en un objeto WorkBook de la biblioteca IronXL.
- Para cada libro, renombra la primera hoja de trabajo.
- Guarda cada libro modificado en una carpeta "output" dentro de la carpeta original.
Output
En la siguiente salida, puedes ver que los 3 archivos son renombrados y la hoja de Excel dentro de ellos también es renombrada a FinancialReport2024.

Las ventajas de cambiar el nombre de las hojas de Excel mediante programación incluyen:
- Eficiencia: La automatización reduce el esfuerzo manual y los errores humanos asociados con el renombrado manual, ahorrando tiempo y recursos.
- Consistencia: El renombrado automatizado asegura uniformidad y adhesión a las convenciones de nomenclatura a través de las hojas, mejorando la organización y legibilidad de los datos.
- Escalabilidad: Renombrar hojas programáticamente permite el renombrado masivo y escalabilidad, haciéndolo adecuado para manejar grandes conjuntos de datos o tareas repetitivas.
- Integración: La integración con flujos de trabajo o aplicaciones existentes permite un procesamiento de datos sin fisuras y mejora la productividad general.
- Personalización: La automatización proporciona flexibilidad para personalizar la lógica de renombrado basada en requisitos o criterios de negocio específicos.
Licencias
IronXL es una biblioteca empresarial que funciona con un acuerdo de licencia. Más sobre la licencia puede encontrarse aquí. La clave de licencia debe colocarse en el archivo appsettings.json aquí.
{
"IronXL.License.LicenseKey" : "IRONXL-MYLICENSE-KEY-1EF01"
}Conclusión
Renombrar archivos de Excel usando C# es un proceso sencillo. Al aprovechar la biblioteca IronXL de Iron Software, puedes renombrar fácilmente archivos de Excel dentro de tus aplicaciones C#. Esta biblioteca es una herramienta útil para desarrolladores para todas las operaciones de hojas de Excel, ya sea leer, escribir, o gestionar.
Ahora que has aprendido cómo renombrar archivos de Excel programáticamente, puedes incorporar esta característica en tus proyectos C# para optimizar las tareas de gestión de archivos y mejorar las capacidades de automatización.
Preguntas Frecuentes
¿Cómo puedo renombrar una hoja de cálculo de Excel en C# sin usar Interop?
Puede renombrar una hoja de cálculo de Excel en C# sin usar Interop utilizando la biblioteca IronXL. Cargue su archivo de Excel en un objeto WorkBook, seleccione la hoja de trabajo que desea renombrar y asigne su nuevo nombre a través de la propiedad Name.
¿Cuáles son los beneficios de usar IronXL para la manipulación de archivos de Excel?
IronXL ofrece potentes capacidades para la manipulación de archivos de Excel, como lectura, edición y creación de archivos de Excel sin necesidad de Microsoft Excel o Interop. Soporta varios formatos como XLSX y CSV, ofrece una API fácil de usar y permite la automatización e integración en proyectos .NET.
¿Es posible automatizar tareas de Excel en C#?
Sí, usando la biblioteca IronXL, puede automatizar varias tareas de Excel en C#, como renombrar hojas de cálculo, leer valores de celdas, calcular agregados y más, todo sin necesidad de Microsoft Excel.
¿Qué pasos están involucrados en la configuración de IronXL para un proyecto en C#?
Para configurar IronXL en un proyecto en C#, primero cree un proyecto en Visual Studio, luego instale la biblioteca IronXL usando el Administrador de Paquetes NuGet con el comando: dotnet add package IronXL.Excel --version 2024.4.4. Puede entonces empezar a usar sus funciones para manipular archivos de Excel.
¿Puede IronXL manejar múltiples formatos de Excel?
Sí, IronXL soporta múltiples formatos de Excel, incluyendo XLSX, XLS, XLSM, XLTX, CSV y TSV, lo que permite diversas capacidades de manipulación de archivos en aplicaciones .NET.
¿Necesito una licencia para usar IronXL en mi proyecto?
Sí, se requiere una licencia para usar IronXL en su proyecto. Una vez que tenga una clave de licencia, debería colocarse en el archivo appsettings.json de su proyecto para habilitar la funcionalidad completa.
¿Cómo soluciono problemas comunes al usar IronXL?
Los problemas comunes al usar IronXL a menudo pueden resolverse asegurándose de que la biblioteca esté correctamente instalada y configurada, comprobando si hay actualizaciones y consultando la documentación oficial para obtener orientación sobre funcionalidades específicas.
¿Qué ventajas ofrece renombrar hojas de cálculo de Excel programáticamente?
Renombrar hojas de cálculo de Excel programáticamente mejora la eficiencia y escalabilidad, proporciona consistencia, se integra perfectamente con los flujos de trabajo existentes y permite la personalización según las necesidades específicas del negocio.






