Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Exceltabelle aus Array erstellen

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
20.09.2007, 07:59 Uhr
~frank12
Gast


Hallo zusammen,
ich hab ein kleines Problem, ich lese in C++ 2 Arrays ein (Konsolenanwendung) und möchte diese in jeweils eine Spalte einer Exceltabelle schreiben. kann mir jemand ein kleines Beispiel nennen wie ich die excel datei erzeuge und hineinschreibe...
danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.09.2007, 09:59 Uhr
~frank12
Gast


kann mir denn keiner von euch mal bitte einen tip geben, ich bin hier am verzweifeln, hab schon das ganze forum durchsucht aber nichts passendes für mich gefunden...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.09.2007, 10:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hmm also gerade mal zwei Stunden gewartet und das um die Uhrzeit. Hier beantworten hauptsäclich Studenten fragen. Nicht so ungeduldig...

Der Code ist weder gut noch neu funktioniert aber


C++:
#import <mso9.dll> no_namespace rename("DocumentProperties", "DocumentPropertiesXL")  
#import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\VBA\VBA6\vbe6ext.olb" no_namespace  
#import <excel9.olb> rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces

#pragma warning (disable:4192)
#pragma warning (disable:4146)


#include <stdio.h>
#include <tchar.h>

void dump_com_error(_com_error &e)
{
    _tprintf(_T("Oops - hit an error!\n"));
    _tprintf(_T("\a\tCode = %08lx\n"), e.Error());
    _tprintf(_T("\a\tCode meaning = %s\n"), e.ErrorMessage());
    _bstr_t bstrSource(e.Source());
    _bstr_t bstrDescription(e.Description());
    _tprintf(_T("\a\tSource = %s\n"), (LPCTSTR) bstrSource);
    _tprintf(_T("\a\tDescription = %s\n"), (LPCTSTR) bstrDescription);
}


struct StartOle {
    StartOle() { CoInitialize(NULL); }
    ~StartOle() { CoUninitialize(); }
} _inst_StartOle;



void main()
{
    using namespace Excel;

    _ApplicationPtr pXL;
    try {
    
    if (pXL.GetInterfacePtr() == NULL) pXL.CreateInstance(L"Excel.Application.9"); //check ob es schon laeuft
    
    pXL->Visible = VARIANT_TRUE;
//    pXL->Visible = VARIANT_FALSE;

    WorkbooksPtr pBooks;
    _WorkbookPtr pBook;    
    WorksheetsPtr pSheets;
    _WorksheetPtr pSheet;


    pBooks= pXL->Workbooks;
    pBook = pBooks->Add((long)Excel::xlWorksheet);    //vohandenes Dokument mit pBooks->Open("c:\\test.xls"); öffnen
    pSheets = pBook->GetWorksheets();
//    pSheets->Add();                                    //Blatt hinzufuegen
    pSheet=pBook->ActiveSheet;
    pSheet->Name="test";                            //Blattname ändern
    //pSheets->Delete();                            //Blatt löschen

    double q=354.6;
    pXL->Range["test!A7"]->Value2=q;            
    pXL->Range["test!A8"]->Value2=q+3;            

    pXL->Range["test!A9"]->Formula="=Sum(A7:A8)";        //bei Formeln englische Namen verwenden sonst Problem            
//    pXL->Range["test!D26"]->Formula="=Var(D20:D24)";            
//    pXL->Range["test!D27"]->Formula="=Average(D20:D24)";            

    pXL->Range["test!B7"]->Value2="20.03.2003";            
    pXL->Range["test!B8"]->Value2="13:50";

    pXL->Range["test!A7:test!A9"]->Font->Bold = true; //Fett schreiben



//    pBook->Save();    // wenn mit open geöffnet
//saveas funzt bei mir nicht so kann man das umgehen
    pBook->SaveCopyAs("c:\\test.xls");
    pBook->Close(false);    //damit der die aktuelle nicht speichert
    
    pXL->Quit();
    
    } catch(_com_error &e) {
    dump_com_error(e);

    }
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 20.09.2007 um 10:15 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.09.2007, 10:29 Uhr
~Frank12
Gast


vielen dank,
sorry das ich etwas ungeduldig war...
eine Frage noch, wo bekomme ich die Datei mso9.dll her, die gibt es bei mir nicht...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.09.2007, 11:14 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


vom office paket? mso9.dll dürfte office 2002 sein? evtl hast du eine mso10 wenn du office 2003 hast. musst einfach mal suchen welche du da hast
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: