C#创建、读取和修改Excel的方法

作者:令狐不聪 时间:2023-02-24 06:28:16 

本文实例讲述了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#程序设计有所帮助。

标签:C#,Excel
0
投稿

猜你喜欢

  • SpringBoot 2.x整合Log4j2日志的详细步骤

    2022-08-05 09:50:19
  • 怎样使用PowerMockito 测试静态方法

    2022-06-18 08:28:59
  • Opencv EigenFace人脸识别算法详解

    2023-07-21 19:30:17
  • SpringBoot后端上传文件类型检测方式

    2021-07-02 05:00:04
  • C#使用GDI绘制直线的方法

    2022-08-16 09:45:17
  • java实现发送邮件的示例代码

    2023-07-04 17:00:54
  • java 如何远程控制tomcat启动关机

    2023-04-10 03:21:47
  • Junit测试多线程无法得到结果的问题解决

    2023-01-01 22:12:52
  • Android需要提升权限的操作方法

    2021-07-17 11:25:47
  • JAVA反射机制实例详解

    2021-11-08 13:39:34
  • SpringBoot 添加本地 jar 文件的操作步骤

    2022-03-09 21:36:11
  • Unity打开淘宝app并跳转到商品页面功能的实现方法

    2023-06-17 01:05:18
  • 举例分析Python中设计模式之外观模式的运用

    2021-11-24 01:54:48
  • Java简单高效实现分页功能

    2022-05-24 13:56:02
  • SpringBoot之webflux全面解析

    2022-09-27 12:07:20
  • java控制台输出百分比进度条示例

    2023-08-21 22:58:20
  • SpringBoot中的Aop用法示例详解

    2023-03-31 14:12:00
  • 安卓中出现过的一些容易被忽略的异常整理

    2023-12-17 06:27:53
  • C#多线程之线程池ThreadPool用法

    2021-07-21 06:28:40
  • Android Studio设置绘制布局时的视图

    2021-09-05 08:15:46
  • asp之家 软件编程 m.aspxhome.com