本文实例讲述了C#创建、读取和修改Excel的方法。分享给大家供大家参考。具体如下:
windows下我们可以通过 Jet OLE DB访问Excel,就行访问数据库一样
// Namespaces, Variables, and Constants
using System;
using System.Configuration;
using System.Data;
private OleDbDataAdapter da;
private DataTable dt;
private void Excel_Load(object sender, System.EventArgs e)
{
// Create the DataAdapter.
da = new OleDbDataAdapter(\"SELECT * FROM [Sheet1$]\", ConfigurationSettings.AppSettings[\"ExcelConnectString1\"]);
// 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);
}
希望本文所述对大家的C#程序设计有所帮助。