2017-02-02 5 views
0

wenn ich einen Bericht mit asp.net mit C# in XLS-Format generieren, ist es zunächst ca. 32 MB. Aber wenn ich es mit Excel öffnen und speichern Sie es als XLS-Format mit anderen Namen, die Größe ist auf ca. 10 KB reduziert, aber die Daten und die Formatierung nicht verloren beide Dateien erscheinen identisch in Excel.System generierte xls Berichte ist größer als der geänderte Bericht

warum ist das so?

Wie könnte ich anfangs einen Bericht mit geringerer Dateigröße erstellen?

32MB Dateigröße enthält Daten wie

<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> 

10MB Datei enthält einige Zufallsfunktionen wie in

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

+2

Sie scheinen HTML zu generieren, das Excel verstehen kann, keine native Excel-Datei. Das erneute Speichern erzeugt eine korrekt formatierte Datei (XML oder Binär), die wesentlich kleiner ist (weil das Binärformat sehr effizient ist und das XML-Format komprimiert ist) –

+0

Danke Alex, ich benutze folgenden Code, um das Excel-Blatt zu erstellen, kann Sie geben den Vorschlag, die Codierungen zu verbessern https://gist.github.com/anonymous/913e9ee9127b775bd1cd8ac52c59019a – Thomas

+1

Erstellen einer richtigen Excel-Datei ist der beste Weg: http://StackOverflow.com/Questions/151005/Create-Excel-XLS- und-xlsx-Datei-von-c-sharp –

Antwort

0

Sie können versuchen, xlsx-Dateien zu erstellen. Es sollte kleinere Größe haben. Oder wenn Sie mit der Codierung stecken, können Sie versuchen, Berichtsgeneratoren, wie ein Crystal oder FastReport.Net (es hat auch eine Exporte in xls und xlsx) zu verwenden.