Excel Kompressor – xlsx, xlsm, xlsb verkleinern

Mit Office 2007 hat Microsoft neue Dateien-Formate eingeführt. Excel zB verwendet nun *.xlsx, *.xlsm, *.xlsb, etc.

Das erfreuliche an den neuen Formaten ist, neben einen größeren Funktionsumfang, das die entsprechenden Dateien wesentlich kleiner sind als im alten *.xls-Format. ABER: Eine geZIPte alte xls-Datei ist nochmals wesentlich kleiner als eine xlsx-Datei. Was passiert, wenn man eine neue xlsx-Datei ZIPt? -> NIX, die Dateigröße bleibt nahezu unverändert.

Somit bekommt man alte Office-Dateien um einiges kleiner (abhängig vom Inhalt), was zB beim Mail-Versand über „geht“ oder „geht nicht“ entscheiden kann.

Warum ist das so?

Nun, die modernen Office-Formate sind im Prinzip nichts anderes als umbenannte ZIP-Archive voller XML-Dateien. Und wie eben bekannt ist, kann ein ZIP-Archiv nicht nochmals komprimiert werden um weiteren Speicherplatz einzusparen.

Wie kann man nun eine „neue“ Office-Datei genauso klein bekommen, wie eine „alte“ geZIPte Office-Datei?

Eigentlich ganz einfach – nachstehend anhand einer XLSX-Datei erklärt:

  1. Die Dateierweiterung von „xlsx“ auf „zip“ ändern.
  2. Die Inhalte der Datei können nun mit 7-Zip, Winzip, etc an einen beliebigen Ort entpackt werden.
  3. Die entpackten Inhalte wieder als ZIP-Archiv packen, allerdings unter Verwendung der höchst möglichen Kompressionsstufe (bei 7-Zip zb „Ultra“).
  4. Die Dateierweiterung von „zip“ auf „xlsx“ ändern.
  5. Die Datei sollte sich nun, wenn du alles richtig gemacht hast, mit Excel öffnen lassen und dabei, je nach Inhalt, bis zu 30% weniger Speicherplatz benötigen.

Dieser Trick kann bei allen neuen Microsoft Office Formaten (xlsx, xlsm, xlsb, docx, docm, pptx, etc) angewandt werden.

Aber Achtung: Sobald die präparierte Datei innerhalb der Office Applikation erneut gespeichert wird, wächst sie wie auf ihre alte Größe an. Der Trick ist also nur tauglich um die Datei für den Mailversand oder Web-Upload kleiner zu bekommen.

Geht das auch einfacher?

Ja, den kompletten beschriebenen Vorgang kann man, mit Hilfe von 7-zip und VBA, automatisieren.

Zumindest für Microsoft Excel habe ich ein Addin dafür geschrieben. Das Addin könnt ihr hier oder am Ende des Beitrages herunterladen. Der Quellcode kann eingesehen werden, um sicher zu stellen, das er keinen Schadcode enthält. Das Addin benötigt ein unter „C:\Program Files\7-Zip“ installiertes 7-zip. Mein sogenannter „Kompressor“ erscheint innerhalb von Excel unter einer neuen Ribbon-Leiste. Damit der „Kompressor“ seine Arbeit verrichten kann, muss die zu komprimierte Datei bereits gespeichert sein.

Download

Excel-Kompressor v0.9 Screenshot

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.