C# Excel 생성, 읽기 및 수정

6405 단어 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);

}

// : http://www.sharejs.com/codes/csharp/7754

좋은 웹페이지 즐겨찾기