Sortieren von Exceltabellen

Hallo,

ich möchte per C# eine Exceltabelle sortieren. Hab auch ein tutorial gefunden, wo eine Lösung beschrieben wird. Das Problem besteht darin, dass man auf
„Microsoft.Office.Tools.Excel.NamedRange“ zugreifen muss.
Bei mir gibt es jedoch kein „Tools“ sondern nur „Interop“ und „Core“.
Ich arbeite mit Microsoft Visual C# 2005 Express Edition.

Danke!
Gruß, Jonas

Hallo Jonas,

ganz schlau bin ich auch noch nicht, aber vieleicht hilft es.
ME muss man erst Objekte über c# erzeugen, die dann weitere Eigenschaften anbieten. Der direkte Durchgriff scheint nicht zu funktionieren.

Excel.Application excelApplication = new Excel.Application();
//das gewünschte sheet an Var übergeben
Excel.Worksheet sh = excelApplication.Workbooks[0].Worksheets[0];
sh.get\_Range(sh.Cells[1, 1], sh.Cells[10,10]).sort(...)

in sort dann die notwendigen Parameter eintragen.
Hab’s nicht getestet, sollte aber so klappen…

Warum machst du das überhaupt in Excel? Ich schreibe per c# nach dort. Alles was zu berechnen oder sortieren ist mache ich vorher! Interop ist defintiv langsam!

mfg

Dirk.Pegasus

Hi Jonas,

wenn du die daten in dein applikation verarbeiten willst kannst du es mit eine ado.net zugriff machen.
XLSconnStr = „Provider=Microsoft.Jet.OLEDB.4.0;“ +
„Data Source=c:\deinedatei.xls;Extended Properties=Excel 8.0“;
OleDbConnection xlsConn = new OleDbConnection(XLSconnStr);
String strSQL = „SELECT * FROM [Tabelle1$] ORDER BY deinfeld“;
OleDbCommand xlsCommand = new OleDbCommand(strSQL, xlsConn);
XLSconn.Open();

dann mittels datareader oder dataadapter die daten auslesen um weiter zu benutzen.

cheers woolli.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]