0Verbesserungen | Improvements - simonschaluppe/peexcel GitHub Wiki

Deutsch

Was sollte verbessert werden?

Unhandliche Dateigröße, Abstürze beheben.

Hier gibt es 3 Bereiche zur Verbesserung

  1. Verkleinern der Dateigröße, um die Handhabung zu verbessern
  2. Berechnungs- und Aktualisierungszeit reduzieren
  3. Hinzufügen einer englischen Version des Programms

Dateigröße verkleinern, um Handhabung zu verbessern Zielbereich: <= 10 MB wäre ideal, da per E-Mail verschickbar, aber wahrscheinlich nicht realisierbar Anfängliche Größe: 40-50 MB Aktuelle Größe 11/2020 (.xlsb): 25 MB

Um die Dateigröße zu reduzieren, ist es zunächst notwendig, die Hauptverursacher zu identifizieren:

  • Bilder, insbesondere unkomprimierte: Dies ist ein Kompromiss zwischen der Dokumentation und der Visualisierung, die Bilder typischerweise bieten. Wenn sie komprimiert und sparsam verwendet werden, sollte dies kein Problem sein.
  • Weitverbreitete Formatierungen über ganze Spalten und Zeilen: Das Speichern von Formatierungen benötigt viel mehr Platz als nur die Formeln und Werte. Verwenden Sie Formatierungen in erster Linie, um zwischen verschiedenen Zelltypen zu unterscheiden: Verschiedene Arten von Benutzereingaben, Berechnungen und Logik, Verknüpfungen, Standardwerte, usw. Einige Formatierungsinformationen wie z. B. Farben können verwendet werden, um Zellen eines bestimmten Typs zum gezielten Testen, Speichern und Laden zu finden. Achten Sie auf jeden Fall darauf, dass die Formatierung nur auf die verwendeten Zellen beschränkt wird.
  • lange Ketten von Formellogik: Damit Excel alle Berechnungen in einer Arbeitsmappe durchführen kann, muss es zunächst alle internen (und externen) Bezüge zwischen Zellen auflösen. Zu diesem Zweck erstellt Excel eine so genannte "Berechnungskette". Dies ist im Grunde ein gerichteter Graph, dessen Knoten Stapel von unabhängigen, also parallelen Berechnungen sind, die durch Abhängigkeitspfeile verbunden sind. Bei großen Mengen von Berechnungen kann diese Abhängigkeitskette so lang werden, dass sie einen erheblichen Teil der Dateigröße ausmacht: Im Fall des PE-Excels betrug die Berechnungskette anfangs über 50% des Platzes. Dies kann leider nur indirekt angegangen werden: Reduzieren Sie Lookups und Referenzen generell, vor allem zwischen Arbeitsblättern.

Variationen ermöglichen

Problem: Keine einfache Möglichkeit, Variationen zu berechnen und zu speichern Dies ist wichtig, weil es

  • das halbautomatische und automatische Testen erleichtert: Testfälle können als feste Variationen einer Basisvariante definiert werden
  • reduziert die Anzahl der Excel-Dateien, die zur Speicherung relevanter Eingabesätze benötigt werden

Flexibilität zur Änderung von Berechnung / Simulation / Algorithmus

Dies ist ein wichtiges und recht komplexes Thema. Zunächst ist zwischen der technischen Programmierbarkeit und dem Inhalt der Simulation zu unterscheiden.

Aktualisierbarkeit ermöglichen

Es gibt inzwischen git-Systeme, die Excel-Dateien protokollieren, diff und zusammenführen können. Ich habe es mit xltrails versucht und es funktionierte nicht für die Workbooks unserer Größe. Im aktuellen PE-Excel können Sie den Inhalt und die Adresse aller Zellen eines spezifizierbaren Formatierungssatzes, nämlich deren Hintergrundfarben, speichern und laden. Das hat zwar einige offensichtliche Schwächen, aber wenn die Struktur und Position der Eingaben relativ konstant bleibt und mit Standardwerten hinterlegt ist, kann man damit projektspezifische Informationen zwischen PE-Excel verschiedener Versionen übertragen.

English

What should be improved?

Solve Unwieldy filesize, crashes.

We have 3 areas of improvement here

  1. Reduce File Size to improve Handling
  2. Reduce Calculation and Update Time
  3. Add an English Version of the Program

Reduce File Size to improve Handling Target range: <= 10 MB would be ideal because emailable, but probably unfeasible Initial size: 40-50 MB Current Size 11/2020 (.xlsb): 25 MB

To reduce file size it is first neccessary to identify their main causes:

  • Pictures, especially uncompressed: This is a tradeoff between the documentation and visualization pictures typcally provide. If compressed and used sparinggly, this shouldnt be an issue.
  • widespread formatting over entire columns and rows: Storing formatting requires much more space than just the formulas and values. use formatting primaarily to distinguish between different cell types: Different sorts of User Input, Calculations and Logic, Links, Default Values, etc. Some formatting information such as colors can be used to find cells of certain type for targetted testing, saving and loading. In any way, make sure to restrict formatting to used cells only.
  • long chains of formula logic: For Excel to carry out all calculations in a workbook it first needs to resolve all internal (and external) references between cells. To this end Excel creates a so called "calculation chain". This is basically a directed graph whose nodes are batches of independent thus parallel calculations connected by arrows of dependency. For large sets of calculations, this dependency chain can become so long that it amounts for a significant part of the file size: In the case of the PE-Excel the calculation chain initially amounted to upwards of 50% of space. Unfortunately this can only be addressed indirectly: Reduce lookups and references in general, most importantly between worksheets.

Enable Variations

Problem: No easy way to calculate and store variations This is important because it

  • facilitates semi-automatic and automatic testing: Test-cases can be defined as fixed Variations of a base Variant
  • reduces the number of Excel files required to store relevant input sets

Flexibility to change calculation / simulation / algorithm

This is an important and rather complex topic. First, there is a distinction between technical programmability and content of the simulation.

Enable Updateability

There are now git systems that can log, diff and merge Excel files. I tried xltrails and it didnt work for the Workbooks of our size. In the current PE-Excel, you can save and load the content and address of all cells of a specifiable formatting set, namely their background colors. This has some obvious flaws but if the structure and positition of the inputs stays relatively constant and is backed with default values, this can be used to transfer project specific information between PE-Excels of different version.