项目中用到大量的导入数据,比如导入订单,导入供应商,导入用户等等, 现以导入供应商为例:

页面如下:

代码如下:

页面后台

  1  public partial class ImportSupplyInfo : System.Web.UI.Page
  2     {
  3         protected void Page_Load(object sender, EventArgs e)
  4         {
  5
  6         }
  7         public DataTable GetExcelData(string filePath)
  8         {
  9             string oledbString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;'", filePath);
 10             using (OleDbConnection con = new OleDbConnection(oledbString))
 11             {
 12                 con.Open();
 13                 DataTable dtTableNames = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
 14                 if (dtTableNames == null || dtTableNames.Rows.Count <= 0)
 15                 {
 16                     return new DataTable();
 17                 }
 18                 DataSet ds = new DataSet();
 19                 string oledbSql = "SELECT * FROM [" + dtTableNames.Rows[0]["TABLE_NAME"].ToString().Trim() + "]";
 20                 OleDbDataAdapter da = new OleDbDataAdapter(oledbSql, con);
 21                 da.Fill(ds);
 22                 if (ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
 23                 {
 24                     return new DataTable();
 25                 }
 26                 return ds.Tables[0];
 27             }
 28         }
 29         public int ValidateExcelFile(string filename)
 30         {
 31             string extentsion = Path.GetExtension(filename);
 32             if (extentsion.ToLower() != ".xls")
 33             {
 34                 return 1;
 35             }
 36             return 0;
 37         }
 38         protected void btnSave_Click(object sender, EventArgs e)
 39         {
 40             try
 41             {
 42                 if (!this.fileupload1.HasFile)
 43                 {
 44                     string script = "请选择上传文件";
 45                     ScriptManager.RegisterStartupScript(Page, typeof(Page), DateTime.Now.ToString(), script, true);
 46                     return;
 47                 }
 48                 string fileFullName = this.fileupload1.PostedFile.FileName;
 49                 int fileState = ValidateExcelFile(fileFullName);
 50                 if (fileState != 0)
 51                 {
 52                     string script = "上传的文件格式错误";
 53                     ScriptManager.RegisterStartupScript(Page, typeof(Page), DateTime.Now.ToString(), script, true);
 54                     return;
 55                 }
 56                 string extension = Path.GetExtension(fileFullName);
 57                 string serverPath = Server.MapPath(@"~\upload\") + DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
 58                 this.fileupload1.SaveAs(serverPath);
 59                 DataTable dt = GetExcelData(serverPath);
 60                 if (dt == null || dt.Rows.Count <= 0)
 61                 {
 62                     string script = "上传文件数据不能为空";
 63                     ScriptManager.RegisterStartupScript(Page, typeof(Page), DateTime.Now.ToString(), script, true);
 64                     return;
 65                 }
 66                 for (int i = 0; i < dt.Rows.Count; i++)
 67                 {
 68                     if (string.IsNullOrEmpty(dt.Rows[i]["供应商名称"].ToString().Trim()) && (!string.IsNullOrEmpty(dt.Rows[i]["法人姓名"].ToString().Trim()) || !string.IsNullOrEmpty(dt.Rows[i]["注册资本"].ToString().Trim()) || !string.IsNullOrEmpty(dt.Rows[i]["注册号"].ToString().Trim()) || !string.IsNullOrEmpty(dt.Rows[i]["地址"].ToString().Trim())))
 69                     {
 70                         string script = "供应商名称不能为空";
 71                         ScriptManager.RegisterStartupScript(Page, typeof(Page), DateTime.Now.ToString(), script, true);
 72                         return;
 73                     }
 74                 }
 75                 NeoBLL.SupplyInfoBLL supplyBll = new NeoBLL.SupplyInfoBLL();
 76                 for (int i = 0; i < dt.Rows.Count; i++)
 77                 {
 78                     if (string.IsNullOrEmpty(dt.Rows[i]["供应商名称"].ToString().Trim()))
 79                     {
 80                         continue;
 81                     }
 82                     NeoModel.SupplyInfoModel model = new NeoModel.SupplyInfoModel();
 83                     string supplyName = dt.Rows[i]["供应商名称"].ToString().Trim();
 84                     string leader = dt.Rows[i]["法人姓名"].ToString().Trim();
 85                     string money = dt.Rows[i]["注册资本"].ToString().Trim();
 86                     string cart = dt.Rows[i]["注册号"].ToString().Trim();
 87                     string address = dt.Rows[i]["地址"].ToString().Trim();
 88                     model.SUPPLYNAME = supplyName;
 89                     model.LEGALPERSON = leader;
 90                     model.REGISTERCARD = cart;
 91                     model.ADDRESS = address;
 92                     model.REGISTERCAPITAL = money;
 93                     supplyBll.AddSupplyInfo(model);
 94                 }
 95                 string scrip1 = "供应商信息导入成功";
 96                 Page.RegisterStartupScript("", "<script language=javascript>alert('供应商信息导入成功');window.location.href='SupplyInfoMgst.aspx'</script>");
 97             }
 98             catch (Exception ex)
 99             {
100                //log.Error(ex.Message);
101             }
102         }
103     }

BLL

 1 public  class SupplyInfoBLL
 2     {
 3        NeoDAL.SupplyInfoDAL dal = new NeoDAL.SupplyInfoDAL();
 4        public SupplyInfoBLL()
 5        {
 6        }
 7        public DataTable GetSupplyInfos()
 8        {
 9            return dal.GetSupplyInfos();
10        }
11        public bool AddSupplyInfo(NeoModel.SupplyInfoModel model)
12        {
13            return dal.AddSupplyInfo(model);
14        }
15     }

DAL

 1  public class SupplyInfoDAL
 2     {
 3
 4         public SupplyInfoDAL()
 5         {
 6         }
 7
 8         public DataTable GetSupplyInfos()
 9         {
10             string sql = "SELECT * FROM SupplyInfo";
11             DataSet ds = DbHelperSQL.Query(sql);
12             if (ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
13             {
14                 return new DataTable();
15             }
16             return ds.Tables[0];
17         }
18         public bool AddSupplyInfo(NeoModel.SupplyInfoModel model)
19         {
20             try
21             {
22                 string sql = "  INSERT INTO SupplyInfo(SUPPLYNAME,LEGALPERSON,REGISTERCAPITAL,REGISTERCARD,[ADDRESS]) VALUES(@SUPPLYNAME,@LEGALPERSON,@REGISTERCAPITAL,@REGISTERCARD,@ADDRESS)";
23                 SqlParameter[] sp = {
24                                 new SqlParameter("@SUPPLYNAME",model.SUPPLYNAME),
25                                 new SqlParameter("@LEGALPERSON",model.LEGALPERSON),
26                                 new SqlParameter("@REGISTERCAPITAL",model.REGISTERCAPITAL),
27                                 new SqlParameter("@REGISTERCARD",model.REGISTERCARD),
28                                 new SqlParameter("@ADDRESS",model.ADDRESS)
29                                 };
30                 return DbHelperSQL.ExecuteSql(sql, sp) > 0;
31             }
32             catch (Exception ex)
33             {
34                 return false;
35             }
36         }
37     }

model

 1 public class SupplyInfoModel
 2     {
 3
 4         public SupplyInfoModel()
 5         {
 6
 7         }
 8         private int _id;
 9         public int ID
10         {
11             get { return _id; }
12             set { _id = value; }
13         }
14         private string _SUPPLYNAME;
15         public string SUPPLYNAME
16         {
17             get { return _SUPPLYNAME; }
18             set { _SUPPLYNAME = value; }
19         }
20         private string _LEGALPERSON;
21         public string LEGALPERSON
22         {
23             get { return _LEGALPERSON; }
24             set { _LEGALPERSON = value; }
25         }
26         private string _REGISTERCAPITAL;
27         public string REGISTERCAPITAL
28         {
29             get { return _REGISTERCAPITAL; }
30             set { _REGISTERCAPITAL = value; }
31         }
32         private string _REGISTERCARD;
33         public string REGISTERCARD
34         {
35             get { return _REGISTERCARD; }
36             set { _REGISTERCARD = value; }
37         }
38         private string _ADDRESS;
39         public string ADDRESS
40         {
41             get { return _ADDRESS; }
42             set { _ADDRESS = value; }
43         }
44         private string _CONTACTTEL;
45         public string CONTACTTEL
46         {
47             get { return _CONTACTTEL; }
48             set { _CONTACTTEL = value; }
49         }
50         private string _PRODUCTS;
51         public string PRODUCTS
52         {
53             get { return _PRODUCTS; }
54             set { _PRODUCTS = value; }
55         }
56         private string _ISBLACK;
57         public string ISBLACK
58         {
59             get { return _ISBLACK; }
60             set { _ISBLACK = value; }
61         }
62         private string _APPRAISE;
63         public string APPRAISE
64         {
65             get { return _APPRAISE; }
66             set { _APPRAISE = value; }
67         }
68     }

页面前台:

View Code

 1 <div id="icaption">
 2         <div id="title">
 3             供应商管理
 4         </div>
 5         <a href="ImportSupplyInfo.aspx" id="btn_add"></a>
 6     </div>
 7     <div id="itable">
 8         <asp:GridView ID="gv_state" runat="server" GridLines="None" BorderWidth="0px" CellPadding="0"
 9             CellSpacing="1" align="center" AutoGenerateColumns="false"
10             OnRowCommand="gv_department_RowCommand" AllowPaging="True"
11             onpageindexchanging="gv_state_PageIndexChanging">
12             <Columns>
13                 <asp:TemplateField HeaderText="供应商">
14                     <ItemTemplate>
15                         <%#((System.Data.DataRowView)Container.DataItem)["SUPPLYNAME"]%>
16                     </ItemTemplate>
17                     <ItemStyle Width="20%" />
18                 </asp:TemplateField>
19                 <asp:TemplateField HeaderText="法人代表">
20                     <ItemTemplate>
21                         <%#((System.Data.DataRowView)Container.DataItem)["LEGALPERSON"]%>
22                     </ItemTemplate>
23                     <ItemStyle Width="20%" />
24                 </asp:TemplateField>
25                 <asp:TemplateField HeaderText="注册资本">
26                     <ItemTemplate>
27                         <%#Eval("REGISTERCAPITAL") %>
28                     </ItemTemplate>
29                     <ItemStyle Width="20%" />
30                 </asp:TemplateField>
31                  <asp:TemplateField HeaderText="地址">
32                     <ItemTemplate>
33                         <%#Eval("ADDRESS")%>
34                     </ItemTemplate>
35                     <ItemStyle Width="20%" />
36                 </asp:TemplateField>
37                 <asp:TemplateField HeaderText="操作">
38                     <ItemTemplate>
39                         <a href="AddPostion.aspx?ID=<%#Eval("ID") %>" title="编辑">
40                             <img src="../Styles/image/btn_edit.png" alt="编辑" border="0" />
41                         </a>
42                         <asp:LinkButton runat="server" CommandName="Del" CommandArgument='<%#Eval("Id") %>'
43                             OnClientClick="return window.confirm('您确定要删除该信息码?')" ID="lkDelete" CausesValidation="false"
44                             ToolTip="删除"><img src="../Styles/image/btn_delete.png" border="0" />
45                         </asp:LinkButton>
46                     </ItemTemplate>
47                     <ItemStyle Width="20%" />
48                 </asp:TemplateField>
49             </Columns>
50             <PagerSettings Mode="NextPreviousFirstLast" />
51             <RowStyle CssClass="tr3" Font-Size="12px" Height="28px" />
52             <HeaderStyle CssClass="itable_title" />
53             <EmptyDataTemplate>
54                 <tr class="itable_title">
55                     <th width="20%">
56                         供应商
57                     </th>
58                     <th width="20%">
59                         法人代表
60                     </th>
61                     <th width="20%">
62                         注册资本
63                     </th>
64                     <th width="20%">
65                         地址
66                     </th>
67                      <th width="20%">
68                         操作
69                     </th>
70                 </tr>
71                 <tr class="tr3">
72                     <td class="grid_no_result" colspan="5">
73                         <span>当前没有查询记录</span>
74                     </td>
75                 </tr>
76             </EmptyDataTemplate>
77         </asp:GridView>
78     </div>

读入excel中的数据到数据库中相关推荐

  1. 25 Redis的缓存中的数据和数据库中的不一致问题

    25 Redis的缓存中的数据和数据库中的不一致问题 前言 一.缓存和数据库的数据不一致是如何发生的? 二.解决Redis 和数据库数据不一致的方法 总结 前言 Redis 缓存经常会遇到有 4 个方 ...

  2. 安卓app中把数据存在数据库中如何查看(Sqlite安装)

    安卓app中把数据存在数据库中如何查看 可通过Sqlite查看(电脑中如未安装数据库,请按照下方步骤安装) 在data下方寻找你的应用包名 然后右键(导出的数据库文件) 导出即可(save as... ...

  3. 将Excel文档中的数据导入数据库中

    一.效果:点击导出按钮,弹出导入模态窗体:在模态窗体中,①点击下载,会实现下载一个                Excel文件下载功能:②选择下载的Excel文件:③点击上传,Excel文档中的数据 ...

  4. mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。

    大家好,我是烤鸭: 今天记录一下线上的问题,由于不是我们组的代码,所以没参与全程,只是最后有幸听各位大佬探讨解决方案.mybatis 执行插入操作,insert返回1,日志记录和接口返回都正常,但是数 ...

  5. c# 中添加数据到数据库中的三种方法

    1.利用SQL语句添加    在SQL语句中提供了INSERT语句进行数据添加,其语法格式如下. INSERT [Into] table_name[(column_list)] values (dat ...

  6. 从EXCEL中读出数据到数据库中

    本来想自己写一下,可是每次写的时候粘贴的图片保存的时候消失,为了方便把自己参考的链接放到了这里. http://jingyan.baidu.com/article/fc07f9891cb56412ff ...

  7. 将excel中是数据导入数据库

    2019独角兽企业重金招聘Python工程师标准>>> 将excel中是数据导入数据库 1.利用excel生成sql语句: 列如: 1).insert: =CONCATENATE(& ...

  8. 将excel中的数据导入数据库

    下图为java导入数据库中表的结构,其中id为自增,导入excel时excel中的数据不需要写id列,数据库会自动生成只需要写后面相对应的数据. 下表为excel导入数据库时的结构,列必须与数据库相对 ...

  9. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

最新文章

  1. linux进入节点权限,一种基于索引节点的Linux访问权限控制方法与流程
  2. Linux操作系统文件系统基础知识详解
  3. 如何禁用文本选择突出显示
  4. matlab用循环批量生成多个变量,神奇的eval()函数
  5. 树莓派python串口中文输出_Python实现树莓派USB串口通讯
  6. java中的void是什么?有什么作用?
  7. 技术分享 | jaeger链路日志实现
  8. 使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  9. Java笔记-CXF使用Adapter处理复杂类型(如Map)
  10. RNN到LSTM详解
  11. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
  12. hashmap删除指定key_「集合系列」- 深入浅出分析HashMap
  13. 我的世界rpg服务器背包位置,我的世界:如何识别MC老玩家?看他背包中有没有这五种道具...
  14. 网络摄像头 java_在Java中从网络摄像头捕获图像?
  15. mysql 5.7 多线程主从复制_Mysql 5.7从节点配置多线程主从复制的方法详解
  16. [转]CG编程概念 ,及CG编译器与VC6.0集成方法
  17. JAVA:代码实现zip压缩
  18. mini-tokio代码分析
  19. 计算机组成原理秒表设计实验,计算机组成原理实验2.4计数器赖晓铮剖析.ppt
  20. 浅谈Docker的安全性支持(上篇)

热门文章

  1. hashlib模块,md5加密
  2. selector是在文件夹drawable中进行定义的xml文件转载 https://www.cnblogs.com/fx2008/p/3157040.html...
  3. HM16.0之帧间预测——xCheckRDCostInter()函数
  4. JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
  5. Windows下安装Python扩展模块提示“Unable to find vcvarsall.bat”的问题(转载)
  6. hadoop-07-ntp服务检查
  7. 知识回顾——构造函数
  8. Android仿QQ界面
  9. NuGet安装和使用
  10. C# .net中cookie值为中文时的乱码解决方法