Umgang mit ungültigen Zeichen im OleDb in Excel importieren?

Ich bin das importieren von excel-Dateien auf meine Bewerbung und manchmal Arbeitsblätter Spalte mit Namen " $ " - Zeichen in es. Erhalte ich diese Exception:

System.Data.OleDb.OleDbException was unhandled
Message=''6um$'$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long.

In diesem Blatt "6um$" ist eine Spalte mit Namen.

Dies ist mein code:

OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString);
OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter(
    "select * from [" + worksheetName + "$]", con);

con.Open();
System.Data.DataSet excelDataSet = new DataSet();
cmd.Fill(excelDataSet);
con.Close();

Irgendwelche Ideen, wie mit dieser situation umzugehen?

Edit:

Ich dachte, das problem war, dass $ in der Spalte name. Aber stellt sich heraus, Das problem ist, dass $ - Zeichen in Arbeitsblatt name!

  • Dies ist eine Vermutung, ich bin mir also nicht darum, als Antwort. Versucht, setzen die einfache oder doppelte Anführungszeichen oder eckige Klammern [] um den problematischen Spaltennamen UND die Beseitigung der "*". ab Wählen Sie [$omeColumn], ColB, ColC von [Sheet1$].
InformationsquelleAutor Amir | 2013-02-14
Schreibe einen Kommentar