http://blog.csdn.net/loveheronly/article/details/6715552

项目中经常用到导入导出的例子,前面做了导出的例子,现在把导入Excel的数据的例子也把它晾出来,不足之处,请大家多多指教。

1.导入前的视图Excel和页面视图

3.前台代码

  1. <body>
  2. <form id="form1" runat="server">
  3. <div>
  4. <asp:Label ID="Label1" runat="server" Text="请选择上传文件(.xls)"></asp:Label>
  5. <asp:FileUpload ID="fUExcel" runat="server" />
  6. <asp:Button ID="btnExcel" runat="server" Text="确定" OnClick="btnExcel_Click" />
  7. <asp:GridView ID="gvExcelData" runat="server" BackColor="LightGoldenrodYellow"
  8. BorderColor="Tan" BorderWidth="1px" CellPadding="" ForeColor="Black"
  9. GridLines="None">
  10. <FooterStyle BackColor="Tan" />
  11. <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue"
  12. HorizontalAlign="Center" />
  13. <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
  14. <HeaderStyle BackColor="Tan" Font-Bold="True" />
  15. <AlternatingRowStyle BackColor="PaleGoldenrod" />
  16.  
  17. </asp:GridView>
  18. </div>
  19. </form>
  20. </body>

4.后台代码

  1. protected void btnExcel_Click(object sender, EventArgs e)
  2. {
  3. HttpPostedFile p = fUExcel.PostedFile;
  4. string filename = DateTime.Now.ToString("yyyyMMddHHmm") + Path.GetFileName(p.FileName);
  5. if (!Directory.Exists(Server.MapPath(@"~/upload" + "//")))
  6. Directory.CreateDirectory(Server.MapPath(@"~/upload" + "//"));
  7. string filePath = Server.MapPath(@"~/upload" + "//" + filename);
  8. fUExcel.SaveAs(filePath);
  9. if (filename != "")
  10. {
  11. if (filename.Contains("xls"))
  12. {
  13. OleDbConnection oleCon = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source='" + filePath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'");
  14. oleCon.Open();
  15. string Sql = "SELECT * FROM [Sheet1$] ";
  16. OleDbDataAdapter mycommand = new OleDbDataAdapter(Sql, oleCon);
  17. DataSet ds = new DataSet();
  18. mycommand.Fill(ds, "[Sheet1$]");
  19. oleCon.Close();
  20. int count = ds.Tables["[Sheet1$]"].Rows.Count;
  21. for (int i = ; i < count; i++)
  22. {
  23. string ItemId = ds.Tables["[Sheet1$]"].Rows[i]["项目Id"].ToString().Trim();
  24. string Fixnumber = ds.Tables["[Sheet1$]"].Rows[i]["用户号码"].ToString().Trim();
  25. string LinkMan = ds.Tables["[Sheet1$]"].Rows[i]["联系人姓名"].ToString().Trim();
  26. //这里可以写插入数据库的代码
  27. }
  28. gvExcelData.DataSource = ds;
  29. gvExcelData.DataBind();
  30. Response.Write("<script>window.alert('导入数据成功!');</script>");
  31. }
  32. else
  33. {
  34. Response.Write("<script>window.alert('请检查您选择的文件是否为Excel文件!');</script>");
  35. return;
  36. }
  37. }
  38. else
  39. {
  40. Response.Write("<script>window.alert('请先选择导入文件后,再执行导入!');</script>");
  41. return;
  42. }
  43.  
  44. }

5.注意得引入命名空间

  1. using System.IO;
  2. using System.Data.SqlClient;
  3. using System.Data.OleDb;
  4. using System.Data.Sql;

6.最后一点就是你要导入的Excel表的表头是

项目Id、用户号码、联系人姓名

导入Excel后绑定GridView实例的更多相关文章

  1. 润乾填报页面导入excel后增加js动作

     当页面从excel中导入数据之后,自动加入js的检查功能,下面是如何在导入excel后直接引入js的功能实例: var _orgImportExcel = report1_importExcel ...

  2. 进度条在.net导入Excel时的应用实例

    这篇文章主要介绍了进度条在.net导入Excel时的应用,以实例形式讲述了.net导入Excel时根据页面情况显示进度条的实现方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了进度条在.ne ...

  3. 原生PHP网页导出和导入excel文件实例

    原生PHP实现的网页导出和导入excel文件实例,包括上传也是用的原生.还可在exportExcel方法里设置字体等表格样式. 导出和导入表单代码: <p style="margin: ...

  4. java的poi技术读取和导入Excel实例

    本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...

  5. [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

    引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...

  6. JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动

    JavaScript日历控件开发   概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...

  7. 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

    引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...

  8. Oracle导入excel数据方法汇总[转]

    摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...

  9. 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程

    1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...

随机推荐

  1. x264 亮度信号8x8帧内预测模式

    1 该模式的8个预测方向与4x4帧内预测模式一样. 2 该模式只有High profile及更高的Profile的才有可能使用,Baseline.Main Profile.Preset为ultrafa ...

  2. c++中小项堆声明和使用【转】

    c++默认是大顶堆,小顶堆有两种声明方法: 1.对于基本类型直接用 priority_queue<int, vector<int>, greater<int> >p ...

  3. java.util.Timer类似于闹钟定时做任务

    在web中实现任务计划,相当于实现闹钟的功能,要完成2个步骤: 1.定时器的设置: 2.对这个定时器的启动运行和停止进行实时监听 java.util.Timer定时器,实际上是个线程,定时调度所拥有的 ...

  4. 《学习的艺术》 (The Art of Learning)——划小圈 (Making Smaller Circles)

    “……我对象棋.武术以及范围更广的整个学习过程这三者的核心及相互关系的研究在一定程度上是受到了罗伯特.波席格<摩托车维护艺术>一书的启发.我决不会忘记指导我今后数年学习方式的那一幕.波席格 ...

  5. Golang的"泛型"模式

    只要实现了Sortable接口的所有方法,就可以使用该接口的函数. 我们通过冒泡排序来演示一下: package main import "fmt" type Sortable i ...

  6. JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. 【转】MapReduce的优化

    相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”.同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题. MapReduce计算模型的优 ...

  8. A. Alyona and Numbers(CF ROUND 358 DIV2)

    A. Alyona and Numbers time limit per test 1 second memory limit per test 256 megabytes input standar ...

  9. ACdream 1728 SJY's First Task

    简单题. 先建树,我用邻接表来存了.然后对于每个叶子结点DFS一下,DFS深度超过了K就return,找到了叶子节点就记录下来,最后排个序,然后输出答案. 由于结点编号比较奇葩,所以用两个map来转换 ...

  10. Java JVM 多态(动态绑定)

    Java JVM 多态(动态绑定) @author ixenos 摘要:绑定.动态绑定实现多态.多态的缺陷.纯继承与扩展接口.向下转型与RTTI 绑定 将一个方法的调用和一个方法的主体关联起来,称作( ...