2013-09-16 43 views
0

我希望每個人都想爲下一個問題尋求幫助。excel c格式導入的文本格式#

我想在txt文件中加載一個txt文件到excel中,並帶有workbooks.opentext方法!它運行良好,但在文本數據有一些數字至極含有「」性格和那整個文本的主要分離讓我告訴ü

'1200000','29,8','DUPAREC PAPÍRGYŰJTŐ ÉS FELD. KFT',' 

,問題是在第二列。

有沒有人有任何想法如何避免這個問題?我的代碼是下一個

Excel.Application xlApp; 
Excel.Workbook xlWorkBook; 
Excel.Worksheet xlWorkSheet; 
int[,] fieldInfo = new int[4, 2] { { 1, 2 }, { 2, 4 }, { 3, 2 }, { 4, 2 } }; 
object oFieldInfo = fieldInfo; 
xlApp = new Excel.Application(); 
object missing = System.Reflection.Missing.Value; 
xlApp.Workbooks.OpenText(
    filepath,Excel.XlPlatform.xlWindows, 
    1, 
    Excel.XlTextParsingType.xlDelimited, 
    Excel.XlTextQualifier.xlTextQualifierNone, 
    false, 
    false, 
    false, 
    true, 
    false, 
    false, 
    missing, 
    oFieldInfo, 
    missing, 
    missing, 
    missing, 
    missing, 
    missing 
     ); 

此致敬意!

Smith!

+0

有點不清楚你在問什麼。你想知道如何避免數字中的''',或者如何將該文本導出爲與該字段相符的文本? – Kami

+0

我想知道如何在程序運行時使用「skipp」這個字符,因爲逗號分隔了多餘的字符串,哪一個不需要。我只想要那些位於''字符之間的列。 – balage90

回答

0

由於您的字符限定文本是'(單引號),您必須通過Excel.XlTextQualifier.xlTextQualifierSingleQuote作爲參數。

有關更多信息,請參閱Excel developer reference

下面的代碼應該使您的導入工作。

Excel.Application xlApp; 
Excel.Workbook xlWorkBook; 
Excel.Worksheet xlWorkSheet; 
int[,] fieldInfo = new int[4, 2] { { 1, 2 }, { 2, 4 }, { 3, 2 }, { 4, 2 } }; 
object oFieldInfo = fieldInfo; 
xlApp = new Excel.Application(); 
object missing = System.Reflection.Missing.Value; 
xlApp.Workbooks.OpenText(
    filepath,Excel.XlPlatform.xlWindows, 
    1, 
    Excel.XlTextParsingType.xlDelimited, 
    Excel.XlTextQualifier.xlTextQualifierSingleQuote, 
    false, 
    false, 
    false, 
    true, 
    false, 
    false, 
    missing, 
    oFieldInfo, 
    missing, 
    missing, 
    missing, 
    missing, 
    missing 
     ); 

因爲你所定義的第二列是你的字段信息陣列1929中格式化的日期時間,8' 將顯示爲8月29日在Excel中。

您應該用{...,{2,1},...}替換{...,{2,4},...},讓Excel將數字解析爲一個數字。

+0

非常感謝你現在它的工作 – balage90

+0

第二列somhow過程後變成日期類型:S'29,8'一個和exel它似乎29.agust你有任何ide爲什麼? – balage90

+0

增加了解決方案,不解析你想要的答案。 – wonko79