2017-09-18 2 views
0

ich schreibe diesen Code execl Blatt paricular Blatt zu aktualisieren versuche:Nicht in der Lage in Excel-Zelle zu aktualisieren woksheet mit oledb Verbindung

connExcel.Open(); 
    string SheetName = null; 
    DataTable dtExcelSchema = null; 
    dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
    //checking sheet name 
    if (dtExcelSchema.Rows[2]["TABLE_NAME"].ToString().Contains("_xlnm#Database")) 
    { 
     SheetName = dtExcelSchema.Rows[2]["TABLE_NAME"].ToString(); 
    } 

    if (!dtExcelSchema.Rows[2]["TABLE_NAME"].ToString().Contains("_xlnm#Database")) 
    { 
     SheetName = dtExcelSchema.Rows[2]["TABLE_NAME"].ToString(); 
    } 
    dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, SheetName, null }); 
    OleDbCommand cmd = new OleDbCommand("UPDATE [" + SheetName + "] SET F11=22052", connExcel); 
    int result = cmd.ExecuteNonQuery(); 
    Console.WriteLine(result); 
    connExcel.Close(); 

Aber diese Update-Abfrage wird die gesamte Spalte zu aktualisieren, während ich besonders einfach aktualisieren möge Zelle in Excel sagen 'C9' accodring zu Excel-Blatt.

Jede Hilfe wird geschätzt.

Mein Excel-Tabelle sieht wie folgt aus .. Excel template

Antwort

0

Ich denke, die Syntax sind Missverständnisse. Sie tun es wie folgt aus:

OleDbCommand cmd = new OleDbCommand("UPDATE ["+ SheetName +"$C9:C9] SET F11=22052", connExcel); 
+0

ich diese Störung erhalte "Die Microsoft Access-Datenbank-Engine das Objekt nicht finden konnte '' Tabelle I $ 'C9 $: C9'". Kannst du mir auch sagen, wie kann ich Zeile 9 in Excel-Tabelle aktualisieren – abhishek

+0

@abhishek Dieser Fehler trat im Allgemeinen auf, wenn Sie nicht haben "Tabelle I $ '$ C9: C9" in Excel-Datei. –

+0

@abhishek Möchten Sie eine Zelle in Zeile 9 aktualisieren? –

Verwandte Themen