在 C&num 中创建 XLSX 文件;

This article was translated from English: Does it need improvement?
Translated
View the article in English

随着业务自动化程度的提高,我们经常需要在 .NET 应用程序中使用 Excel 电子表格,包括以编程方式创建电子表格和插入数据。在下面的教程中,我们将学习如何创建不同格式的 Excel 电子表格 (.xls"、".xlsx"、".csv "和".tsv)使用 C# 编程设置单元格样式和插入数据。


如何在 C&num 中创建 XLXL 文件;

1.安装 Excel 库以创建 XLSX 文件。

2.使用 Workbook 对象创建 Excel 文件。

3.选择默认的 "工作表"。

4.向默认 "工作表 "添加数据。

5.将 Excel 文件保存到磁盘。

步骤 1

1.下载 IronXL DLL

IronXL 提供创建 Excel 的最简单方法 (.xlsx) 文件。 下载 DLLNuGet 安装 并免费用于开发。

Install-Package IronXL.Excel

教程

2.创建工作簿

使用该软件,我们可以插入数据,还可以设置单元格属性,如字体样式或边框。

2.1 创建 .XLSX 文件

使用此代码创建工作簿,以生成一个新的 Excel 文件,默认情况下,该文件的扩展名为 .xlsx

/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
'''
'''Create XLSX File
'''anchor-create-a-workbook
'''*
Dim wb As WorkBook = WorkBook.Create()
VB   C#

2.2 创建 .XLS 文件

如果要创建扩展名为".xls "的文件,请使用

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
VB   C#

3.创建 Excel 工作表

以您选择的文件格式创建工作簿后,创建 Excel 工作表。这段代码将在工作簿 wb 中创建一个名称为 sheet1 的新工作表 ws1

WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
VB   C#

3.1 创建多个工作表

可以用同样的方法创建多个工作表:

/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
'''
'''Create WorkSheets
'''anchor-create-an-excel-worksheet
'''*
Dim ws2 As WorkSheet = wb.CreateWorkSheet("sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("sheet3")
VB   C#

4.将数据插入工作表

现在,我们可以轻松地在工作表单元格中插入数据。

 worksheet ["CellAddress"].Value = "MyValue";
 worksheet ["CellAddress"].Value = "MyValue";
worksheet ("CellAddress").Value = "MyValue"
VB   C#

4.1 在特定工作表中插入数据

例如,可以在工作表 ws1 中插入特定数据。下面的代码将在工作表ws1A1单元格中写入Hello World

/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
'''
'''Insert WorkSheet Data
'''anchor-insert-data-into-worksheets
'''*
ws1 ("A1").Value = "Hello World"
VB   C#

4.2 在多个单元格中插入数据

使用 range 函数也可将数据写入多个单元格。下面的代码将从工作表 ws1 中的 A3A8 单元格写入 NewValue

ws1 ["A3:A8"].Value = "NewValue";
ws1 ["A3:A8"].Value = "NewValue";
ws1 ("A3:A8").Value = "NewValue"
VB   C#

5.制作样本项目

我们将创建一个新的 Excel 文件 Sample.xlsx 并在其中插入数据。

/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Project
'''anchor-make-a-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
	ws1 ("A1").Value = "Hello"
	ws1 ("A2").Value = "World"
	ws1 ("B1:B8").Value = "RangeValue"
	wb.SaveAs("Sample.xlsx")
End Sub
VB   C#

注意:默认情况下,新 Excel 文件将在项目的 bin>Debug 文件夹中创建。如果要在自定义路径下创建新文件,请使用

wb.SaveAs(@"E:\IronXL\Sample.xlsx");

下面是我们新创建的 Excel 文件 sample.xlsx 的截图:

由此可见,在 C# 应用程序中使用 IronXL 创建 Excel 文件是多么简单。


6.为 Excel 文件设置 ExcelMetadata

IronXL 还提供为 Excel 文件设置元数据的功能。

/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
'''
'''Set Metadata
'''anchor-set-metadata-for-excel-files
'''*
Dim wb As WorkBook = WorkBook.Create()
wb.Metadata.Author = "AuthorName"
wb.Metadata.Title="TitleValue"
VB   C#

7.设置单元格样式

在 C# 应用程序中设置 Excel 工作表的单元格样式非常简单。IronXL 提供了所有必要的单元格样式属性。

7.1.设置字体样式

字体样式可设置如下:

/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
'''
'''Set Font Style
'''anchor-set-font-style
'''*
WorkSheet ("CellAddress").Style.Font.Bold =True
WorkSheet ("CellAddress").Style.Font.Italic =True
VB   C#

7.2.添加三振出局

为任何单元格值添加删除线的方法如下:

/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
'''
'''Add Strikeout
'''anchor-add-strikeout
'''*
WorkSheet ("CellAddress").Style.Font.Strikeout = True
VB   C#

7.3.设置边框样式

边框样式可通过以下代码完成:

/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
'''
'''Set Border Style
'''anchor-set-border-style
'''*
WorkSheet ("CellAddress").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
VB   C#

8.应用单元格样式示例项目

让我们通过下面的示例项目看看如何设置多个单元格样式并将其整合在一起。

/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Cell Styling Set
'''anchor-apply-cell-styling-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws As WorkSheet = wb.CreateWorkSheet("sheet1")

	ws ("A1").Value = "MyVal"
	ws ("B2").Value = "Hello World"

	ws ("A1").Style.Font.Strikeout = True

	ws ("B2").Style.Font.Bold =True
	ws ("B2").Style.Font.Italic =True

	ws ("C3").Style.TopBorder.Type = IronXL.Styles.BorderType.Double
	ws ("C3").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
	ws ("C3").Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick
	ws ("C3").Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot
	ws ("C3").Style.BottomBorder.SetColor("#ff6600")
	ws ("C3").Style.TopBorder.SetColor("#ff6600")
	wb.SaveAs("Sample.xlsx")
End Sub
VB   C#

下面是我们新创建的 Excel 文件 sample.xlsx 的截图。


9.下一步和 Excel 教程

如果您想深入了解并阅读 .NET Excel 创建的分步指南,请查阅 使用 C# 创建 Excel 文件教程。


教程快速访问

深入了解应用程序接口参考

阅读 IronXL 文档,其中包含对 IronXL 所有命名空间、功能集、类、方法字段和枚举的解释。

查看应用程序接口参考