【问题标题】:Generate CSV or Excel from console application从控制台应用程序生成 CSV 或 Excel
【发布时间】:2017-10-25 13:14:02
【问题描述】:

我正在尝试制作一个 C# 控制台应用程序,我希望看到我的输出与 mssql 格式相同。我将输出作为 csv 或 Excel 文件。你能指导我如何安排我的输出吗?

SqlConnection conn = new SqlConnection("Server=sad;Database=*;User Id=*;Password=*;");
conn.Open();
string query = "select computername, version, os, from testdatabase";
SqlCommand cmd = new SqlCommand(query, conn);
                SqlDataReader reader = cmd.ExecuteReader();
 while (reader.Read())
                    {
//something should be here but I dont know what
}

reader.Close();
conn.Close();

【问题讨论】:

  • 所有初学者样本都有一个Console.WriteLine("Hello World");,它将打印输出。如果要生成 CSV 或 Excel 文件,则必须编写代码。你会发现几十个重复的问题
  • 您需要编写代码来生成 CSV 或 Excel 文件,或者找到一个库来为您完成。要求我们只给你代码太宽泛了。您需要自己研究适当的库,尝试实现它们,然后在遇到困难时提供MCVE。我建议你不要重新发明轮子。
  • 检查副本。只需 3 行代码即可将 DataTable 或对象集合写入 Excel 文件
  • 我可以使用 Console.Writeline 但我无法以 csv 格式获取该输出。我不知道我该怎么做。这就是你没有看到那部分代码的原因

标签: c# excel csv


【解决方案1】:

创建 CSV 文件的简单示例如下:

List<string> outLines = new List<string>();

while (reader.Read())
{
   outLines.add(reader.GetValue(0).ToString() + "," +
                reader.GetValue(1).ToString() + "," +
                reader.GetValue(2).ToString());
}

System.IO.File.WriteAllLines("C:/outFile.csv",outLines.ToArray());

【讨论】:

  • 如果这些值中的任何一个包含逗号会怎样?请不要编写自己的 CSV 生成代码 - 你会弄错,你会教人们重新发明轮子。那里有大量支持良好且经过实战考验的 CSV 库。
猜你喜欢
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-07-18
  • 1970-01-01
  • 2015-07-08
相关资源
最近更新 更多