4 Stimmen

Wie man eine Excel-Datei in C# mit einer detaillierten Abfrage abfragt

Der folgende Code gibt Daten aus einer Kalkulationstabelle perfekt in ein Raster zurück

[
        string excelConnectString = "Provider = Microsoft.Jet.OLEDB.4.0;" +
            "Data Source = " + excelFileName + ";" +
            "Extended Properties = Excel 8.0;";

        OleDbConnection objConn = new OleDbConnection(excelConnectString);
        OleDbCommand objCmd = new OleDbCommand("Select * From [Accounts$]", objConn);

        OleDbDataAdapter objDatAdap = new OleDbDataAdapter();
        objDatAdap.SelectCommand = objCmd;
        DataSet ds = new DataSet();
        objDatAdap.Fill(ds);
        fpDataSet_Sheet1.DataSource = ds;//fill a grid with data
]

Das Tabellenblatt, das ich verwende, hat Spalten mit den Namen A und so weiter (nur Standard-Spaltennamen) und der Name des Blattes ist Accounts.

Ich habe ein Problem mit der Abfrage ...

  [OleDbCommand objCmd = new OleDbCommand("Select * From [Accounts$]", objConn);]

Wie kann ich die Abfragezeichenfolge so gestalten...

"Select <columnA>,<columnB>,SUM<columnG> from [Accounts$] group by <columnA>,<columnB>"

so dass er die Ergebnisse dieser Abfrage zurückgibt

Anmerkung: SpalteA ist A auf Blatt, SpalteB ist B auf Blatt und SpalteG ist G auf Blatt

Andere mögliche Alternativen:

  1. Ich habe die Daten dieser Excel-Tabelle in einem DataTable-Objekt, wie kann ich das DataTAble-Objekt abfragen
  2. Ich habe über ein DataView-Objekt gelesen, dass es eine Tabelle nehmen und die Tabelle entsprechend manipuliert zurückgeben kann ( <dataviewObject>.RowFilter = "where..." ), aber ich weiß nicht, wie ich die gewünschte Abfrage verwenden soll.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X