2017-09-26 122 views
0

我想將一個大的Excel文件拆分爲幾個較小的文件和可訪問的文件。C#將大型excel文件拆分爲更小的文件

我已經嘗試過使用此代碼,但這些文件無法訪問:

using (System.IO.StreamReader sr = new System.IO.StreamReader("path")) 
{ 
    int fileNumber = 0; 

    while (!sr.EndOfStream) 
    { 
     int count = 0; 

     using (System.IO.StreamWriter sw = new System.IO.StreamWriter("other path" + ++fileNumber + ".xlsx")) 
     { 
      sw.AutoFlush = true; 

      while (!sr.EndOfStream && ++count < 20000) 
      { 
       sw.WriteLine(sr.ReadLine()); 
      } 
     } 
    } 
} 

任何想法? 謝謝。

+1

任意將一個fie分成塊是有目的的,但是你期望什麼能夠讀取它? Excel中有一個格式 - 如果格式心不是有效的,它不會把它看作一個文件.. – BugFinder

+2

這就像是試圖創建兩個轎車出了一輛貨車,只用鋸。 –

+0

它可以與Aspose.Cells一起使用。但Aspose.Cells將讀取您的原​​始Excel文件併爲每個部分或數據塊創建新的Excel文件。 – shakeel

回答

1

文件,不是文本文件等,不要以這種方式工作。你不能簡單地在某個點上裁剪並獲得工作副本。

對於Excel文件,你可以看看下面的教程,這說明了如何Excel中從C#自動化:

https://support.microsoft.com/en-us/help/302084/how-to-automate-microsoft-excel-from-microsoft-visual-c--net

基本上,你想要做的就是打開你的大Excel文件是什麼,決定在哪裏你想分裂它(每n行,每n張等),讀取每個部分並寫入一個新創建的xlsx。

相關問題