2017-02-02 5 views
0

より大きいです。asp.netを使用してレポートを生成すると、C#でxls形式に変換されます。最初は約32 MBです。しかしExcelを使用して開くとxls形式で別の名前を付けて保存すると、サイズは約10 KBに縮小されますが、データと書式はisntファイルとExcelファイルの両方が失われます。システム生成のxlsレポートは、変更されたレポート

なぜそうですか?

私は最初に小さなファイルサイズのレポートを生成できますか?

32MBのファイルサイズ

<tr height="20" style='height:15.00pt;'> 
    <td class="xl66" height="20" style='height:15.00pt;' x:str>PR</td> 
    <td class="xl72" x:str>00923</td> 
    <td class="xl66" align="right" x:num>2016</td> 
    <td class="xl66" align="right" x:num>25</td> 
    <td class="xl66" align="right" x:num>89</td> 
    <td class="xl66" align="right" x:num>89</td> 
    <td class="xl66" align="right" x:num>45</td> 
    <td class="xl66" align="right" x:num>52</td> 
    <td class="xl66" align="right" x:num>2316</td> 
    <td class="xl73" align="right" x:num="0.87">87%</td> 
    <td class="xl73" align="right" x:num="1.e-002">1%</td> 
    <td class="xl73" align="right" x:num="4.0000000000000001e-002">4%</td> 
    <td class="xl73" align="right" x:num="4.0000000000000001e-002">4%</td> 
    <td class="xl73" align="right" x:num="2.e-002">2%</td> 
    <td class="xl73" align="right" x:num="2.e-002">2%</td> 
    <td class="xl73" align="right" x:num="0.92000000000000004">92%</td> 
</tr> 

10メガバイトのファイルのようなデータが含まれてい

https://gist.github.com/anonymous/f979595cf169575aea3b94d9abc3b525

+2

ネイティブのExcelファイルではなく、Excelが理解できるHTMLを生成しているようです。再保存すると、(バイナリ形式が非常に効率的でxml形式が圧縮されているため)正しくフォーマットされたファイル(xmlまたはバイナリ)が生成されます。 –

+0

ありがとうございます。次のコードを使用してExcelシートを生成しています。コーディングを改善するための提案をしてくださいhttps://gist.github.com/anonymous/913e9ee9127b775bd1cd8ac52c59019a – Thomas

+1

適切なExcelファイルを作成することが最善の方法です:http://stackoverflow.com/questions/151005/create-excel-xls- and-xlsx-file-from-c-sharp –

答えて

0

にあなたはXLSXファイルを作成しようとすることができるよう、いくつかのランダムな機能が含まれています。サイズは小さくなければなりません。 また、コーディングに悩まされている場合は、CrystalやFastReport.Net(xlsとxlsxにもエクスポートされています)などのレポートジェネレータを使用できます。

関連する問題