C#创建、读取和修改Excel

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

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);
}