Excel mit C# öffnen

Malaxo

Erfahrenes Mitglied
Hey Leute, ich weiss es wird öffters gefragt. Jedoch krieg ich es nicht hin.:rolleyes:

Wie öffne ich in C# eine Excel Datei und lese aus dieser Daten aus?

Hat jemand ein passendes Tutorial für das? Oder ein ganz schlichtes Beispiel?

Imports...
Datei öffnen...
Zelle A1 und A2 einlesen und in Variable speichern
Variable A1 und A2 ausgeben......

Das würde mir schon sehr helfen.

Besten Dank
 

Malaxo

Erfahrenes Mitglied
Schaff es nicht bin schon einige Tage da dran...

Es müsste so sein das, das Excel File irgend wo liegt z.B. auf einem Anderen Server oder so. Dazu sollte es schlussendlich in Sharepoint laufen (aber spielt ja eigentlich keine rolle).

Ich muss das Excel File öffnen können und z.B. B2 + G5 auslesen und als variable haben in C#

Bitte um Hilfe schaff es echt nicht:p

Verweise:
Excel
Mircorsoft.office.core
Microsoft.Sharepoint
System
System.Web
System.Xml
VBIDE

Code:
Code:
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace Excelreader
{
    [Guid("8db383a3-7a57-40bb-b943-68ce057fe8ad")]
    public class Excelreader : System.Web.UI.WebControls.WebParts.WebPart
    {
        protected override void Render(HtmlTextWriter writer)
        {
        }
    }
}

Danke an die C# gurus:) ich bin noch ziemlich neu aber brauche es leider dringend.
 

Malaxo

Erfahrenes Mitglied
Hab es immer noch nicht hin bekommen. :confused: Hehe ich geb Sharepoint die Schuld, damit ich keine habe:)

Wenn mir niemand von euch Helfen kann, lass ich es halt. Wäre halt schon cool gewesen:)

THX
 

Malaxo

Erfahrenes Mitglied
Hehe was ich habe? dies Hier:

Code:
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace Excelreader
{
    [Guid("8db383a3-7a57-40bb-b943-68ce057fe8ad")]
    public class Excelreader : System.Web.UI.WebControls.WebParts.WebPart
    {
        private Excel.Application ExcelObj = null;
        protected override void Render(HtmlTextWriter writer)
        {
        }
    }
}

Und folgende Verweise:
Excel
Microsoft.Office.Core
Microsoft.SharePoint
System
System.Web
System.Xml
VBIDE

***************************

Alle Beispiele sind in Form / MessegeBoxen etc. dies kann ich leider nicht umsetzten. Bin nicht so der C# Guru.

Bin über jeden Tipp oder so sehr froh.
 

Malaxo

Erfahrenes Mitglied
OK es läuft so:

Es gibt ein Excel in der Daten gespeichert werden von diesem Excel muss ich jeweils A2 und C3 z.B. auslesen (immer die gleichen Zellen).
In Sharepoint muss ich ein Webpart machen das mir dieses Excel öffnet das auf einem Server bei uns drauf ist Hostname XY und mir von diesem Excel die Zelle A2 und C3 ausgibt.

Das heisst ich muss in C# eine verbidung zum Servermachen und den Pfad zur Datei angeben (Datei ist freigegeben) \\Hostname\X$\Excelfile.xls. Die Zellen auslesen die ich brauche und einmal als Variable zum weiterverarbeiten behalten. Die Ausgabe basiert dann Online in Sharepoint (Tabelle die im Render Output erstellt wird und diese 2 Zellen beinhaltet).

Irgend wann mal ist in Planung das Excel File in eine Datenbank zu schreiben doch bis das der Fall ist muss ich das Excel öffnen und die Zellen auslesen können.

Doch ich bekomms einfach nicht hin immer wenn ich wieder etwas versuche dreh ich durch nach ein paar Stunden und daher sieht mein Stand immer gleich aus:)
 

Christian Kusmanow

Erfahrenes Mitglied
So, ich hab Dir jetzt mal ein paar Threads unter meinem Namen gesucht:
[thread=218560]Inhalt einer Excel-Zelle - Thread[/thread] (via Interop. Hier findest übrigens ne Menge Links zum Thema. ;))

[thread=231123]Mit Textwriter in Excel Zellen schreiben - Thread[/thread] (via Microsoft.Jet.OLEDB)
 

Norbert Eder

Erfahrenes Mitglied
Kleines Beispiel:
C#:
using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
C#:
string filename = "MeinPfad";
Excel.Application exlApp = new Excel.Application();
Excel.Workbook wb = exlApp.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

//Ersters Worksheet öffnen
Excel.Worksheet wc = (Excel.Worksheet)wb.Worksheets[1];

//Hier dann auf die entsprechenden Spalten und Zeilen zugreifen


Marshal.ReleaseComObject(wc);

wb.Close(false, Type.Missing, Type.Missing);
Marshal.ReleaseComObject(wb);
exlApp.Quit();
Marshal.ReleaseComObject(exlApp);