禁用导出时自动封装

本文关键字:封装 | 更新日期: 2023-09-27 18:36:52

我最近在工作中继承了一个项目,这个项目是由我们一个不太熟练的实习生写的。这在理论上相当简单;它只需要将一些数据从服务器导出到供应商的CSV文件中。

问题是我们的供应商需要将所有字段(而不仅仅是带有逗号的字段)封装在引号中。Aspose Cells 似乎在带有逗号的字段上具有某种形式的自动封装,但不是所有字段。

最初的程序员制作了自己的方法,在导出之前将引号应用于所有字段,但该文件最终在所有字段周围都带有三引号。为了解决这个问题,他们编写了另一个函数来重新打开文件并用单个引号替换所有三引号。

我知道文本文件有分隔符选项,但我找不到有关更改Aspose中的封装的任何内容。

所以我的问题是,他们是否有其他处理这个问题的方法比像现在这样进行两次传递更好?

更新:Aspose 在他们的论坛上回复了我的帖子,他们说他们将向 TxtSaveOptions 类添加一个属性以支持此功能。如果/当这种情况发生时,我会再次更新细节。

禁用导出时自动封装

在 Aspose.Cells for .NET v7.2.2 中,他们向TxtSaveOptions添加了一个名为 AlwaysQuoted 的新属性。

下面是如何在保存期间使用此属性的示例:

var options = new TxtSaveOptions(SaveFormat.CSV) {AlwaysQuoted = true};
workBook.Save(@"C:'Export Location'"), options);

将该属性设置为 true 将封装所有字段,而不考虑内容。默认设置是像 Excel 一样模仿 CSV 标准。