使用 IRONXL C# 中 DataTable 到 Excel(代码示例教程) Curtis Chau 已更新:六月 22, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 以编程方式更改Excel电子表格可能会遇到两个主要问题。 首先,在处理电子表格时,用户必须保持界面和文档结构的一致性,这并不总是简单的。 其次,在特定情况下(尤其是涉及复杂计算时)并不总是清楚哪些代码可以工作。 以编程方式创建Excel文件存在众多困难。 程序员必须首先将Excel文档中的数据转换为可读格式,然后解析数据并解析回去,这更加困难。 我已找到解决这个问题的方法。 我会教你如何使用IronXL .NET Excel库创建Excel文件并将DataTable以编程方式导出到Excel工作表中。 让我们开始吧: 如何在 C# 中将数据表导出到 Excel 安装 C# 库以将 DataTable 导出到 Excel 创建新的 Excel 工作簿并访问工作表 在 C# 中遍历DataTable的DataRow 访问Cell中的Value属性,并将DataRow中的数据填充到工作表中 将 Excel 电子表格导出到所需位置 IronXL功能 IronXL可在各种操作系统上运行,包括Windows、Linux和macOS。 几乎所有的.NET框架都得到IronXL的支持,包括控制台、Windows窗体应用程序和Web应用程序。 IronXL使阅读Excel文件变得简单易行。 我们可以使用IronXL加载、编辑、导出数据表、导出数据集,并读取Excel文件格式,如XLSX文件、XLS、CSV、TSV、XLST、XLSM文件等。 IronXL允许我们以多种扩展名保存和导出文件,包括XLS、CSV、TSV、JSON、XLSX等。 Excel公式可以由IronXL创建。 IronXL支持文本、数字、公式、日期、货币、百分比以及其他Excel单元格数据格式。 它还提供多种排序选项,如范围、列和行等。 IronXL中的单元格样式包括字体、大小、背景模式、边框和对齐方式等。 我们可以使用IronXL读取和导出Excel文件中的数据。 IronXL不需要在服务器中安装Excel或Interop。 IronXL的API比Microsoft Office、Interop和Excel更快、更易于使用。 1 在Visual Studio中创建新项目 要使用IronXL库,我们必须在Visual Studio中创建一个.NET项目。 您可以使用任何版本的Visual Studio,但建议使用最新版本。 您可以根据需要创建类似Windows窗体或不同项目模板的应用程序。 为了简单起见,我将使用控制台应用程序作为本教程。 在Visual Studio中创建新项目UI 接下来,输入项目名称和项目位置。 创建新项目的配置步骤 接下来,选择下面的框架。 在这个项目中,我们将使用.NET Core 6。 .Net框架选择UI 应用程序创建解决方案后,它将打开program.cs文件,您可以在其中输入代码并构建/运行应用程序。 新项目中的空program.cs文件 接下来,我们可以添加库来测试代码。 2 安装IronXL库 IronXL库可通过四种方式下载和安装。 这些是: 使用Visual Studio 使用Visual Studio命令行。 从NuGet网站直接下载。 直接从IronXL网站下载。 2.1 使用Visual Studio 我们可以使用NuGet包管理器安装IronXL库。 您必须首先打开NuGet包管理器,然后在浏览选项卡中搜索IronXL。 从搜索结果中选择IronXL并安装。 此后,我们的项目将准备好使用IronXL库。 下面的截图展示了我们如何在Visual Studio中打开NuGet包管理器。 在 Visual Studio 中导航到 NuGet 包管理器 IronXL在搜索结果中: 搜索IronXL库 2.2 使用Visual Studio命令行 许多人喜欢使用控制台来执行操作。 因此,我们也可以通过控制台来安装它。 按照以下步骤通过命令行安装IronXL。 在Visual Studio中,转到工具-> NuGet包管理器 -> 包管理器控制台。 在包管理器控制台选项卡中输入以下行: Install-Package IronXL.Excel 现在包将下载/安装到当前项目,并可以使用了。 通过控制台安装IronXL包 2.3 直接从NuGet网站下载 第三种方法是直接从网站下载NuGet包。 导航到NuGet官方网站的IronXL包页面。 从右手边菜单中选择下载包选项。 双击下载后的包。 它将自动安装。 接下来,重新加载解决方案并开始在项目中使用它。 2.4 直接从IronXL网站下载 点击链接从网站上直接下载最新包。下载完成后,按照以下步骤将包添加到项目中。 从解决方案窗口中右键点击项目。 然后,选择参考选项并浏览到下载参考的位置。 接下来,点击确定以添加参考。 3 使用IronXL将DataTable导出为Excel文件 IronXL允许我们简单地分步骤将DataTable导出为Excel文件。 首先,我们需要如下面的代码截图中那样包含IronXL的命名空间。 一旦添加完毕,我们就可以在代码中使用IronXL的类和方法。 在使用库之前包含IronXL的命名空间 IronXL允许我们创建Excel文件并将其转换为工作簿对象。 在将它们转换为对象后,我们可以执行各种操作。 在下面的示例代码中,我们将一个DataTable转换为Excel工作表,然后我们可以创建Excel文件。 using System; using System.Data; using IronXL; public class ExcelExporter { /// <summary> /// Exports a DataTable to an Excel file using IronXL. /// </summary> /// <param name="filePath">The file path where the Excel file will be saved.</param> public static void ExportToExcel(string filePath) { // Creating a DataTable with a single column DataTable table = new DataTable(); table.Columns.Add("DataSet_Animal", typeof(string)); // Adding some rows to the DataTable 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"); // Creating a new Excel Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); // Accessing the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Iterating through the DataTable rows int rowCount = 1; foreach (DataRow row in table.Rows) { // Adding each DataRow's first column value to the corresponding cell in the worksheet ws["A" + rowCount].Value = row[0].ToString(); rowCount++; } // Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";"); } } using System; using System.Data; using IronXL; public class ExcelExporter { /// <summary> /// Exports a DataTable to an Excel file using IronXL. /// </summary> /// <param name="filePath">The file path where the Excel file will be saved.</param> public static void ExportToExcel(string filePath) { // Creating a DataTable with a single column DataTable table = new DataTable(); table.Columns.Add("DataSet_Animal", typeof(string)); // Adding some rows to the DataTable 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"); // Creating a new Excel Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); // Accessing the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Iterating through the DataTable rows int rowCount = 1; foreach (DataRow row in table.Rows) { // Adding each DataRow's first column value to the corresponding cell in the worksheet ws["A" + rowCount].Value = row[0].ToString(); rowCount++; } // Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";"); } } Imports System Imports System.Data Imports IronXL Public Class ExcelExporter ''' <summary> ''' Exports a DataTable to an Excel file using IronXL. ''' </summary> ''' <param name="filePath">The file path where the Excel file will be saved.</param> Public Shared Sub ExportToExcel(ByVal filePath As String) ' Creating a DataTable with a single column Dim table As New DataTable() table.Columns.Add("DataSet_Animal", GetType(String)) ' Adding some rows to the DataTable 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") ' Creating a new Excel Workbook Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) ' Accessing the default worksheet Dim ws As WorkSheet = wb.DefaultWorkSheet ' Iterating through the DataTable rows Dim rowCount As Integer = 1 For Each row As DataRow In table.Rows ' Adding each DataRow's first column value to the corresponding cell in the worksheet ws("A" & rowCount).Value = row(0).ToString() rowCount += 1 Next row ' Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";") End Sub End Class $vbLabelText $csharpLabel 在以上代码中,我们将DataTable导出为Excel文件。首先,我们创建DataTable,然后创建列标题。 创建好列后,我们一个接一个地添加行。 添加完行后,我们创建WorkBook对象。 通过使用该对象,我们可以将数据添加到Excel工作表中,然后将数据保存到指定位置。 我们创建了WorkSheet对象以允许创建工作表,然后我们可以将其添加到WorkBook对象中。 我们使用foreach循环来逐个读取DataTable值,然后将该值添加到工作表中。 将所有值添加到工作表后,我们使用名为SaveAsCsv的方法将其保存到CSV文件中 — 我们需要将分隔符和包含位置的文件名作为参数传递。 分隔符是可选参数,如果不需要可以忽略它。 在Visual Studio中完成的代码 以上是我们在.NET Core 6中使用的完整代码截图。 Result: 在Microsoft Excel中打开文件时的结果 以上是执行代码示例的结果。 在截图中,DataTable中可用的所有数据已经一个接一个地添加到新创建的Excel表中。 4 结论 IronXL是最常用的Excel库之一。 它不依赖于任何其他第三方库。 它是独立的,不需要安装MS Excel。 它可在多个平台上运行。 IronXL的起始价格为$799。 此外,它提供一年的产品支持和更新选项。 IronXL提供免费的版税覆盖,可额外费用。有关价格详情,请访问我们的许可页面。 常见问题解答 如何在 C# 中将 DataTable 导出到 Excel 文件? 您可以使用 IronXL 的 WorkBook 和 WorkSheet 类将 DataTable 导出到 Excel 文件。创建一个 DataTable,遍历其行,并使用 IronXL 的 API 用数据填充 Excel 文件。 使用 IronXL 进行 Excel 操作相比 Interop 有哪些好处? IronXL 比 Microsoft Interop 更快且更高效,不需要安装 Microsoft Excel,并支持多种平台和文件格式。 IronXL支持哪些Excel文件格式? IronXL 支持各种 Excel 文件格式,包括 XLSX、XLS、CSV、TSV、XLST 和 XLSM,允许多种文件操作。 IronXL 可以在导出数据时处理 Excel 公式吗? 是的,IronXL 可以处理 Excel 公式,确保从 DataTable 导出到 Excel 文件时复杂的计算被保留。 哪些操作系统与 IronXL 兼容? IronXL 兼容多种操作系统,包括 Windows、Linux 和 macOS,允许跨平台开发。 是否必须安装Microsoft Excel才能使用IronXL? 不需要,IronXL 独立于 Microsoft Excel 运作,允许您处理 Excel 文件而无需在服务器上安装 Excel。 如何在 C# 项目中安装 IronXL? 您可以通过 Visual Studio 中的 NuGet 包管理器、使用命令行或直接从 NuGet 或 IronXL 网站下载来安装 IronXL。 IronXL 支持哪些 .NET 框架? IronXL 支持多种 .NET 框架,包括控制台应用程序、Windows 窗体应用程序和 Web 应用程序,使其适用于不同类型的项目。 IronXL 是否支持 Excel 文件中的单元格样式和格式? 是的,IronXL 提供多种单元格样式和格式选项,例如设置字体样式、颜色和边框,以增强 Excel 文件的外观。 IronXL 如何简化编程创建 Excel 文件的过程? IronXL 通过提供易用的 API 来创建、修改和导出 Excel 文件,简化了这一过程,而无需维护其他方法所需的接口和结构。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多 已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多 已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多 C# 编程方式打开 Excel 文件(代码示例教程)如何在 Excel 中移动行
已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多
已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多
已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多