2017-09-26 5 views
0

大きなExcelファイルをいくつかの小さなファイルに分割し、にアクセス可能なファイルに分割したいと考えています。大規模な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

任意の塊を塊に分割することは目的がありますが、それを読むことができると思われるのは何ですか? excelはフォーマットを持っています。もしフォーマットが有効でなければ、それはファイルとして見えません。 – BugFinder

+2

これはトラックのみから2つのセダンを作り出そうとするようなものです。 –

+0

Aspose.Cellsでできます。しかし、Aspose.CellsはオリジナルのExcelファイルを読み込み、データのすべての部分またはチャンクに対して新しいExcelファイルを作成します。 – shakeel

答えて

1

テキストファイル以外のファイルは、この方法では動作しません。特定のポイントで単純に切り取って作業コピーを取得することはできません。

Excelファイルとして、あなたは、C#からExcelを自動化する方法を示し、次のチュートリアル、に見えることがあります。

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

、あなたは大規模なExcelファイルを開いている何をしたいのか、決めます(n行ごと、n枚ごとに)分割し、各部分を読み込んで、新しく作成したxlsxに書き込むことができます。

関連する問題