Forum: PC-Programmierung C++ fstream excel


von Der Lars (Gast)


Lesenswert?

Moin moin,
ich hoffe hier kann mir jemand weiter helfen.
Momentan bin ich dabei meine C++ Kenntnisse ein wenig zu erweitern und 
schreibe grade ein kleines Programm, welches Daten in eine Excel Datei 
schreibt.

Zur Info:
Ich benutze Dev-c++.
Der Compiler ist glaube ich Minggw.

der Code sieht wie folgt aus:
1
#include <fstream>
2
#include <iostream>
3
using namespace std;
4
5
int main()
6
{
7
    fstream filestream("excel.xls", ios::out | ios::trunc); //Datei erzeugen;
8
    filestream.close(); //Datei schließen;
9
    
10
    filestream.open("excel.xls", ios::in | ios::out); //Datei wieder öffnen;
11
    filestream << "Hallo Welt" << endl; //Zelle A1 wird mir "Hallo Welt beschrieben und durch "endl" in Zelle A2 gesprungen
12
    filestream << "Moin moin"; //Zelle A2 wird mit "Moin moin" beschrieben
13
       
14
}

Mein konkretes Problem ist nun dass ich angeben möchte in welche Zelle 
der Text geschrieben werden soll.
Also ich möchte zum Beispiel im Code sagen: "Schreibe in Zelle B4 Moin 
Moin"
Kann mir da jemand weiterhelfen?
Tante google habe ich natürlich auch schon gefragt. Sie konnte mir aber 
auch nicht wirklich weiter helfen.

von Nico S. (Gast)


Lesenswert?

Eine .xls-Datei muss im Excel-Dateiformat gebildet werden. Da reicht es 
nicht, einfach irgendwelche Nur-Text-Werte zeilenweise reinzukloppen.

Relativ einfach und von Excel ebenfalls lesbar ist das CSV-Format; hier 
steht, wie du die Datei bilden musst:

http://de.wikipedia.org/wiki/CSV_(Dateiformat)

von Der Lars (Gast)


Lesenswert?

Okay. Vielen Dank ich werde mal schauen ob mich das weiter bringt. :-)

von Klaus W. (mfgkw)


Lesenswert?

CSV würde ich auch spontan vorschlagen.

Prinzipiell kann man auch mit Windowsfunktionen Excel etc.
fernsteuern, sofern es auf dem aktuellen Rechner installiert
ist. Damit wäre dann ein echtes Erzeugen einer .xls möglich.
Ich glaube aber nicht, daß es den Aufwand wert ist.

Der dritte Weg ist, die Datei zusätzlich mit |ios::excel
zu öffnen. Wenn das nicht vorhanden ist, dann bei MS beschweren!

von Arc N. (arc)


Lesenswert?

Oder man kann die kleine VCL (Borland C++Builder/Delphi) Komponente zum 
Schreiben von XLS-Dateien portieren
http://www.torry.net/authorsmore.php?id=2171
oder macht sowas http://openxmldeveloper.org/forums/thread/55592.aspx

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Mit Apache POI (http://poi.apache.org/) kann man direkt auf 
Excel-Dateien zugreifen und sie bearbeiten, auch unter Linux, leider 
aber nur mit Java.

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.