Daten in Excel exportieren /Excel Object Library



  • Hallo zusammen,

    ich möchte gern mein bestehendes Programm dahingehend erweitern, dass ich die Ergebnisse meiner Datenbankabfrage in ein Excel-file schreiben und dort die Ergebnisse über verschiedene Diagramme präsentieren kann.
    Dazu habe ich im Internet ein paar Anleitungen gefunden. Zuerst habe ich im Visual Studio .Net 2003 im Projektmappenexplorer unter "references" (ich hab die englische version) die Microsoft Excel Object Library hinzugefügt. Diese (Excel, Microsoft.Office.Core, VBIDE und stdole) sind bei den Referenzen aufgeführt und die entsprechenden dlls werden vom compiler automatisch beim kompilieren in das debug-verzeichnis gelegt. Zusätzlich habe ich noch die Zeile "using namespace Microsoft::Office::Core;" eingefügt

    Nun möchte ich gernen ein Objekt der Klasse Excel::Application erstellen, das mir eine Excel-Anwendung startet.
    Leider sagt der Compiler, dass 'Excel' keine Klasse oder Namespace ist.

    Hat irgendjemand ne Idee wie ich auf den Excel-Namespace zugreifen kann?
    Hab ich irgendwas vergessen zu includen??

    Ich habe mich an folgendes Beispiel gehalten:

    If it's C++/CLI, right click the solution in the solution explorer, select "References" and in the "References" dialog click on "Add new Reference" and select Microsoft Excel Object Library from the resultant dialog. Once you have a reference to the Excel object library you can create and use objects from the Excel Object Model. Here is some sample code :

    using namespace System::Reflection;

    private: System::Void button1_Click(System::Object* sender,
    System::EventArgs* e) {
    try {
    Excel::Application* xlApp = new Excel::Application();
    xlApp->Visible = true;
    Excel::Workbook* xlBook = xlApp->Workbooks->Add(Missing::Value);
    Excel::Worksheet* xlSheet = static_castExcel::Worksheet*
    ( xlBook->Worksheets->Item[1]);
    xlSheet->Cells[1 , 1] = "hello world";
    }
    catch(Exception* ex) {
    MessageBox::Show(ex->Message);
    }
    }

    Vielen Dank schon mal!!


Anmelden zum Antworten