Visual Basic- und Excel-Datenstreaming in Echtzeit

1310
Robert Rosen

Ich arbeite zurzeit an einem Programm, das in Visual Basic (nicht VBA) ausgeführt wird. Das Programm sammelt Daten von Sensoren und erstellt eine Datendatei (* .csv) der Informationen, die es nach einiger Zeit erfasst hat. Ich hoffe, das Programm erweitern oder sogar ändern zu können, damit ich mit den gesammelten Daten Echtzeitberechnungen durchführen kann.

Ist es möglich, Live-Stream-Daten, die in einer * .csv-Datei gespeichert sind, in eine Excel-Tabelle zu speichern, und wenn ja, wie würde dies in VB erfolgen? Ich schreibe ein Makro, das ständig im Hintergrund der Kalkulationstabelle ausgeführt wird, um die erforderlichen Berechnungen durchzuführen, während neue Daten importiert werden.

PS: Ich habe das Originalprogramm nicht geschrieben und bin noch sehr neu in der Codierung. Ich versuche immer noch, alles selbst zu verstehen

-1
Möglicherweise finden Sie Probleme beim Streaming in die Datei und gleichzeitigem Zugriff auf die Datei! Ist das VB6 oder VB.net? Dave vor 8 Jahren 1
OLE / Automation ist eine Methode, die für die Kommunikation zwischen Anwendungen verwendet wird. Excel kann so eingerichtet werden, dass die Daten von der Anwendung selbst abgerufen werden, und nicht über eine Zwischentextdatei. Sie müssen jedoch das Originalprogramm so einrichten, dass es auch unterstützt wird. Yorik vor 8 Jahren 0
anfangen, Datenbanken zu lernen. Sqlite3 zum Beispiel. befzz vor 8 Jahren 0

1 Antwort auf die Frage

1
Julian Knight

Unfortunately, Excel is a poor choice here as it assumes you want the whole csv file and locks it. When it does that, you can no longer write to it.

You could use something like the Microsoft PowerQuery addin to read the data but this wouldn't be realtime and would have to reload the whole thing on each refresh (which can be automated).

Alternatively, if you don't actually need Excel, you could do this fairly readily with a simple, local, web app using a Microsoft HTA (HTML Application) or Node-Webkit (the latter being preferred since it gives you the full power and capability of Node.JS which is perfectly happy dealing with streaming files. Of course, these solutions would require programming skills. :( though one's that would stand you in good stead elsewhere. :)