跳至页脚内容
使用 IRONXL

如何在 C# 中写入 CSV 文件

这篇文章将介绍如何在一个新项目中使用名为IronXL的C#库编写CSV文件。

如何编写CSV文件

  1. 安装用于写入CSV文件的C#库。

  2. 使用WorkBook.Create创建一个新的工作簿。

  3. 使用WorkBook.CreateWorkSheet创建一个新的工作表。

  4. 使用workSheet["单元格名称"].Valuevar为单个单元格添加值。

  5. 使用SaveAs方法将电子表格保存为CSV文件。

IronXL

与CSVHelper NuGet包相比,IronXL作为C#开发人员寻找无缝且强大的解决方案编写数据到CSV文件的高效灯塔。 在软件开发的动态环境中,处理和操作数据的能力至关重要,IronXL凭借其为C#量身打造的强大工具集迎接挑战。

本文深入探讨了使得IronXL成为C#开发人员提高将数据写入CSV文件过程的完美选择的特点与方法,平衡了简单性与精确性。

创建新的Visual Studio项目

要开始使用IronXL库,第一步涉及创建一个新的Visual Studio C#项目或加载一个现有项目。 以下是在Visual Studio中生成新项目的说明:

  1. 打开Visual Studio并导航到"文件"菜单。 将显示一个下拉菜单; 在此菜单中选择"新建"。 这一操作将显示另一个侧菜单。

如何在C#中编写CSV文件,图1:文件菜单 File Menu

  1. 在侧菜单中找到并点击"项目"。 这将打开一个新窗口。 在此窗口中,使用搜索栏找到"控制台应用程序"。 选择与C#关联的选项,然后点击下一步按钮。

如何在C#中编写CSV文件,图2:新项目-控制台应用程序 新项目-控制台应用程序

  1. 接下来将出现一个配置窗口。 输入项目名称,指定项目位置,然后点击下一步按钮。

如何在C#中编写CSV文件,图3:配置项目 配置项目

  1. 最后一个窗口将出现。 在这里,选择目标框架并通过点击创建按钮启动项目创建过程。

如何在C#中编写CSV文件,图4:目标框架 目标框架

安装CSV库IronXL

现在您已经设置好了项目,该是时候合并IronXL C#库了。 按照以下步骤在您的项目中安装IronXL:

  1. 在Visual Studio中,导航到工具菜单。 一个下拉菜单将出现——从此菜单中选择 NuGet 包管理器。
  2. 在NuGet包管理器中,从展开的侧菜单中选择管理NuGet解决方案包。

如何在C#中编写CSV文件,图5:NuGet包 NuGet包

  1. 将弹出一个新窗口。在此窗口中,前往浏览器标签,在搜索栏中输入"IronXL"。 您将看到IronXL包的列表; 选择最新的并继续点击安装按钮。

如何在C#中编写CSV文件,图6:IronXL IronXL

使用IronXL编写CSV文件

使用C# CSV库IronXL编写CSV文件的数据。 在本节中,我们将创建一个新的CSV文件并在其中写入数据。 以下示例使用IronXL库在CSV文件中创建一个简单的小票。让我们逐步分解程序代码。

导入IronXL和System.Linq

using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
Imports IronXL
Imports System.Linq

' This is the main class where execution starts.
Public Class Program
	Shared Sub Main()
		' Main method where all logic is executed
	End Sub
End Class
$vbLabelText   $csharpLabel

这些行导入了IronXL库中用于处理Excel文件的必要类和功能,以及来自System.Linq命名空间的LINQ扩展方法。

创建WorkBookWorkSheet

// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
' Create a new workbook. This serves as the container for all worksheets.
Dim workBook As WorkBook = WorkBook.Create()

' Create a new worksheet within the workbook named "Receipt".
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Receipt")
$vbLabelText   $csharpLabel

此代码创建一个新的Excel工作簿(WorkBook)和此工作簿中名为"Receipt"的工作表(WorkSheet)。

添加标题

// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
' Set the header row for columns. Headers added for better understanding of data.
workSheet("A1").Value = "Product"
workSheet("B1").Value = "Price"
$vbLabelText   $csharpLabel

这些行设置了工作表第一行各列的标题行,为每一列标注标签。

填充项目信息

// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
' Populate worksheet with product data and their respective prices.
workSheet("A2").Value = "Item 1"
workSheet("B2").DoubleValue = 20.10

workSheet("A3").Value = "Item 2"
workSheet("B3").DoubleValue = 15.50

workSheet("A4").Value = "Item 3"
workSheet("B4").DoubleValue = 10.25
$vbLabelText   $csharpLabel

这些行在工作表中添加了关于三个项目的信息,包括它们的名称和价格。

计算总价

// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
' Define the range for price values to be summed.
Dim range = workSheet("B2:B4")

' Calculate the sum of prices.
Dim sum As Decimal = range.Sum()
$vbLabelText   $csharpLabel

使用LINQ,此代码计算单元格从B2到B4的价格总和。总和存储在sum变量中。

WorkSheet中显示和更新总价格

// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
' Display the sum in the console.
System.Console.WriteLine(sum)

' Update the total price in the worksheet.
workSheet("B5").Value = sum
$vbLabelText   $csharpLabel

总和打印到控制台,并在工作表的B5单元格中更新。

将工作簿保存为CSV文件

// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
' Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv")
$vbLabelText   $csharpLabel

最后,整个工作簿保存为名为"receipt.csv"的CSV文件。

总之,此代码在Excel工作表中使用IronXL创建了一个基本的小票,计算总价格,将其打印到控制台,然后把工作簿输出保存为一个CSV文件。小票包括"产品"和"价格"列,并根据各个商品价格计算总价。

如何在C#中编写CSV文件,图7:带有标题的小票CSV文件输出 带有标题的小票CSV文件输出

结论

这篇全面的文章强调了在C#中编写CSV文件的重要性,并使用IronXL库解释了这一过程。 它强调了此技能在各种数据密集型应用程序中的根本性质,并展示了IronXL在简化和优化C#生态系统中的数据操作任务方面的强大功能。 从项目设置到使用IronXL创建小票并将其保存为CSV文件的逐步方法,为开发人员提供了对C#无缝集成的实用理解。

通过提供灵活性和效率,IronXL成为C#开发人员提升程序处理和导出数据能力的宝贵工具,使其在各种软件开发场景中成为重要资产。

IronXL为所有涉及Excel的任务提供编程解决方案,无论是公式计算、字符串排序、裁剪、查找和替换、合并和取消合并保存文件等,您也可以设置单元格数据格式。

有关完整的CSV文件书写教程,请访问此博客。 创建CSV文件的代码示例可以在以下博客中找到。

IronXL 提供免费试用,让您可以评估其功能。 如果您发现它对您的项目有用,可以购买从 $799 起的许可证。

常见问题解答

如何在 C# 中编写 CSV 文件而无需使用 Interop?

您可以利用 IronXL 库在 C# 中编写 CSV 文件而无需 Interop 支持。IronXL 允许您创建工作簿和工作表、添加数据,并使用其内置方法直接将其保存为 CSV 文件。

与 CSVHelper 相比,IronXL 在编写 CSV 文件方面有哪些优势?

IronXL 提供了更广泛的功能,不仅限于 CSV 编写,例如公式计算、单元格格式和多种 Excel 格式的导出,为开发人员提供了更全面的解决方案。

如何在 C# 项目中开始使用 IronXL?

要开始使用 IronXL,您需要通过 Visual Studio 中的 NuGet 包管理器安装它。创建一个新的 C# 项目,导航到“工具”,选择“NuGet 包管理器”,搜索“IronXL”并安装。

除了编写 CSV,IronXL 可以用于操作 Excel 文件吗?

是的,IronXL 能够处理多种 Excel 相关任务,例如读取和写入 Excel 文件、执行公式计算以及管理多个工作表中的数据。

如何在 C# 中使用 IronXL 向工作表添加数据?

要使用 IronXL 向工作表添加数据,请使用其标识符访问单个单元格,并使用 Value 属性分配值。然后,您可以按照所需格式保存工作表。

如何使用 IronXL 将工作簿保存为 CSV 文件?

在 IronXL 中创建并填充您的工作簿和工作表后,您可以使用 SaveAs 方法将其保存为 CSV 文件,并指定文件路径和格式。

IronXL 是否提供可供评估的试用版本?

是的,IronXL 提供免费试用版,允许开发人员在购买前探索和评估其功能。

如何使用 IronXL 计算工作表中的数字总计?

您可以使用 IronXL 利用 LINQ 计算工作表中的一系列单元格的总计,利用该库与 C# 的 LINQ 表达式的兼容性。

在使用 IronXL 编写 CSV 文件时,有哪些常见问题?

常见问题可能包括文件路径或权限不正确、数据格式不匹配或数据字段丢失。正确的错误处理和验证可以帮助减轻这些问题。

IronXL 能够高效处理 C# 项目中的大数据集吗?

是的,IronXL 被设计为能够高效地处理大数据集,允许开发人员读取、编写和操作大 Excel 文件而不会显著性能滞后。

Curtis Chau
技术作家

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

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