Connecting
to a Microsoft Excel Workbook
1)Create
workbook and sheet
using
System;
using
System.Configuration;
using
System.Data;
private
OleDbDataAdapter da;
private
DataTable dt;
// . . .
private
void ExcelForm_Load(object sender, System.EventArgs e)
{
// Create the DataAdapter da
da = new OleDbDataAdapter("SELECT *
FROM [Sheet1$]",
ConfigurationSettings.AppSettings["Excel_0115_ConnectString"]);
// Create the insert command.
String insertSql = "INSERT INTO
[Sheet1$] " +
"(CategoryID, CategoryName,
Description) " +
"VALUES (?, ?, ?)";
da.InsertCommand =
new OleDbCommand(insertSql,
da.SelectCommand.Connection);
da.InsertCommand.Parameters.Add("@CategoryID",
OleDbType.Integer, 0,
"CategoryID");
da.InsertCommand.Parameters.Add("@CategoryName",
OleDbType.Char, 15,
"CategoryName");
da.InsertCommand.Parameters.Add("@Description",
OleDbType.VarChar, 100,
"Description");
// Create the update command.
String updateSql = "UPDATE [Sheet1$]
" +
"SET CategoryName=?, Description=?
" +
"WHERE CategoryID=?";
da.UpdateCommand =
new OleDbCommand(updateSql,
da.SelectCommand.Connection);
da.UpdateCommand.Parameters.Add("@CategoryName",
OleDbType.Char, 15,
"CategoryName");
da.UpdateCommand.Parameters.Add("@Description",
OleDbType.VarChar, 100,
"Description");
da.UpdateCommand.Parameters.Add("@CategoryID",
OleDbType.Integer, 0,
"CategoryID");
// Fill the table from the Excel
spreadsheet.
dt = new DataTable( );
da.Fill(dt);
// Define the primary key.
dt.PrimaryKey = new DataColumn[]
{dt.Columns[0]};
// Records can only be inserted using this
technique.
dt.DefaultView.AllowDelete = false;
dt.DefaultView.AllowEdit = true;
dt.DefaultView.AllowNew = true;
// Bind the default view of the table to
the grid.
dataGrid.DataSource = dt.DefaultView;
}
private
void updateButton_Click(object sender, System.EventArgs e)
{
da.Update(dt);
}
No comments:
Post a Comment