2017-10-03 4 views
1

私はVisual Studio 2017でEPPLusでExcelレポートを作成しています。私の要件の1つは特定のIDにリンクされたすべての数値を1つのフィールドに付けることですが、エラー:Excelが見つかりませんでした - Recover Truncatesを見つけました

「Excelは 『[filenameHere.xlsx]』で読めないコンテンツを発見したあなたは、このワークブックのソースを信頼する場合は、[はい]をクリックします。このワークブックの内容を回復したいですか?」私が行うと

をしたがって、次の状態を示す別の情報ボックスが返されます。

"Excelで読み取り不可能なファイルを修復または削除してファイルを開くことができましたコンテンツ。 修復したレコード:文字列/xl/sharedString.xml部分(文字列)からプロパティ「と、それが読み込まれたログファイルにリンクを提供しています:

error178480_01.xmlErrors were detected in file 'C:[filenamehere].xlsx'Repaired Records: String properties from /xl/sharedStrings.xml part (Strings) " I am pulling about 3,000 records into the field but only about 1800 show up when I run the code and the information is truncated. Here is an example:

StringBuilder groupString = new StringBuilder(); 
     for (int i = 0; i <= 3000;i++) 
      { 
       groupString.Append("sampleNumber "+i.ToString()+","); 
      } 
     ExcelPackage exclPck = new ExcelPackage(); 
     ExcelWorksheet exclWs = exclPck.Workbook.Worksheets.Add("example"); 
     exclWs.Cells["A2"].Value= groupString.ToString(); 
     exclPck.SaveAs(new System.IO.FileInfo("C:\\filenamehere.xlsx")); 

答えて

2

ここでの問題はですExcelのセルあたりの文字数制限は32,767文字です。 3000番台の数字を返すとき(「samplenumber0000」と同じ長さ、つまり17文字の場合)、セルあたり約1700件のレコードを返すことができます。それを別のセルに分割することで、文字の制限に合わせて結果を分割して修正することができます。ここで私はExcelが振る舞う作った方法の例です:データ衛生の一般的なルールとして

ExcelPackage exclPck = new ExcelPackage(); 
     ExcelWorksheet exclWs = exclPck.Workbook.Worksheets.Add("example"); 
     StringBuilder groupString = new StringBuilder(); 
     StringBuilder groupString2 = new StringBuilder(); 
     for (int i = 0; i <= 3000;i++) 
      { 
      if (groupString.Length <= 31740) { 
       groupString.Append("sampleNumber" + i.ToString() + ","); 
      } 
      else 
      { 
       groupString2.Append("sampleNumber" + i.ToString() + ","); 
      } 
     } 
     exclWs.Cells["A2"].Value= groupString.ToString(); 
     exclWs.Cells["A3"].Value = groupString2.ToString(); 
     exclPck.SaveAs(new System.IO.FileInfo("filenameHere.xlsx")); 

、私は、関連するidはあなたがあれば別の列の中で述べてのいずれかで、自分の添付ブックにオフの結果、これらのタイプを分割お勧めしますこの数の結果を取り戻すことになるので、総行制限(1,048,576)をより有効に活用し、読みやすさを高めるためにこれらの結果を分離する必要があります。

関連する問題