2014-09-24 51 views
-1

我正在用一些程序拧一个csv文件。
如何务实地将excel数字格式设置为csv文件的文本?

当我在excel文件中打开它时遇到问题,如果某个列的值超过了256,它会自动截断它。

我知道,默认情况下,excel的数字格式为012,,如果我可以将它设置为'TEXT'那么它不会截断任何部分。

那么有什么编程方式可以将GENERAL设置为TEXT

+0

我认为你有一个不同的问题,Excel可以肯定读取CSV文件的值超过256。请向我们展示您的CSV文件的几行内容。 – 2014-09-24 11:30:34

+0

请参阅http://stackoverflow.com/questions/137359/excel-csv-number-cell-format – 2014-09-24 11:30:36

+0

不知道这是如何与C#相关的。 – 2014-09-24 11:31:41

回答

0

是纯文本格式。您不能将元数据(如列处理)嵌入到该文件格式中。

如果你不想做截断列,那么你就需要你的时候写出来的文件到自己截断它:

var csvFileBuffer = new StringBuilder(); 

var columns = new List<string>(); 

csvFileBuffer.AppendLine(
    string.Join(
     ",", 
     columns.Select(s => 
       //truncate column header (change logic as appropriate) 
       s.Substring(0, 255)))); 

这就是说,有可能是一种选择,你可以设置为,它将更改csv文件的默认列类型。但是,这将是一个问题SuperUser.com

另一种选择是写出本机excel文件格式,如xlsx。您可以使用多种工具,例如Open Xml Sdk

+0

不,默认情况下,excel截断255之前的文本,我不希望它截断。我想要所有的数据。 – NoviceToDotNetWithAngular 2014-09-24 12:05:34

+0

您无法通过向'.csv'文件中添加魔术字符串来实现该功能 – 2014-09-24 12:11:54

相关问题