Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Excel Datei einbinden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.09.2003, 10:21 Uhr
~xfreak
Gast


Hi,

ich bin dabei ein Programm zu erstellen und nun muß ich Werte aus einer Excel Datei einlesen und verarbeiten können. Wie kann ich das realisieren ohne nochmal komplett neu anzufangen, da ich zu Begin im MFC Anwendungsassistenten nicht die Datenbankunterstützung angeklickt habe?!

Vielen Dank!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.09.2003, 10:25 Uhr
domi73



Du kannst die .tlb oder .olb von Excel in deinem Programm aufnehmen und somit alle Excel-Funktionen benutzen. Du kannst alles machen, Daten lesen, schreiben usw.

Dominic
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.09.2003, 10:45 Uhr
~xfreak
Gast


äh danke erstmal, aber kannst du mir da bißchen mehr infos geben, wie genau das gehen soll?! Hab noch nie was in richtung Datenbank in VC++ gemacht!
Vielen Dank!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.09.2003, 11:04 Uhr
domi73



Es geht nicht um Datenbank. Du muss nur beim Erzeugen deines Programms Automatisierung anklicken.
Über Ansicht->Klassenassistent->Automatisierung->Neue Klasse hinzufügen-> Aus einer Typenbibliothek kannst du die excel.olb-Datei einfügen.

Es werden mehrere Klassen erzeugt werden wo du alle Funktionen von Excel hast.
Du kannst mit


C++:
_Application m_app;

// Commonly used OLE-variants
COleVariant
       covTrue((short)TRUE),
       covFalse((short)FALSE),
       covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

if(!m_app.CreateDispatch("Excel.Application.8"))
{
         AfxMessageBox("Registry Entry missing. Could not create Excel object.");
         return;
}

    //Make the application visible but not minimized
    m_app.SetVisible((long)TRUE);


    // OLE Variant for Optional.
    COleVariant VOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);


    Workbooks books = m_app.GetWorkbooks();

    _Workbook book, book_data, book_user;
    
    book_user = books.Open(m_table_file,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional,
            VOptional
            );



m_tableFile ist der Pfad zu deiner Excel-Tabelle. Du kannst auch eine Text-Datei mit Trennzeichen in einer Tabelle aufmachen. Weiterhin kannst du mit Sheets, Ranges arbeiten um auch einzelnen Zellen anzusprechen.

Dominic

--edit: Pablo. [ cpp ] tags gesetzt --

Dieser Post wurde am 17.09.2003 um 13:01 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.09.2003, 11:16 Uhr
~xfreak
Gast


vielen Dank, das werd ich gleich mal ausprobieren!!
Grüße!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
17.09.2003, 11:21 Uhr
~xfreak
Gast


sorry, aber noch ne dumme(?!) Frage: wie erzeuge ich denn mit Excel ne .olb Datei??!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
17.09.2003, 11:52 Uhr
~xfreak
Gast


nach mehrmaligem lesen hab ich jetzt glaub ich verstanden, dass die Excel Datei nicht .olb sein soll, sondern wohl eine Datei namens excel.olb existieren muß. Aber wo find ich die??! Und am Anfang "Automatisierung" anklicken fällt ja auch flach, da das prog ja schon zur Hälfte fertig ist!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
17.09.2003, 11:56 Uhr
domi73



Die .olb -Datei befindet sich im Verzeichnis wo Excel installiert ist. Die Automatisierung fällt weil du bei der Erstellung deines Programms nicht Automatisierubg angeklickt hast. Du mußt gucken ob in der Programmeinstellungen zu ändern ist, sonst sorry........ mußt neu erstellen.

Dominic
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: