Langsame Excel-Tabellen diagnostizieren?

13

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?

Simon Hova
quelle
Ein weiterer interessanter Hinweis: Ich kann die XLSX-Datei in Excel 2007 nicht als XLS-Datei speichern. Wenn ich sie jedoch in Google Text & Tabellen importiere und dann als XLS-Datei speichere, erhalte ich erneut eine Datei mit normaler Größe.
Simon Hova

Antworten:

7

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.

Simon Hova
quelle
Ich hatte eine Datei mit demselben Problem gefunden. Anstatt draw1.1.ml zu löschen, habe ich den Verweis auf Zeichnung aus sheet1.xml entfernt und "Speichern unter" ausgeführt. Mögliche Ursache kann das Kopieren von Daten oder formatierten Zeichenfolgen aus E-Mail, Internet oder anderen Spreedsheets sein.
Andrei
1
Stieß auf eine ähnliche Situation. In meinem Fall gibt es mehrere DrawingN.xml mit einer Größe von "akzeptabel" 200 KB bis 80 MB. Diese Datei bringt sogar Quad-Core-Desktop mit 16 GB RAM in die Knie. Das Entfernen aller Zeichnungen.xml (da die Excel-Datei nicht einmal ein Diagramm / eine Grafik enthält) löst das Problem und funktioniert zum Zeitpunkt des Schreibens mit dem neuesten Office 365.
Martheen Cahya Paulo
6

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.

allquixotic
quelle
Die Tabelle ist in der Tat eine XLSX-Datei, und eine seltsame Sache: Ich kann sie nicht als XLS-Datei speichern. In Excel 2k7 wird immer wieder ein Fehler zurückgegeben. Ich habe eine Kopie als 2003-XML-Tabelle gespeichert, und das Seltsame, das ich fand, war, dass darin eine enorme Anzahl von Stilen aufgeführt war . Dies ist seltsam, da die gesamte Tabelle dieselbe Schriftart und keine spezielle Formatierung verwendet. Immer noch keine Ahnung, was ich meinem Kunden sagen soll.
Simon Hova
2

Eine andere mögliche Lösung wäre:

  1. Erstellen Sie eine Kopie der problematischen Excel-Datei
  2. Öffnen Sie diese Kopie
  3. Drücken Sie STRG + A und klicken Sie dann auf "Löschen" -> "Formate löschen".
  4. Wiederholen Sie Schritt 3 für jedes Arbeitsblatt
  5. Speichern Sie die Datei und versuchen Sie, sie erneut zu öffnen

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.

RusI
quelle
0

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.

TwirlMandarin
quelle
Ich habe versucht, in XLSB zu speichern. Überhaupt keine Größenreduzierung. Screenshot .
Simon Hova
@ Simon Hova Haben Sie versucht, die Berechnung auf manuell einzustellen und das Excel neu zu starten? Es kann alles sein: Formeln, Formatierungen. Haben Sie die Datenspalte in eine andere Excel-Tabelle kopiert, um festzustellen, ob die Leistung gleich ist? Nur die Daten; keine Formel oder Formatierung. Fügen Sie sie einzeln hinzu und sehen Sie, wo das Problem liegt.
TwirlMandarin
Das ist eine andere seltsame Sache, es gibt keine Berechnung, es werden keine Formeln ausgeführt. Es sind nur ein paar Zeilen und Spalten mit geringfügiger Formatierung. Ich habe versucht, die Daten zeilenweise zu löschen, und es verbleibt eine Datei, die ungefähr die gleiche Größe wie zuvor hat. Immer noch ratlos.
Simon Hova
0

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.

Zurück
quelle
0

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)

Paul
quelle
Dies dupliziert Informationen in anderen Antworten und fühlt sich so wie ein "Dank" -Kommentar an.
Bertieb