VB.NET导出到Excel,字符串数据未用引号括起来

问题描述 投票:3回答:3

是否有要导出的Excel文本文件格式(XlFileFormat)不会在字符串周围加上引号?我试过xlTextWindows。也许我还缺少一个额外的设置?

大多数情况下,我导出的数据集都是CSV格式,但我仍然希望使用Excel类型(长篇故事)导出,但实际上它只是一小块文本。否则,我只是导出到一个文本文件;试图避免这种情况。

[编辑]在这种情况下,我有一个带有单个工作表的Excel工作簿,其中一个单元格(无标题)包含文本:

[报告]

保存后,文本文件包含:

“[报告]”

因为它是一个文本字段,这是Excel将其保存到文本文件时所执行的操作。

为此,它不能包含任何周围的引号或任何其他字符。

我可能最终会使用FileStream和StreamWriter,但是想知道是否可以避免这种情况。

[附加编辑]

该应用程序的功能:

它循环遍历数据表的行,并将每个列的值放在Excel工作簿表单元格中。

当您希望它真正成为Excel文件或.CSV文件时,这非常有用。我有一个实例,我需要将单个单元格的文本保存到文本文件,Excel坚持用引号括起文本。我不知道其他人,但是当我在记事本中保存一些东西时,我不添加引号。想要读取此文件的应用程序也不喜欢用引号括起来的文本。如果它们“碰巧”出现在文本块中,则无需转义引号,但不应添加引号。什么都不应该添加。它应该只是一个文本块,其格式与Datatable中的格式相同。

使用保存Excel工作簿

ExcelWorkbook.SaveAs

.net vb.net csv export excel-2007
3个回答
1
投票

你试过Text(制表符分隔):


0
投票

看看SpreadsheetML。我在这里有一个样本: Generating an Excel file in ASP.NET

它是xml,因此您可以使用CDATA部分来避免使用"实体替换引号。


0
投票

没有试过这个,但它可能有所帮助

如果你在一些丑陋的步骤中试试这个怎么办?

  • 将数据保存为CSV - 使用逗号分隔符直接显示文本,不带引号(根据需要使用。使用CSV扩展名)
  • 通过代码在Excel中加载CSV
  • 通过代码以Excel XLS(S)格式保存文件

然后,它可能会跳过将引号添加到它已保存的XLS(S)文件中的单元格中的文本。

© www.soinside.com 2019 - 2024. All rights reserved.