跳至页脚内容
使用 IRONXL

如何在 C# 中重命名 Excel 工作表

Renaming Excel files programmatically is a common task in various applications. Whether you're organizing files, automating tasks, or managing data, having the ability to rename Excel files through code can be highly beneficial. In this article, we'll explore how to rename Excel files using IronXL library from Iron Software.

How to Rename Excel WorkSheet in C#

  1. Create a Visual Studio Project to rename Excel sheets.
  2. Install IronXL library from Iron Software.
  3. Rename Excel sheets using IronXL.

IronXL library from Iron Software

IronXL is a powerful C# Excel library developed by Iron Software. It allows you to work with Excel documents in your .NET projects without the need for Microsoft Office or Excel Interop.

Key Features of IronXL

  1. Read, Edit, and Create Excel Files: IronXL enables you to read, generate, and edit Excel spreadsheet files (including XLSX, XLS, XLSM, XLTX, CSV, and TSV formats) directly from your C# or VB.NET code.
  2. No Office Interop Required: You won’t need to install Microsoft Office or deal with the complexities of Office Interop. IronXL provides a hassle-free experience.
  3. Cross-Platform Support: IronXL is designed for .NET 8, 7, 6, Core, Framework, and Azure. Whether you’re building console applications, web apps, or desktop software, IronXL has you covered.
  4. User-Friendly API: The intuitive API allows you to perform tasks like reading cell values, calculating aggregate values, working with formulas, creating charts, and more. Let’s briefly examine an example:

    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
  5. Excel Functionality Without the Hassle: IronXL allows you to create, load, save, and manipulate spreadsheets effortlessly. Whether you’re dealing with metadata, permissions, formulas, or styling, IronXL simplifies the process.

Remember, IronXL is trusted by millions of engineers worldwide for its accuracy, ease of use, and speed. If you’re working with Excel files in C# or VB.NET, IronXL is your go-to library!

Setting Up the Environment

Before diving into the coding part, make sure you have the necessary tools installed:

  1. Visual Studio: Install Visual Studio or any other preferred C# IDE.
  2. Microsoft Excel: Make sure Microsoft Excel is installed on your system.

To demonstrate a real-world example of renaming an Excel file, let us write a program to take a folder containing all the files to rename and use IronXL to rename all the files, then store them in the output folder.

Step 1: Create Visual Studio Project to rename Excel sheets.

Open Visual Studio and create a new project for the demo. Select Console app from the below template.

How to Rename Excel WorkSheet in C#: Figure 1 - Creating a Console app

Provide names to the Project and path to store the files.

How to Rename Excel WorkSheet in C#: Figure 2 - Name the project

Select the required .NET version.

How to Rename Excel WorkSheet in C#: Figure 3 - Select the required .NET version

Step 2: Install IronXL library from Iron Software.

IronXL library can be installed from Visual Studio Package manager as below.

How to Rename Excel WorkSheet in C#: Figure 4 - Searching for IronXL using NuGet Package Manager

Or can be installed from NuGet Package Manager with command.

dotnet add package IronXL.Excel --version 2024.4.4

How to Rename Excel WorkSheet in C#: Figure 5 - IronXL homepage

Once installed the project is ready to start coding for renaming Excel worksheets.

Step 3: Rename Excel sheets using IronXL

Below is the program to rename all the files and worksheets in a directory for business applications.

Input:

How to Rename Excel WorkSheet in C#: Figure 6 - Example Excel worksheet input for renaming

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 Namespace
$vbLabelText   $csharpLabel

Code Explanation

  1. The program prompts the user to enter a folder path where Excel files are located.
  2. It checks if the folder path is an empty string and if the folder actually exists.
  3. It retrieves all the files from the specified folder.
  4. It iterates through these files, loading each one into a WorkBook object from the IronXL library.
  5. For each workbook, it renames the first worksheet.
  6. It saves each modified workbook in an "output" folder within the original folder.

Output

In the below output, you can see all the 3 files are renamed and the Excel sheet inside them is also renamed to FinancialReport2024.

How to Rename Excel WorkSheet in C#: Figure 7 - Example output showcasing all the Excel worksheets being renamed using IronXL

Advantages of renaming Excel sheets programmatically include

  • Efficiency: Automation reduces manual effort and human errors associated with manual renaming, saving time and resources.
  • Consistency: Automated renaming ensures uniformity and adherence to naming conventions across sheets, enhancing data organization and readability.
  • Scalability: Programmatically renaming sheets allows for bulk renaming and scalability, making it suitable for handling large datasets or repetitive tasks.
  • Integration: Integration with existing workflows or applications enables seamless data processing and enhances overall productivity.
  • Customization: Automation provides flexibility to customize renaming logic based on specific business requirements or criteria.

Licensing

IronXL is an enterprise library that works with a license agreement. More on license can be found here. The license key needs to be placed in the appsettings.json file here.

{
  "IronXL.License.LicenseKey" : "IRONXL-MYLICENSE-KEY-1EF01"
}

Conclusion

Renaming Excel files using C# is a straightforward process. By leveraging the IronXL library from Iron Software, you can easily rename Excel files within your C# applications. This library is a handy tool for developers for all Excel sheet operations, be it reading, writing, or managing.

Now that you've learned how to rename Excel files programmatically, you can incorporate this feature into your C# projects to streamline file management tasks and improve automation capabilities.

常见问题解答

如何在 C# 中不使用 Interop 来重命名 Excel 工作表?

您可以通过使用 IronXL 库在 C# 中不使用 Interop 重命名 Excel 工作表。将您的 Excel 文件加载到 WorkBook 对象中,选择要重命名的工作表,并通过 Name 属性设置其新名称。

使用 IronXL 操作 Excel 文件有什么好处?

IronXL 提供强大的 Excel 文件处理能力,例如读取、编辑和创建 Excel 文件,无需 Microsoft Excel 或 Interop。它支持多种格式,如 XLSX 和 CSV,提供用户友好的 API,并允许自动化和集成到 .NET 项目中。

是否可以在 C# 中自动化 Excel 任务?

可以,使用 IronXL 库,您可以在 C# 中自动化各种 Excel 任务,例如重命名工作表、读取单元格值、计算汇总等,而无需 Microsoft Excel。

有哪些步骤涉及在 C# 项目中设置 IronXL?

要在 C# 项目中设置 IronXL,首先创建一个 Visual Studio 项目,然后使用命令 dotnet add package IronXL.Excel --version 2024.4.4 使用 NuGet 包管理器安装 IronXL 库。然后,您可以开始使用其功能来操作 Excel 文件。

IronXL 能处理多种 Excel 格式吗?

可以,IronXL 支持多种 Excel 格式,包括 XLSX、XLS、XLSM、XLTX、CSV 和 TSV,从而在 .NET 应用程序中实现多样化的文件处理能力。

我需要许可证才能在我的项目中使用 IronXL 吗?

是的,使用 IronXL 在您的项目中需要许可证。一旦您有了许可证密钥,应将其放在项目的 appsettings.json 文件中,以启用全部功能。

如何解决使用 IronXL 时的常见问题?

使用 IronXL 时的常见问题通常可以通过确保库正确安装和配置、检查更新以及查阅官方文档中有关特定功能的指南来解决。

程序化重命名 Excel 工作表有何优势?

程序化重命名 Excel 工作表能够提高效率和可扩展性,提供一致性,能够无缝集成到现有的工作流中,并根据具体的业务需求进行定制。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。