1. <%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
  2. CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
  3.  
  4. <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
  5. </asp:Content>
  6. <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
  7. <h2>
  8. 欢迎使用 ASP.NET!
  9. </h2>
  10. <p>
  11. 若要了解关于 ASP.NET 的详细信息,请访问 <a href="http://www.asp.net/cn" title="ASP.NET 网站">www.asp.net/cn</a>
  12. </p>
  13. <p>
  14. 您还可以找到 <a href="http://go.microsoft.com/fwlink/?LinkID=152368"
  15. title="MSDN ASP.NET 文档">MSDN 上有关 ASP.NET 的文档</a>
  16. </p>
  17. <p>
  18. <asp:Button ID="Button1" runat="server" Text="显示Excel数据"
  19. onclick="Button1_Click" />
  20. </p>
  21. <p>
  22. <asp:GridView ID="GridView1" runat="server" Width="100%">
  23. <Columns>
  24. <asp:TemplateField HeaderText="操作">
  25. <ItemTemplate>
  26. <asp:Button ID="Button3" runat="server" Text="删除"
  27. CommandArgument='<%# Eval("编号") %>' onclick="Button3_Click" />
  28. <asp:Button ID="Button4" runat="server" Text="编辑"
  29. CommandArgument='<%# Eval("编号") %>' onclick="Button4_Click" />
  30. </ItemTemplate>
  31. </asp:TemplateField>
  32. </Columns>
  33. </asp:GridView>
  34. </p>
  35. <p>
  36. 编号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  37. </p>
  38. <p>
  39. 姓名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  40. </p>
  41. <p>
  42. 性别:&nbsp;<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
  43. </p>
  44. <p>
  45. <asp:Button ID="Button2" runat="server" Text="新增" onclick="Button2_Click" />
  46. <asp:Button ID="Button5" runat="server" Text="提交" onclick="Button5_Click"
  47. style="height: 21px" />
  48. </p>
  49. <p>
  50. &nbsp;</p>
  51. <p>
  52. &nbsp;</p>
  53. <p>
  54. &nbsp;</p>
  55. <p>
  56. &nbsp;</p>
  57. </asp:Content>
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8. using System.Data.OleDb;
  9.  
  10. namespace WebApplication1
  11. {
  12. public partial class _Default : System.Web.UI.Page
  13. {
  14.  
  15. string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=yes'";
  16. protected void Page_Load(object sender, EventArgs e)
  17. {
  18. string fileName = "content/student.xls";
  19. fileName = Server.MapPath(fileName);
  20. connStr = string.Format(connStr,fileName);//连接字符串
  21.  
  22. }
  23.  
  24. protected void Button1_Click(object sender, EventArgs e)
  25. {
  26. //读取student.xls文件中的学生数据
  27. BindList();
  28.  
  29. }
  30.  
  31. private void BindList()
  32. {
  33. string sql = "select * from [Sheet1$]";
  34. OleDbConnection conn = new OleDbConnection(connStr);
  35. conn.Open();
  36. OleDbCommand cmd = new OleDbCommand(sql, conn);
  37.  
  38. OleDbDataAdapter da = new OleDbDataAdapter(cmd);
  39.  
  40. DataTable dt = new DataTable();
  41. da.Fill(dt);
  42. conn.Close();
  43. GridView1.DataSource = dt;
  44. GridView1.DataBind();
  45. }
  46. //新增
  47. protected void Button2_Click(object sender, EventArgs e)
  48. {
  49. string sql = "insert into [Sheet1$] values(@a,@b,@c)";
  50. OleDbConnection conn = new OleDbConnection(connStr);
  51. conn.Open();
  52. OleDbCommand cmd = new OleDbCommand(sql,conn);
  53. OleDbParameter[] pm = new OleDbParameter[];
  54. pm[] = new OleDbParameter("@a",TextBox1.Text);
  55. pm[] = new OleDbParameter("@b",TextBox2.Text);
  56. pm[] = new OleDbParameter("@c",TextBox3.Text);
  57. foreach (OleDbParameter item in pm)
  58. {
  59. cmd.Parameters.Add(item);
  60. }
  61. int i = cmd.ExecuteNonQuery();
  62. conn.Close();
  63. if (i>)
  64. {
  65. Response.Write("新增成功");
  66. BindList();
  67. }
  68. else
  69. {
  70. Response.Write("新增失败");
  71. }
  72. }
  73. //删除
  74. protected void Button3_Click(object sender, EventArgs e)
  75. {
  76. Button bt= sender as Button;
  77. string id = bt.CommandArgument;
  78.  
  79. }
  80. //编辑
  81. protected void Button4_Click(object sender, EventArgs e)
  82. {
  83. string sql = "select * from [Sheet1$] where 编号=@a";
  84. Button bt = sender as Button;
  85. string id = bt.CommandArgument;
  86. OleDbParameter pm = new OleDbParameter("@a", id);
  87. OleDbConnection conn = new OleDbConnection(connStr);
  88. conn.Open();
  89. OleDbCommand cmd = new OleDbCommand(sql,conn);
  90. cmd.Parameters.Add(pm);
  91. OleDbDataReader sdr = cmd.ExecuteReader();
  92. bool b = sdr.Read();
  93. if (b==true)
  94. {
  95. TextBox1.Text = sdr["编号"].ToString();
  96. TextBox2.Text = sdr["姓名"].ToString();
  97. TextBox3.Text = sdr["性别"].ToString();
  98. }
  99. conn.Close();
  100. }
  101. //提交
  102. protected void Button5_Click(object sender, EventArgs e)
  103. {
  104. string sql = "update [Sheet1$] set 姓名=@b,性别=@c where 编号=@a";
  105. OleDbParameter[] pm = new OleDbParameter[];
  106. pm[] = new OleDbParameter("@a",TextBox1.Text);
  107. pm[] = new OleDbParameter("@b",TextBox2.Text);
  108. pm[] = new OleDbParameter("@c",TextBox3.Text);
  109.  
  110. OleDbConnection conn = new OleDbConnection(connStr);
  111. conn.Open();
  112. OleDbCommand cmd = new OleDbCommand(sql,conn);
  113. foreach (OleDbParameter item in pm)
  114. {
  115. cmd.Parameters.Add(item);
  116. }
  117. int i = cmd.ExecuteNonQuery();
  118. conn.Close();
  119. if (i>)
  120. {
  121. BindList();
  122. Response.Write("修改成功");
  123. }
  124. else
  125. {
  126. Response.Write("修改失败");
  127. }
  128. }
  129. }
  130. }

模板页显示Excel数据Gridview增删改查的更多相关文章

  1. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

  2. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  3. vue实现对表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  4. vue实现对数据的增删改查(CURD)

    vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...

  5. 基于vue-easytable实现数据的增删改查

    基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...

  6. vue实现数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  7. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  8. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  9. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

随机推荐

  1. em和rem及rem在移动的应用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style t ...

  2. 夺命雷公狗---微信开发56----微信js-sdk接口开发(3)所有接口功能

    按照上节课程里面的介绍,我们可以先将刚才在signatrue.php里获取到的信息填写进jssdk.htm模版文件里填写各个权限的参数 jssdk.htm代码如下: <!DOCTYPE html ...

  3. opencv载入,显示及保存图像

    1.声明一个表示图像的变量,在OpenCV2中,这个变量是cv::Mat类型,该类是用于保存图像以及其他矩阵数据的数据结构.默认情况下它们的尺寸为0. cv::Mat  image;       // ...

  4. Openstack的error僵尸实例的解决办法

    在我们对集群环境进行各种调整的情况下,很容易产生一些僵尸实例. 僵尸实例主要是没有该主机,但是在dashboard上,数据库中存在,解决办法网络上有的人给出了繁杂的修改数据库的方法,其实按照下面的命令 ...

  5. plsql 简单介绍

    plsql的安装: 1. 安装plsql developer 2. 下载,解压instantclient到任意目录 3. 在instantclient解压目录下,新建NETWORK目录,在该目录下建A ...

  6. JavaSPI机制学习笔记

    最近在阅读框架源代码时,常常看到 SPI 的子包, 忍不住查了下: Service Provider Interface : 服务提供接口. JavaSPI 实际上是“基于接口的编程+策略模式+配置文 ...

  7. 6.1:SportStore:一个真实的应用

    之前的小例子让我们演示了AngularJS的一些特性,但他们缺少上下文.要解决这个问题,作者要创建一个简单单真实的电子商务应用. 作者将创建一个在线产品分类,客户可以通过分类和页面浏览,一个购物车用户 ...

  8. ios tabbar 文字位置

    [nav.tabBarItem setTitlePositionAdjustment)];

  9. discuz模板文件列表

    template/default/common模板公共文件夹,全局相关     |--block_forumtree.htm 树形论坛版块分支js文件     |--block_thread.htm特 ...

  10. Oracle性能优化--DBMS_PROFILER

      想看到过程或者函数执行每一步的过程:想看到每一步所占的时间吗?借助profiler吧:它可以满足你来分析过程/函数执行比较久:可以直接快速找到病因:从而可以优化那一步需要优化下.        一 ...