2017-10-30 79 views
1

.xlsxファイルの各ワークシートを個々のワークブックに分割しようとすると同時に多数の新しいツールに一挙に取り組もうとしています。c#を使用してワークシートを分割する方法// EPPLusでワークシート全体をコピーする方法

  1. spreadsheetlightまたはEPPlusで(画像/線を含む)、ワークシート全体をコピーする簡単な方法はありますか?

  2. ワークシートを別のワークシートに直接コピーできない場合は、すべてのセルデータをオブジェクトにコピーして別のワークブックのセルに貼り付けることはできますか?

何かアドバイスをいただければ幸いです!

編集:現時点ではEPPlusを見て、Spreadsheetlightの代替手段にもアクセスできます。

答えて

1

EPPlusはこれをかなり簡単にします。このような

何かがそれを行う必要があります。

using (var sourceExcel = new ExcelPackage(new FileInfo("multisheet.xlsx"))) 
{ 
    var sheetsToCopy = sourceExcel.Workbook.Worksheets; 
    foreach(var sheetToCopy in sheetsToCopy) 
    { 
     using (var destExcel = new ExcelPackage()) 
     { 
      destExcel.Workbook.Worksheets.Add(sheetToCopy.Name, sheetToCopy); 
      destExcel.SaveAs(new FileInfo(sheetToCopy.Name + ".xlsx")); 
     } 
    } 
} 
+0

は本当に返事を感謝し、そんなにスチュワートありがとうございます。セル内の参照を他のワークシートに保持する方法はありますか?私は[Sheet1]セル4、[Sheet2]セル5で何かを参照すると、コピーがこのメソッドでそのセルに#REFを残しているように見えます。 – TSga

+0

私の喜び - それは助けてうれしい。参照が正直であるかどうかは分かりません。私は、自分で参照を並べ替える必要があると思うでしょう - あなたがなければ、あるブックが別のブックのファイル名を知る方法はありません。 –

関連する問題