在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
以编程方式修改 Excel 电子表格可能很困难,主要有两个原因。首先,在处理电子表格时,用户必须保持一致的界面和文档结构,而这并不总是那么简单。其次,在特定情况下,尤其是涉及复杂计算时,并不总是很清楚哪种代码能起作用。以编程方式创建 Excel 文件之所以困难重重,原因有很多。程序员必须首先将 Excel 文档中的数据转换为可读格式,然后解析数据并将其返回,这就更加困难了。我想出了解决这个问题的办法。我将教你如何制作 Excel 文件,并使用 IronXL .NET Excel 库以编程方式将 Datatable 输出到 Excel 表单中。让我们开始吧
数据行
的 数据表
在C#中价值
中的财产 细胞
的数据填充工作表 数据行
要使用 IronXL 库,我们必须在 Visual Studio 中创建一个 .NET 项目。您可以使用任何版本的 Visual Studio,但建议使用最新版本。您可以根据自己的需求创建类似 Windows 窗体的应用程序或不同的项目模板。为简单起见,我将在本教程中使用控制台应用程序。
在 Visual Studio 中创建新项目用户界面
接下来,输入项目名称和项目位置。
创建新项目的配置步骤
接下来,选择下面的框架。在本项目中,我们将使用 .NET Core 6。
.Net框架选择用户界面
应用程序创建解决方案后,将打开 program.cs 文件,在此输入代码并构建/运行应用程序。
在新项目中空出 program.cs 文件
接下来,我们可以添加库来测试代码。
可以通过四种方式下载和安装 IronXL 库。
它们是
我们可以使用 NuGet 包管理器安装 IronXL 库。首先必须打开 NuGet 包管理器,然后在浏览选项卡中搜索 IronXL。从搜索结果中选择 IronXL 并安装。之后,我们的项目就可以在 IronXL 库中使用了。
下面的截图显示了我们如何在 Visual Studio 中打开 NuGet 包管理器。
在 Visual Studio 中导航到 NuGet 包管理器
搜索结果中的 IronXL:
搜索 IronXL 图书馆
很多人都喜欢使用控制台来执行操作。因此,我们也可以通过控制台安装它。请按照以下步骤通过命令行安装 IronXL。
Install-Package IronXL.Excel
现在,软件包将下载/安装到当前项目,并可随时使用。
通过控制台安装 IronXL 软件包
第三种方法是直接从网站下载 NuGet 软件包。
点击链接 下载最新软件包 直接从网站下载。下载后,请按照以下步骤将软件包添加到项目中。
IronXL 允许我们通过有限的步骤将数据表轻松导出到 Excel 文件。
首先,我们需要包含 IronXL 的命名空间,如下面的代码截图所示。添加后,我们就可以在代码中使用 IronXL 类和方法了。
在使用该库之前,请先包含 IronXL 的 "名称空间 "
IronXL 允许我们创建 Excel 文件并将其转换为工作簿对象。将其转换为对象后,我们可以执行各种类型的操作。在下面的示例代码中,我们将把 Datatable 转换为 Excel 工作表,然后创建 Excel 文件。
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
Dim table As New DataTable()
table.Columns.Add("DataSet_Animal", GetType(String))
table.Rows.Add("Lion")
table.Rows.Add("Tiger")
table.Rows.Add("Cat")
table.Rows.Add("Goat")
table.Rows.Add("Panther")
table.Rows.Add("Fox")
table.Rows.Add("Cheetah")
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
rowCount += 1
Next row
wb.SaveAsCsv(filePath, ";")
End Sub
在上述代码中,我们将数据表导出为 Excel 文件。首先,我们创建一个 DataTable
,然后创建列标题。创建列后,我们逐一添加列。添加完列后,我们将创建 工作簿 对象。通过使用该对象,我们可以将数据添加到 Excel 表中,然后将数据保存到相应位置。我们正在创建 工作表 对象,该对象允许创建工作表,然后我们可以将其添加到 WorkBook
对象中。
我们使用 foreach
循环逐个读取数据表中的值,然后将值添加到工作表中。将所有值添加到工作表后,我们将使用名为 SaveAsCSV 的方法将它们保存到 CSV 文件中,我们需要将分隔符和文件名以及位置作为参数传递。分隔符是一个可选参数,如果不需要,我们可以忽略它。
在 Visual Studio 中完成的代码
以上是我们在 .NET core 6 上使用的代码的完整截图。
结果:
在 Microsoft Excel 中打开文件时的结果
以上是代码示例的执行结果。在截图中,数据表中的所有数据已逐一添加到新创建的 Excel 表中。
IronXL 是最常用的 Excel 库之一。它不依赖于任何其他第三方库。它是独立的,无需安装 MS Excel。它可在多个平台上运行。IronXL 的入门价格为 $749。此外,它还提供为期一年的产品支持和更新费用选项。IronXL 还提供免版税的再分发服务,但需支付额外费用。要了解更多价格详情,请访问我们的 许可页面.