跳至页脚内容
使用 IRONXL

在 C# 中生成 Excel 文件

我们开发的应用程序不断与Excel电子表格通信,以获取数据进行评估和结果。 能够在C#中以编程方式生成Excel文件非常有帮助,这为我们的开发节省了时间和精力。 在本教程中,我们将学习如何生成不同格式的Excel文件、设置单元格样式,以及使用高效的函数C#编程插入数据。

C# Excel 文件生成器

  • 使用 IronXL 生成 Excel 文件
  • 使用 C# 生成 .XLSX 和 .XLS 格式的 Excel 文件
  • 生成 CSV 文件
  • 在 C# 项目中生成 JSON、XML、TSV 文件等。
How To Work related to 在 C# 中生成 Excel 文件

步骤1

1. 使用IronXL生成Excel文件

使用IronXL Excel for C#库生成Excel文件,为项目中的数据生成和操作提供了一系列函数。 该库可免费用于开发,并在您准备推向上线时提供许可证。要遵循本教程,您可以下载用于生成的IronXL,或通过Visual Studio和NuGet库访问。


dotnet add package IronXL.Excel

如何使用教程

2. C# Excel文件生成器概述

在业务应用程序开发中,我们经常需要以编程方式生成不同类型的Excel文件。 为此,我们需要最简单和最快捷的方式生成不同类型的文件,并自动将其保存到所需位置。

安装IronXL后,我们可以使用功能生成不同的Excel文件类型

  • 具有.xlsx扩展名的Excel文件。
  • 具有.xls扩展名的Excel文件。
  • 逗号分隔值(.csv)文件。
  • 制表符分隔值(.tsv)文件。
  • JavaScript对象表示法(.json)文件。
  • 可扩展标记语言(.xml)文件。

要生成任何类型的文件,首先需要创建一个Excel WorkBook

// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
' Generate a new WorkBook
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

上述代码行将创建一个名为wb的新WorkBook。 现在我们将创建一个WorkSheet对象。

// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
' Generate a new WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("SheetName")
$vbLabelText   $csharpLabel

这将创建一个名为wsWorkSheet,我们可以使用它在Excel文件中插入数据。


3. 生成XLSX文件C

首先,我们按照上述步骤生成WorkBookWorkSheet

然后,我们将数据插入其中以创建我们的.xlsx扩展文件。为此,IronXL提供了一种单元格地址系统,允许我们以编程方式将数据插入到特定的单元格地址中。

// Insert data by cell addressing
ws["CellAddress"].Value = "MyValue";
// Insert data by cell addressing
ws["CellAddress"].Value = "MyValue";
' Insert data by cell addressing
ws("CellAddress").Value = "MyValue"
$vbLabelText   $csharpLabel

它将在特定的单元格地址中插入一个新值"MyValue"。 同样地,我们可以根据需要插入数据到任意多个单元格中。之后,我们将Excel文件保存到指定路径,如下所示:

// Specify file path and name
wb.SaveAs("Path + FileName.xlsx");
// Specify file path and name
wb.SaveAs("Path + FileName.xlsx");
' Specify file path and name
wb.SaveAs("Path + FileName.xlsx")
$vbLabelText   $csharpLabel

这将在指定路径创建一个具有.xlsx扩展名的新Excel文件。 保存时不要忘记在文件名中写上.xlsx扩展名。

要更深入了解如何在C#项目中创建Excel WorkBook,请查看这里的代码示例。

/**
 * Generate XLSX File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook of .xlsx Extension
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create workSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";
        ws["C4"].Value = "IronXL";

        // Save the file as .xlsx
        wb.SaveAs("sample.xlsx");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate XLSX File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook of .xlsx Extension
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create workSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";
        ws["C4"].Value = "IronXL";

        // Save the file as .xlsx
        wb.SaveAs("sample.xlsx");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate XLSX File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook of .xlsx Extension
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Create workSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "Hello"
		ws("A2").Value = "World"
		ws("C4").Value = "IronXL"

		' Save the file as .xlsx
		wb.SaveAs("sample.xlsx")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

您可以在此处查看新创建的Excel文件sample.xlsx的截图:

在C#中生成Excel文件,图1:修改值后的单元格C4的结果 修改值后的单元格C4的结果


4. 生成XLS文件C

也可以使用IronXL生成.xls文件。 为此,我们将使用WorkBook.Create()函数,如下所示:

// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
' Create a workbook with XLS format
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

这将创建一个具有.xls扩展名的新Excel文件。 请记住,在为Excel文件分配名称时,必须在文件名中写上.xls扩展名,如下所示:

// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
' Save the file as .xls
wb.SaveAs("Path + FileName.xls")
$vbLabelText   $csharpLabel

现在,让我们看一下如何生成具有.xls扩展名的Excel文件的示例:

/**
 * Generate XLS File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook of .xls Extension
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .xls
        wb.SaveAs("sample.xls");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate XLS File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook of .xls Extension
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .xls
        wb.SaveAs("sample.xls");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate XLS File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook of .xls Extension
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)

		' Create WorkSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "Hello"
		ws("A2").Value = "World"

		' Save the file as .xls
		wb.SaveAs("sample.xls")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

5. 生成CSV文件C

逗号分隔值(.csv)文件在各种类型的组织中保存数据方面也发挥着非常重要的作用。 因此,我们也需要学习如何生成.csv文件,并以编程方式插入数据。

我们可以使用与上述相同的过程,但在保存时需要在文件名中指定.csv扩展名。 让我们看一下在我们的C#项目中如何创建.csv文件的示例:

/**
 * Generate CSV File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .csv
        wb.SaveAsCsv("sample.csv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate CSV File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .csv
        wb.SaveAsCsv("sample.csv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate CSV File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook
		Dim wb As WorkBook = WorkBook.Create()

		' Create WorkSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "Hello"
		ws("A2").Value = "World"

		' Save the file as .csv
		wb.SaveAsCsv("sample.csv")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

为了能够与CSV文件进行更多交互,您可以按照本教程了解读取.csv文件


6. 生成TSV文件C

有时我们需要生成制表符分隔值(.tsv)文件,并以编程方式插入数据。

使用IronXL,我们也可以生成.tsv扩展文件,将数据插入其中,然后将其保存到所需位置。

让我们看看如何生成.tsv扩展文件的示例:

/**
 * Generate TSV File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .tsv
        wb.SaveAsTsv("sample.tsv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate TSV File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .tsv
        wb.SaveAsTsv("sample.tsv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate TSV File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook
		Dim wb As WorkBook = WorkBook.Create()

		' Create WorkSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "Hello"
		ws("A2").Value = "World"

		' Save the file as .tsv
		wb.SaveAsTsv("sample.tsv")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

7. 生成JSON文件C

我们可以自信地说,JavaScript对象表示法(.json)文件是最常见的数据文件,几乎在所有软件开发公司中使用。 因此,我们经常需要以JSON格式保存数据。 为此,我们需要最简单的方法来生成JSON格式文件并将数据插入其中。

在这种情况下,IronXL是最好的选择,我们可以轻松地为C#生成这些文件。 我们来看一个例子。

/**
 * Generate JSON File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "1";
        ws["A2"].Value = "john";
        ws["B1"].Value = "2";
        ws["B2"].Value = "alex";
        ws["C1"].Value = "3";
        ws["C2"].Value = "stokes";

        // Save the file as .json
        wb.SaveAsJson("sample.json");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate JSON File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "1";
        ws["A2"].Value = "john";
        ws["B1"].Value = "2";
        ws["B2"].Value = "alex";
        ws["C1"].Value = "3";
        ws["C2"].Value = "stokes";

        // Save the file as .json
        wb.SaveAsJson("sample.json");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate JSON File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook
		Dim wb As WorkBook = WorkBook.Create()

		' Create WorkSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "1"
		ws("A2").Value = "john"
		ws("B1").Value = "2"
		ws("B2").Value = "alex"
		ws("C1").Value = "3"
		ws("C2").Value = "stokes"

		' Save the file as .json
		wb.SaveAsJson("sample.json")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

并查看新创建的JSON文件sample.json的截图:

在C#中生成Excel文件,图2:导航到Visual Studio中的NuGet包管理器 导航到Visual Studio中的NuGet包管理器


8. 生成XML文件C

在业务应用程序开发中,我们经常需要以可扩展标记语言(.xml)文件格式保存数据。 这很重要,因为.xml文件数据可供人和机器读取。

通过以下示例,我们将学习如何为C#生成.xml文件并以编程方式插入数据。

/**
 * Generate XML File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .xml
        wb.SaveAsXml("sample.xml");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate XML File
 */
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create new WorkBook
        WorkBook wb = WorkBook.Create();

        // Create WorkSheet
        WorkSheet ws = wb.CreateWorkSheet("Sheet1");

        // Insert data in the cells of WorkSheet
        ws["A1"].Value = "Hello";
        ws["A2"].Value = "World";

        // Save the file as .xml
        wb.SaveAsXml("sample.xml");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate XML File
''' 
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create new WorkBook
		Dim wb As WorkBook = WorkBook.Create()

		' Create WorkSheet
		Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")

		' Insert data in the cells of WorkSheet
		ws("A1").Value = "Hello"
		ws("A2").Value = "World"

		' Save the file as .xml
		wb.SaveAsXml("sample.xml")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

您可以阅读更多关于以编程方式将Excel电子表格和文件转换用于C#项目的内容。

IronXL库还提供广泛的功能以与Excel文件进行互动,例如单元格数据格式化合并单元格插入数学函数,甚至还有管理图表。


教程快速访问

IronXL 生成器文档

请阅读完整文档,了解 IronXL 如何生成 C# 项目所需的所有 Excel 格式的文件。

IronXL 生成器文档
Documentation related to 教程快速访问

常见问题解答

如何在 C# 中生成 Excel 文件?

您可以使用 IronXL 在 C# 中生成 Excel 文件。首先创建一个工作簿和工作表,使用单元格地址系统插入数据,并使用 IronXL 的方法以所需格式保存文件。

以编程方式在 C# 中操作 Excel 文件的步骤是什么?

要在 C# 中以编程方式操作 Excel 文件,请通过 NuGet 包管理器安装 IronXL,创建工作簿和工作表,使用 C# 代码插入和操作数据,并以您喜欢的文件格式保存更改。

如何使用 C# 将 Excel 文件保存为 JSON?

使用IronXL,您可以通过创建WorkBook和WorkSheet,添加必要的数据,并使用SaveAsJson方法将文件导出为JSON格式,来将Excel文件保存为JSON。

我可以使用 C# 将 Excel 文件转换为 CSV 吗?

是的,IronXL允许您在C#中将Excel文件转换为CSV。您需要将Excel文件加载到一个WorkBook中,按需处理,然后使用SaveAsCsv方法导出。

我可以使用 C# 将 Excel 数据导出为哪些格式?

使用 IronXL,您可以将 Excel 数据导出为多种格式,如 XLSX、CSV、TSV、JSON 和 XML。此多功能性对 C# 项目中的不同数据处理需求非常有利。

如何在 C# 中安装 IronXL 以进行 Excel 操作?

要在C#中为Excel操作安装IronXL,请使用Visual Studio中的NuGet包管理器,命令为dotnet add package IronXL.Excel

IronXL 适合涉及 Excel 文件的商业应用吗?

IronXL 非常适合商业应用,因为它简化了以编程方式生成和操作 Excel 文件的过程,提高了自动化数据处理任务的效率。

我可以在开发过程中免费使用 IronXL 吗?

IronXL 在开发过程中是免费使用的。但是,当您准备部署或在生产环境中使用该库时,需要获得许可证。

如何在 C# 生成 Excel 文件时设置单元格样式?

使用 IronXL 时,您可以通过库中提供的方法设置属性如字体大小、颜色和样式,来对生成的 Excel 文件中的单元格进行样式设置。

我可以在 C# 中从 Excel 数据生成 XML 文件吗?

是的,您可以使用IronXL从Excel数据生成XML文件。在将您的数据准备好在WorkBook和WorkSheet中后,使用SaveAsXml方法将数据导出为XML格式。

Curtis Chau
技术作家

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

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