使用 IRONXL 如何在 C# 中写入 CSV 文件 Curtis Chau 已更新:六月 22, 2025 Download IronXL NuGet 下载 DLL 下载 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article will explore how to write a CSV file using IronXL. IronXL Library IronXL is a .NET Excel library that offers comprehensive functionality for creating, reading, and editing spreadsheet files in C# applications. It excels in terms of performance and output accuracy. It supports various spreadsheet workbook file formats such as XLS, XLSX, XLSM, CSV, and TSV. Additionally, it enables you to save or export data from Excel files to formats like CSV, JSON, HTML, Binary, Byte Array, DataSet, or DataTable. With IronXL, developers can seamlessly work with worksheets and cell ranges, providing an elegant approach to manipulating data. It allows for easy editing of formulas and facilitates the recalculation of formulas within a sheet. Sorting data based on range, column, or row is straightforward. You can also modify layouts by freezing panes, auto-sizing rows/columns, and adding/removing rows/columns. IronXL offers the ability to protect Excel files with user passwords and set permissions for editing. Furthermore, it provides features to add, remove, and extract images from Excel worksheets. The library includes a wide range of Excel functions, supporting various cell data formats. This makes IronXL one of the most intuitive APIs for working with Excel files. A notable advantage of IronXL is that it does not require Microsoft Excel or Office Interop dependencies to be installed on the machine. It is a self-contained solution that works across multiple platforms and is compatible with .NET versions 7, 6, and 5. It also supports .NET Core 2 and 3, as well as the standard 2 version. For working with Excel spreadsheets, IronXL is compatible with .NET Framework 4.5 and later versions. Create a Console Application Visual Studio's latest version is recommended for creating an application to start with. Visual Studio is the official IDE for C# development, and you must have installed it. You can download it from the Microsoft Visual Studio website, if not installed. The following steps will create a new project named "DemoApp". Open Visual Studio and click on "Create a New Project". Open Visual Studio Select Console Application and click "Next". Create a new project in Visual Studio Set the name of the project Configure your new project Select the .NET version. Choose the stable version .NET 6.0. .NET Framework selection Install IronXL Library Once the project is created, the IronXL library needs to be installed in the project to use it. Follow these steps to install it. Open NuGet Package Manager either from the Solution Explorer or tools. Navigate to NuGet Package Manager Browse for IronXL Library and select the current project. Click install. Search and install the IronXL package in NuGet Package Manager UI Add the following namespace at the top of Program.cs file: using IronXL; using IronXL; Imports IronXL $vbLabelText $csharpLabel Create a New Workbook in C# IronXL provides the facility to create an empty workbook. A workbook is a spreadsheet which contains multiple worksheets. The data is stored in cells. CSV also looks like a spreadsheet but instead with a CSV file extension. // Creates a new instance of WorkBook Spreadsheet WorkBook workBook = WorkBook.Create(); // Creates a new instance of WorkBook Spreadsheet WorkBook workBook = WorkBook.Create(); ' Creates a new instance of WorkBook Spreadsheet Dim workBook As WorkBook = WorkBook.Create() $vbLabelText $csharpLabel Now, let's create a sheet in the WorkBook. There are multiple ways to create a worksheet in the workbook. // Adds a default sheet to the workbook WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Creates a worksheet with the name "Sheet1" WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Adds a default sheet to the workbook WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Creates a worksheet with the name "Sheet1" WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); ' Adds a default sheet to the workbook Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet ' Creates a worksheet with the name "Sheet1" Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1") $vbLabelText $csharpLabel If you want to add more sheets to your existing workbook, then use the CreateWorkSheet method. Note: You can use WorkBook.LoadCSV method if the CSV file already exists. You can see this code example page for loading an existing CSV file. Write Data to the WorkSheet Writing CSV files is easy using IronXL. It provides Excel features to write data to CSVs. Cell references can be used to add the values at specified locations. Here, I'm going to add a few records of some employees using a foreach loop. // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } ' Initialize an array of employee names Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" } ' Starting row for data entry Dim i As Integer = 2 ' Setting header titles for the columns sheet("A1").Value = "ID" sheet("B1").Value = "Name" sheet("C1").Value = "Salary" ' Populate each row with employee data For Each employee In employeeNames ' Set values for ID, Name, and Salary sheet("A" & i).Value = i sheet("B" & i).Value = employee sheet("C" & i).Value = i * 1000 i += 1 Next employee $vbLabelText $csharpLabel In the above code example, an array of employeeNames is created, and the first row is set with headers: ID, Name, Salary. A variable i is also initialized with a value 2, which will enter the records from the 2nd row below the headers. The foreach loop processes each employee from the list and adds them to the current row with ID and salary values. Before the loop completes, i is incremented to move to the next row for the next record. Save the Data to a CSV file The last step is to save the CSV file. IronXL provides the method SaveAsCsv to save the workbook as a CSV file. The first parameter of this method is the CSV file name and the second is the delimiter. // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); ' Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ",") $vbLabelText $csharpLabel The complete code is as follows: using System; using IronXL; class Program { static void Main() { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); } } using System; using IronXL; class Program { static void Main() { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); } } Imports System Imports IronXL Friend Class Program Shared Sub Main() ' Create a new workbook and worksheet Dim workBook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1") ' Initialize an array of employee names Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" } ' Starting row for data entry Dim i As Integer = 2 ' Setting header titles for the columns sheet("A1").Value = "ID" sheet("B1").Value = "Name" sheet("C1").Value = "Salary" ' Populate each row with employee data For Each employee In employeeNames ' Set values for ID, Name, and Salary sheet("A" & i).Value = i sheet("B" & i).Value = employee sheet("C" & i).Value = i * 1000 i += 1 Next employee ' Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ",") End Sub End Class $vbLabelText $csharpLabel Output The output CSV file Summary This article presents a simple approach to writing a CSV file using IronXL in C#. IronXL also provides the facility to work with existing CSV files without any hassle. It also allows you to write CSV files, create new Excel files, and write data to them with simple syntax. IronXL can also be used to read and write Excel files without Microsoft Office installed. For conversion between different spreadsheet formats, you can see this code example page. IronXL is free for development and can be licensed for commercial use. You can also try the IronXL free trial for commercial use. 常见问题解答 如何在C#中将数据写入CSV文件? 您可以使用IronXL的`SaveAsCsv`方法将数据导出为CSV文件。首先,创建一个工作簿和工作表,将数据写入单元格,然后使用`workBook.SaveAsCsv("filename.csv", ",");`将数据保存为CSV文件。 创建一个用于写入CSV文件的控制台应用程序有什么步骤? 要创建一个用于写入CSV文件的控制台应用程序,请在Visual Studio中建立一个新项目,选择适当的.NET版本,并通过NuGet包管理器安装IronXL。然后,使用IronXL创建一个工作簿,向工作表添加数据,并将其保存为CSV。 可以不使用Microsoft Excel写入CSV文件吗? 是的,您可以使用IronXL在不需要Microsoft Excel的情况下写入CSV文件。它允许程序化地操作Excel和CSV文件而无需安装Excel。 如何在 Visual Studio 项目中安装 IronXL? 您可以通过在Visual Studio中打开NuGet包管理器,搜索'IronXL',并点击'Install'将其添加到您的项目中来安装IronXL。这将使您能够利用IronXL的功能来处理Excel和CSV文件。 IronXL支持哪些文件格式导出? IronXL支持将数据导出到多种格式,包括CSV、JSON、HTML、二进制、字节数组、DataSet和DataTable,这使其在不同的数据处理需求中具有通用性。 IronXL与不同的.NET版本兼容吗? 是的,IronXL与多个.NET版本兼容,包括.NET Core 2和3,以及.NET 5、6和7,使开发人员在不同的开发环境中具有灵活性。 我可以将IronXL用于商业项目吗? 是的,IronXL可以被许可用于商业用途。它还提供免费试用以用于开发,使开发人员能够在投入商业许可之前测试其功能。 如何在C#中使用IronXL创建新的工作簿和工作表? 您可以使用`WorkBook.Create()`来初始化一个工作簿对象,然后向其中添加一个新的工作表。这使您可以开始向工作表中写入数据。 IronXL需要任何Office Interop依赖项吗? 不,IronXL是一个独立的库,不需要任何Office Interop依赖项,使其易于在不同平台上的应用程序中使用和部署。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十月 27, 2025 如何在 C# 中创建 Excel 数据透视表 学习通过这个清晰的分步指南使用C# Interop和IronXL在Excel中创建数据透视表。 阅读更多 已发布十月 27, 2025 如何在C#中将DataGridView导出到包含列头的Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多 已发布十月 27, 2025 如何在.NET Core中使用CSV Reader与IronXL 学习通过实际示例有效地使用IronXL作为.NET Core的CSV读取器。 阅读更多 如何在 ASP.NET 中查看 Excel如何在 C# 中使用 Excel 单元...
已发布十月 27, 2025 如何在C#中将DataGridView导出到包含列头的Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多