c# - 在 C# 中写入制表符分隔的 csv 文件

标签 c#

我目前正在用 C# 开发一个应用程序,我需要用它从 MySQL 数据库检索的数据编写一个制表符分隔的 CSV 文件。数据库检索工作正常。

我遇到的问题是写入文件。在我写的每个变量之间,我使用的是\t,我认为它会在 csv 中放入一个制表符,因此在 excel 中打开时,每个变量都将位于其自己的单元格中。

但是由于某种原因它没有这样做它只是将整行写成一个长字符串。下面是我编写的代码示例:

while (reader.Read())
{
    int bankID = reader.GetInt16("ban_bankID");
    int userID = reader.GetInt16("ban_userID");
    string bankUsername = reader.GetString("ban_username");
    string accountName = reader.GetString("ban_accountName");
    string accountType = reader.GetString("ban_accountType");
    decimal overdraft = reader.GetDecimal("ban_overdraft");
    char defaultAccount = reader.GetChar("ban_defaultAccount");

    string line = bankID + "\t" + userID + "\t" + bankUsername + "\t" + accountName + "\t"
              + accountType + "\t" + overdraft + "\t" + defaultAccount + "\n";

    tw.WriteLine(line);

感谢您对这个问题的帮助。

最佳答案

格式正确,CSV 要求文件以逗号分隔。保存制表符分隔文件时,通常只使用 txt 扩展名(或者有些人保存为 .tsv)等。

如果您查看 excel 中的“另存为”选项,该选项是“文本(制表符分隔).txt”

如果我打开由您的示例代码生成的输出(存入数据),所有内容都会按您预期的那样加载到 Excel 2007 中。

关于c# - 在 C# 中写入制表符分隔的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170495/

相关文章:

c# - 我如何知道我在 Unity 上单击了哪个 GameObject?

c# - 乘除运算符周围的空格被IDE删除了,如何保留?

c# - 如何将多个变量与单个条件进行比较?

javascript - 如何单击带有更改 ID 的另存为 html 链接?

c# - yield 在 LINQ 之外有用吗?

c# - WPF 拦截全局鼠标移动(就像在 Windows 窗体中使用 IMessageFilter)

c# - 了解 C# 5 异步/等待中的上下文

c# - 什么是*物化*替身?

c# - 无法保存自定义集合用户设置

c# - 如何以编程方式更新 DisplayAttribute 上的 Order 属性?