Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C创建一个CSV文件,使一个字段的内容包装在一个单元格中_C#_Excel - Fatal编程技术网

C# C创建一个CSV文件,使一个字段的内容包装在一个单元格中

C# C创建一个CSV文件,使一个字段的内容包装在一个单元格中,c#,excel,C#,Excel,我有两个数据库一个是主数据库一个是详细数据库, 表1为主体,表2为细部。 表2列出了添加注释的日期和注释 我的问题是: 我必须导出一个CSV文件C,并将所有注释都放在一个字段中。 我可以这样做,但是我的老板正在将其导入excel,希望在每条评论的末尾都有一个回车符或其他东西,以便将它们包装在一个单元格中 评论的格式如下:2011年10月11日:评论1 2011年10月11日:评论二 将其导入excel时,我希望注释自动换行,以便它们在excel单元格中显示如下: 2011年11月10日:评论1

我有两个数据库一个是主数据库一个是详细数据库, 表1为主体,表2为细部。 表2列出了添加注释的日期和注释

我的问题是: 我必须导出一个CSV文件C,并将所有注释都放在一个字段中。 我可以这样做,但是我的老板正在将其导入excel,希望在每条评论的末尾都有一个回车符或其他东西,以便将它们包装在一个单元格中

评论的格式如下:2011年10月11日:评论1 2011年10月11日:评论二

将其导入excel时,我希望注释自动换行,以便它们在excel单元格中显示如下:

2011年11月10日:评论1 2011年10月11日:评论二

我尝试使用\r和\n,但excel会将注释放在单独的单元格中


任何帮助都会很好。

正确答案是换行,或\n。您还应确保该单元格具有:

   myCell.Style.IsTextWrapped = true;

如果要导出到.csv,请使用双引号字符包装每个字段。在这里面,将现有的双引号加倍。替换

您需要有一个模式,分隔字段,并带有开始和结束引号

这将在导入Excel时保留现有换行符。如果需要换行符,则插入环境。换行符在需要的地方


对于.csv,您没有很多选项来指定单元格格式。

您可以通过将包含换行符的值用双引号括起来,确保先用两个双引号替换双引号,来实现这一点,但是如果您在csv中这样做,那么您的老板会抱怨,换行符的单元格在excel中只显示第一行

有许多开源和商业软件包可以让您直接创建excel,这可能会克服这些问题。

要有:

Row 1 Col1 | Row1 Col2
-----------+----------
Row 2 Col1 | Row2
           | Col2 (different line)
最小CSV为:

Row1 Col1,Row1 Col2
Row2 Col1,"Row2
Col2 (different line)"
将其标记为块,其中换行符和逗号不是CSV标记的一部分,而是实际内容。你还需要在你使用的任何地方这样做,并通过加倍来逃避它。所以

This cell says "hello" to you
逃逸为

"This cell says ""hello"" to you"
在实践中,最简单的方法是忽略一个事实,即你并不总是需要这样做,而只是每次都这样做:

public static string CSVEscape(string content)
{
  return "\"" + content.Replace("\"", "\"\"") + "\"";
}

看看我下面的回答,但是如果你仍然有问题,试着发布失败的C代码…你的意思是你想把单元格中的文本包装在单元格中?显示所需内容的屏幕截图可能更有益,因为导入excel之前和之后的两条注释看起来完全相同。是的\r和\n而且很可能\t会将它们放在一个单独的cellOkay中没有错误:-您的第二条评论在导入excel后是正确的我想在某个位置包装我的一个字段,我不确定如何在此处发布屏幕截图?