2014-09-24 83 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

相關問題