我最近在工作中继承了一个由我们不太熟练的实习生编写的项目。它在理论上相当简单;它只需要将一些数据从服务器导出到供应商的CSV文件。
问题是我们的供应商需要包含所有字段,而不仅仅是带有逗号的字段,用引号括起来。 Aspose Cells似乎在带逗号的字段上有某种形式的自动封装,但不是所有字段。
原始程序员制作了自己的方法,在导出之前将引号应用于所有字段,但文件最终会在所有字段周围使用三引号。为了解决这个问题,他们编写了另一个重新打开文件的函数,并将所有三重引号替换为单个。
我知道文本文件有分隔符选项,但我找不到任何关于更改Aspose封装的内容。
所以我的问题是,他们是否有其他方法可以处理这种情况,而不是像目前那样进行两次传递?
更新:Aspose在他们的论坛上回复了我的帖子,他们说他们将在TxtSaveOptions类中添加一个属性来支持此功能。如果/当具体细节发生时,我会再次更新。
答案 0 :(得分:1)
在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标准。