Ein Kunde kontaktierte mich und beschwerte sich über Excel-Tabellen, deren Öffnen viel zu lange dauerte. Sie verwenden Excel zum Erstellen von Rechnungen, sodass sie über Hunderte von Excel-Tabellen mit einfacher Formatierung und sehr einfachen Berechnungen verfügen. Beim Sortieren der Tabellenkalkulationen nach Größe stellte ich fest, dass die meisten Tabellenkalkulationen zwischen 10 und 250.000 lagen, es jedoch eine Handvoll Tabellenkalkulationen mit Dateigrößen von 2-3 MB und mehr gab. Seltsamerweise waren die Dateigrößen nicht riesig, sie enthielten nicht viele Daten, nur ein bisschen Formatierung, vielleicht zwei oder drei Seiten gedruckter Rechnungen, aber die Datenmenge war fast identisch mit den kleineren (und normal öffnenden) Tabellen .
Beim Öffnen der Datei stieg der benötigte Arbeitsspeicher von 3 MB auf 400 MB und belegte beim Starten vollständig einen einzelnen Kern (getestet auf einem Dual-Core im Büro und meinem Quad-Core-Laptop). Ich dachte, dass sie irgendwie einen VBA-Code abgefangen haben, aber es gibt keine Makros, keinen VBA-Code. Strg + Ende zeigt 39 Zeilen und ungefähr 12 Spalten (endet bei M). Ich habe die Daten sogar Zeile für Zeile oder Spalte für Spalte gelöscht, bis keine Daten mehr vorhanden sind, und es gibt immer noch das gleiche Problem.
Ich habe viele Google-Suchanfragen überprüft, bin aber nicht weitergekommen. Kann mir jemand helfen?
quelle
Antworten:
Ich habe die Antwort auf mein Problem gefunden!
Unter Verwendung der Hinweise, die mir von allquixotic gegeben wurden, öffnete ich die xlsx-Dateien in 7-Zip und verglich die Dateigrößen. Es gab eine Datei, die viel größer war als die anderen. Die Datei xl \ Zeichnungen \ Zeichnung1.xml war eine Datei, die immer wieder mehrere Verweise auf Formate enthielt.
Ich habe ein paar Stunden damit verbracht, ein Muster herauszufinden, konnte es aber nicht. Nichts, was ich tun konnte, konnte es zum Laufen bringen! Dann habe ich nach einem Anfall von Ärger die verdammte Datei gelöscht und versucht, sie in Excel erneut zu öffnen (2010 - habe sie in Excel 2007 nicht getestet).
Es wurde beanstandet, dass die Datei beschädigt war, und gefragt, ob ich eine Reparatur versuchen möchte. Durch das Reparieren der Datei wurde lediglich die Form gelöscht, die Formatierung der Datei jedoch überhaupt nicht geändert. Ich musste die Datei als dieselbe Datei erneut speichern, was etwas seltsam war, aber es hat funktioniert!
Wie bereits erwähnt, hatte ich diese Lösung nicht für andere Produkte als Excel 2010 getestet. Daher weiß ich nicht, ob die Formdatei für Excel 2k7 oder OpenOffice-Produkte kritisch war. Wenn Sie jedoch ein ähnliches Problem haben, kann dies hoffentlich hilfreich sein.
quelle
Verwenden Sie das binäre XLS-Format oder das neue XML-basierte XLSX-Format? Im Allgemeinen führt das XLSX-Format zu einer drastischen Reduzierung der Dateigröße.
Überprüfen Sie, ob im Dokument zu viele Stile gespeichert sind.
Versuchen Sie, "persönliche Informationen zu entfernen" (eine Funktion von Excel / Word / etc.), Um bestimmte Arten von Cruft zu bereinigen, die sich möglicherweise in der Datei befinden.
Wenn die Tabelle freigegeben ist oder zuvor freigegeben wurde, sind möglicherweise alte Freigabedaten darin gespeichert.
Eine einfache Lösung besteht darin, nur die relevanten Daten aus dieser Tabelle zu kopieren und in eine neue einzufügen, sie dann im XLSX-Format zu speichern und festzustellen, wie klein sie sind. Wenn es sehr klein ist, haben Sie Ihre Antwort - Excel führt eine schlechte Abrechnung der Datenstrukturen seines internen Dateiformats durch.
Suchen Sie auch nach komplizierten oder kreisförmigen Formeln und Verweisen auf externe Blätter (insbesondere auf Netzlaufwerken). Wenn Sie der Meinung sind, dass eine Formel langsam ist, können Sie sie mithilfe des Formelüberwachungstools schrittweise durchgehen.
Letzte Sache: Wenn Sie es als XLSX speichern und es immer noch groß ist, laden Sie das OpenXML SDK Productivity Tool herunter: http://www.microsoft.com/en-us/download/details.aspx?id=5124
Öffnen Sie die .xlsx-Datei und sehen Sie sich alle Elemente in der Datei an, um festzustellen, ob etwas offensichtlich irrelevant ist. Dies erfordert möglicherweise Kenntnisse über XML und die spezifischen OpenXML-Schemas, ist jedoch ein todsicherer Weg, um herauszufinden, was das Aufblähen verursacht.
PS: Wenn Sie so etwas stört, verwenden Sie keine Microsoft-Formate / -Programme mehr oder schlagen Sie Ihrem Kunden vor, dies zu tun. Wenn Sie nach "Microsoft Access-Datenbank aufblähen" suchen, werden Sie feststellen, dass Microsoft seit langem zulässt, dass seine proprietären Formate Tonnen nutzloser Daten auf die Festplatte übertragen, die niemals bereinigt werden. Es ist wie ein wirklich böser Speicherverlust, der Ihre Festplatte anstelle Ihres RAM verschlingt.
quelle
Eine andere mögliche Lösung wäre:
Wenn zu viele Formatierungen vorgenommen werden, insbesondere wenn auf viele einzelne Zellen viele verschiedene Stile angewendet werden, versucht Excel beim Öffnen von Dateien wirklich, die Formatierung anzuwenden.
Wenn Sie alle Formatierungen entfernen, erhalten Sie natürlich nur Text mit dem Standardstil, der in allen Zellen angewendet wird, in denen Rahmen, Schattierungen usw. verschwunden sind. Auf diese Weise können Sie jedoch die Ursache des Problems ermitteln.
quelle
Für eine dramatische Verkleinerung können Sie das Format .xlsb verwenden. Sollte mehr reduzieren als jedes andere XML-basierte Format, das Excel bietet.
Öffnen Sie eine dieser Tabellen und sehen Sie sich das Format an. Suchen Sie nach etwas Üblichem. Versuchen Sie, die gesamte Spalte in eine andere Excel-Tabelle zu kopieren und nur Werte einzufügen (ohne jegliche Formatierung). Sehen Sie, ob es hilft.
quelle
In meinem Fall hing das Problem mit "Als Tabelle formatieren" zusammen. Die Tabelle hatte 16000 leere Spalten. Ich denke, dies ist einer der häufigsten Gründe für diese Art von Problem.
quelle
Ich habe mir alle Regeln für die bedingte Formatierung im gesamten Arbeitsblatt angesehen, und es gab viele. Ich ging durch und räumte sie alle ab und erstellte dann die, die ich tatsächlich brauchte, und jetzt ist es wirklich schnell. Außerdem wurden alle 'Verbindungen' entfernt, die ich nicht brauchte, und als .xlsb gespeichert, nachdem alles gut funktioniert hat, und es ist jetzt noch schneller: o)
quelle