在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
以编程方式修改 Excel 电子表格可能会很困难,主要有两个原因。 首先,在处理电子表格时,用户必须保持一致的界面和文档结构,这并不总是那么简单。 其次,在特定情况下,尤其是涉及复杂计算时,并不总是很清楚哪种代码可以工作。 以编程方式创建 Excel 文件之所以困难,原因有很多。 程序员必须首先将 Excel 文档中的数据转换为可读格式,然后再对数据进行解析和回译,这就更加困难了。 我想出了一个解决这个问题的办法。 我将教你如何使用 IronXL for .NET Excel 库制作 Excel 文件,并以编程方式将 Datatable 顺利导出到 Excel 表。 让我们开始吧:
DataTable
的DataRow
Cell
中的Value
属性,并使用DataRow
中的数据填充工作表要使用 IronXL 库,我们必须在 Visual Studio 中创建一个 .NET 项目。 您可以使用任何版本的 Visual Studio,但建议使用最新版本。 您可以根据自己的要求创建类似 Windows 窗体的应用程序或不同的项目模板。 为简单起见,我将在本教程中使用控制台应用程序。
在Visual Studio中创建一个新项目UI
接下来,输入项目名称和项目位置。
创建新项目的配置步骤
接下来,选择下面的框架。 在本项目中,我们将使用 .NET Core 6。
.Net Framework 选择界面
应用程序创建解决方案后,将打开 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 允许我们通过有限的步骤将 Datatables 轻松导出为 Excel 文件。
首先,我们需要包含 IronXL 的命名空间,如下面的代码截图所示。 添加完成后,我们就可以在代码上使用 IronXL 类和方法了。
在使用库之前包含 IronXL 的namespace
IronXL.Excel 允许我们创建 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
,然后我们创建列标题。 创建栏目后,我们逐一添加栏目。 一旦我们添加了列,就创建WorkBook
对象。 通过使用对象,我们可以将数据添加到 Excel 表中,然后将数据保存到相应位置。 我们正在创建WorkSheet
对象,该对象允许创建工作表,然后我们可以将其添加到WorkBook
对象中。
我们使用foreach
循环逐个读取数据表的值,然后将值添加到工作表中。 将所有值添加到工作表后,我们将使用 SaveAsCSV 方法将其保存到 CSV 文件中,我们需要将分隔符和文件名以及位置作为参数传递。 分隔符是一个可选参数,如果不需要,我们可以忽略它。
在 Visual Studio 中完成的代码
以上是我们在 .NET Core 6 上使用的代码的完整截图。
结果:
在 Microsoft Excel 中打开文件时的结果
以上是执行代码示例的结果。 在截图中,数据表中的所有数据已逐一添加到新创建的 Excel 表中。
IronXL 是最常用的 Excel 库之一。 它不依赖于任何其他第三方库。 它是独立的,不需要安装 MS Excel。 它可在多个平台上运行。 IronXL 的介绍价从 $749 起。 此外,它还提供了为期一年的产品支持和更新费用选项。 IronXL 以额外费用提供免版税的重新分发覆盖。要了解更多关于价格的详细信息,请访问我们的授权页面。