Kalkulationen in geschlossenem Excel-File aktualisieren

Jedimaster

Mitglied
Hallo an alle!

Ich habe heute mal ein ziemlich exotisches Problem..
und zwar greife ich mittels PHP über ODBC/SQL auf ein Excelfile zu. Das klappt alles auch ganz prima, nur rechnet Excel ja leider nur mit, wenn das File auch geöffnet ist. Möchte ich jedoch Daten aus dem geschlossenen File ändern und abfragen, dann entstehen Inkonsistenzen bei den Daten, welche sich aus anderen eingegebenen errechnen.

Beispiel:

Ich frage den Wert "Summe" aus der Datenbank ab. Er bildet sich aus der Summe von "Summand" + 2. Summand beträgt beim geöffneten File = 2, d.h. Summe = 4.
Setze ich mittels SQL nun in der geschlossenen Tabelle den Summanden auf 3 und frage die Summe ab, dann erhalte ich natürlich weiterhin 4, statt dem richtigen Wert 5, da Excel ja im "geschlossenen Zustand" nicht rechnet. Die Kalkulationen werden erst beim nächsten Excelstart aktualisiert.

Gibt es irgendeine Möglichkeit die Exceldatei im geschlossenem Zustand in irgendeiner Form durch Excel aktualisieren zu lassen, um solche Inkonsistenzen zu vermeiden? Die ganzen Berechnungen in Flash (da gehen die Daten alle hin und kommen von da) oder PHP durchzuführen wäre viel zu aufwendig und ineffizient, da sich die Excel-Berechnungsgrundlagen sehr oft ändern und so ein ständiger Abgleich der Quelltexte notwendig wäre..


Gruß,
JediMaster
 
Hi n3mesis!

Dagegen spricht zum einen, dass das ganze auf einem Server laufen soll - sozusagen als "mitrechnende" und sich selbst aktualisierende Excel-Datenbank.
Zum anderen einfach nur die Nutzerfreundlichkeit..

Ich hab's jetz erstmal so gelöst, dass ich in PHP über COM die Exceltabelle unsichtbar im Hintergrund öffne, speichere und wieder schließe. So aktualisieren sich alle Zellen die von anderen zuvor in der SQL-Abfrage geänderten Zellen abhängen - so stimmen die Berechnungen wieder. Nur möchte ich Excel eigentlich am liebsten gar nicht erst installiert haben (weil Server). Oder wenigstens die Sache ohne Programmstart aktualisieren. Aber das scheint wohl nicht möglich zu sein :-|

Oder hat jemand vielleicht doch noch eine Idee?


Gruß,
JediMaster
 
Was spricht gegen eine echte Datenbank? Wie z.B. MySQL.
Wenn Du doch schon per SQL auf Excel zugreifen willst, kannst Du doch auch gleich per SQL auf 'nen richtigen SQL-Server zugreifen.
 
Hallo

ich kenn ich habe Excel Access und mysql in der schule als fach und weiß halt paar nette feuters von Excel,
bin mir aber nicht sicher ob es auch in verbindung mysql und Excel klappt da mysql ja keine Garfische Oberfläche bietet, aber mit der Verbindung Access und Excel ist es kein problem, also zu meinem Vorschlag:
Verknüpf die Excel Tabelle mit der mysql datenbank sodas du sie extern öffnen kannst und somit automatische alle einträge aktuallisiert werden, hoffe das war ne idea für dich,

gruß

Der becks-trinker
 
reptiler hat gesagt.:
Was spricht gegen eine echte Datenbank? Wie z.B. MySQL.
Wenn Du doch schon per SQL auf Excel zugreifen willst, kannst Du doch auch gleich per SQL auf 'nen richtigen SQL-Server zugreifen.

Nichts spricht dagegen - wenn da nicht die User wären! Die wünschen sich einfache und gewohnte Oberflächen wie die der Standardsoftware mit denen sie täglich mehr oder weniger unglücklich arbeiten. Daher habe ich Excel gewählt, da meine Lösung die ich konzipiere nicht von mir, sondern von Usern ohne SQL-Skill gepflegt werden soll. Excel reicht was den Datenumfang betrifft in diesem Falle vollkomen aus und erfordert keine weitere Installationen auf den Zielsystemen. Meine Idee war, die Calc-Features von Excel sozusagen als "aktive mitrechnende Datenbank" nutzen zu können. Die Funktionalität eines solchen Systems wären imho ein echter Knaller für gewisse Business-Anwendungen. Ich kenne nur kein Beispiel wo soetwas irgendwie bisher realisiert wurde...

Gruß,
JediMaster
 

Neue Beiträge

Zurück