Forum: PC-Programmierung C++ und Excel (xls, xlt)


von Patrick B. (p51d)


Lesenswert?

Hallo miteinander

Ich habe eine kleine Frage betreffend einem Projekt, andem ich momentan 
arbeite: Das Datei-Handling ist mir bekannt, aber wie sieht es mit den 
Excel Dateien aus? Gibt es eine Klasse, die den Zugriff erleichtert?
Bis jetzt habe ich nur libxl gefunden, aber irgendwie ist das etwas 
undurchsichtig...

Zum Projekt:
Ich möchte Daten von einem MCU über eine virtuelle serielle 
Schnittstelle Daten in eine Excel Datei schreiben. Am liebsten wäre mir, 
wenn ich eine xlt Datei einlesen, dann die entsprechend markierten 
Kollonen mit den Messwerten des MCUs füllen und schliesslich als xls 
speichern könnte.

Hat jemand mit soetwas schon Erfahrungen gesammelt?
Besten Dank für die Antworten
MFG
Patrick

von Jens C. (jcarstens)


Lesenswert?

Moin!
Schon mal über .csv nachgedacht, und dieses dann in Excel importieren?
Ist mit Sicherheit der geringere Aufwand, wenn es deine Anforderungen 
erfüllen kann.

Gruss aus der Wüste,
Jens

von Patrick B. (p51d)


Lesenswert?

Hallo

Ja, das CSV habe ich mir schon angeschaut. Falls ich keine einfache XLS 
Lösung finde, werde ich dann auf das CVS umsteigen.

Achja, ist bei XLS eine Datenbeschränkung vorhanden? Irgendwie habe ich 
einmal so etwas gesehen. Bei einem guten KO (Waverunner 64XI-A) mit 
5GS/s habe ich einmal eine Messung auf den USB Stick gespeichert. Dabei 
habe ich das CSV Format für Excel wählen müssen. Und beim Importieren in 
eine Excel Datei wurde dann ein Teil der Messwerte ignoriert, respektive 
gelöscht.

MFG
Patrick

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Excel hat eine "Datenbeschränkung", und zwar ist die Anzahl der Spalten 
und Zeilen begrenzt.

Seit Excel 2007 sind das 2^20 Zeilen und 2^14 Spalten, bei älteren 
Excel-Versionen waren das 2^16 Zeilen und 2^8 Spalten.

von Peter II (Gast)


Lesenswert?

Du könntest die daten auch in eine Datenbank schreiben, dann kannst du 
das Excel mit ein paar makros dazubringen die Werte aus der Datenbank 
darzustellen.

von meiner (Gast)


Lesenswert?

Oder openoffice verwenden, der stellt sich beim einlesen von csv nicht 
so störrisch an

von N. Müller (Gast)


Lesenswert?

Ich hab mal ein Programm geschrieben um CAN Botschaften zu analysieren.
Bei sehr großen Datenmengen war ich da von Python begeistert.
Manche Editor konnten die 16GB an Trace noch nicht mal öffnen!
Für den Parser von Python kein Problem.
Zudem war er ziemlich schnell.

Keine Ahnung ob Dir das weiter hilft.
Evtl brauchst Du ja nicht zwingend Excel und kannst die 
Auswertung/Darstellung komplett ohne Excel realisieren!?

Grüße

von Peter II (Gast)


Lesenswert?

N. Müller schrieb:
> Bei sehr großen Datenmengen war ich da von Python begeistert.
> Manche Editor konnten die 16GB an Trace noch nicht mal öffnen!
Python ist doch kein Editor - mal wieder ein merkwürdiger vergleich

In jeder Programmiersprache kann man 16GB ohne Probleme öffnen.

von benwilliam (Gast)


Lesenswert?

wenn du gleich das neue XLSX (ab office 2007) nimmst kannst du alles in 
eine XML datei mit dem richtigen format ablegen

von Patrick B. (p51d)


Lesenswert?

benwilliam schrieb:
> wenn du gleich das neue XLSX (ab office 2007) nimmst kannst du alles in
> eine XML datei mit dem richtigen format ablegen

Tja, aber das Problem mit dem Zugriff auf die Datei bleibt. Ausserdem 
wird leider in meinem Betrieb (wo das Programm zum Einsatz kommt) noch 
Office 03 installiert.

Das Ganze soll momentan zur "Visualisierung" eines Bewegungsprofils von 
einem Servo-Controller verwendet werden. Die Daten wären dann 32Bit 
Variablen des Reglers... (Strom, Soll, Ist...)

von Peter II (Gast)


Lesenswert?

Patrick B. schrieb:
> Tja, aber das Problem mit dem Zugriff auf die Datei bleibt. Ausserdem
> wird leider in meinem Betrieb (wo das Programm zum Einsatz kommt) noch
> Office 03 installiert.
muss es denn wirklich excel sein? Nimm Access dann kannst du per ODBC 
die Daten reinschreiben und auswerten sollte auch mit Excel oder gleich 
mit Access möglichsein.

von Karl H. (kbuchegg)


Lesenswert?

Wenns wirklich nur um Visualisierung geht, würde ich mal so was wie 
gnuplot ins Auge fassen

http://www.gnuplot.info/
http://userpage.fu-berlin.de/~voelker/gnuplotkurs/gnuplotkurs.html

Da passt du die Eingabebeschreibung des Tools an dein 
Lieblings-Datenformat an und nicht umgekehrt.

von Jean P. (fubu1000)


Lesenswert?

Hi,

Patrick B. schrieb:
> Am liebsten wäre mir,
> wenn ich eine xlt Datei einlesen, dann die entsprechend markierten
> Kollonen mit den Messwerten des MCUs füllen und schliesslich als xls
> speichern könnte.
Schau mal nach miniexcel -->
http://www.codeproject.com/KB/cpp/miniexcel.aspx

oder
Du nimmst das hier viel geliebte Micrsoft Visual Studio und bindest 
Excel als Reference mit ein.

oder
du nimmst QT und schaust dir mal QAxObject Klasse mit/ohne das dumpcpp 
tool an.

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.