Vorarbeit
Codebeispiel
using System;
using System.Data.OleDb;
OleDbConnection con = null;
try
{
// Excel-Datei, die geöffnet werden soll
string sExcelFile = "c:\\mytable.xls";
// Connection-String für Excel 2003
string sConnString2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\""+sExcelFile+"\"; Extended Properties=\"Excel 8.0;HDR=YES;\";";
// Connection-String für Excel 2007
string sConnString2007 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\""+sExcelFile+"\"; Extended Properties=\"Excel 12.0;HDR=YES;\";";
// beispielsweise Verbindung zu Excel 2007 herstellen
con = new OleDbConnection(sConnString2007);
con.Open();
// Daten lesen
// über Named Range
string sSQL = "SELECT * FROM tabellenname";
// über Worksheet-Name, wobei die Worksheet den Namen "WorkSheet1" hat
//sSQL = "SELECT * FROM [WorkSheet1$]";
OleDbCommand cmd = new OleDbCommand(sSQL, con);
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0}: {1}", reader.GetString(0), reader.GetString(1) ...
}
// Daten schreiben
sSQL = "INSERT INTO tabellenname VALUES('12345', 'Horst')";
// über Worksheet-Name, wobei die Worksheet den Namen "WorkSheet1" hat
//sSQL = "INSERT INTO tabellenname VALUES('12345', 'Horst')";
cmd = new OleDbCommand(sSQL, con);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}