读入excel中的数据到数据库中
项目中用到大量的导入数据,比如导入订单,导入供应商,导入用户等等, 现以导入供应商为例:
页面如下:
代码如下:
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 }
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 }
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 }
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 }
页面前台:
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中的数据到数据库中相关推荐
- 25 Redis的缓存中的数据和数据库中的不一致问题
25 Redis的缓存中的数据和数据库中的不一致问题 前言 一.缓存和数据库的数据不一致是如何发生的? 二.解决Redis 和数据库数据不一致的方法 总结 前言 Redis 缓存经常会遇到有 4 个方 ...
- 安卓app中把数据存在数据库中如何查看(Sqlite安装)
安卓app中把数据存在数据库中如何查看 可通过Sqlite查看(电脑中如未安装数据库,请按照下方步骤安装) 在data下方寻找你的应用包名 然后右键(导出的数据库文件) 导出即可(save as... ...
- 将Excel文档中的数据导入数据库中
一.效果:点击导出按钮,弹出导入模态窗体:在模态窗体中,①点击下载,会实现下载一个 Excel文件下载功能:②选择下载的Excel文件:③点击上传,Excel文档中的数据 ...
- mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
大家好,我是烤鸭: 今天记录一下线上的问题,由于不是我们组的代码,所以没参与全程,只是最后有幸听各位大佬探讨解决方案.mybatis 执行插入操作,insert返回1,日志记录和接口返回都正常,但是数 ...
- c# 中添加数据到数据库中的三种方法
1.利用SQL语句添加 在SQL语句中提供了INSERT语句进行数据添加,其语法格式如下. INSERT [Into] table_name[(column_list)] values (dat ...
- 从EXCEL中读出数据到数据库中
本来想自己写一下,可是每次写的时候粘贴的图片保存的时候消失,为了方便把自己参考的链接放到了这里. http://jingyan.baidu.com/article/fc07f9891cb56412ff ...
- 将excel中是数据导入数据库
2019独角兽企业重金招聘Python工程师标准>>> 将excel中是数据导入数据库 1.利用excel生成sql语句: 列如: 1).insert: =CONCATENATE(& ...
- 将excel中的数据导入数据库
下图为java导入数据库中表的结构,其中id为自增,导入excel时excel中的数据不需要写id列,数据库会自动生成只需要写后面相对应的数据. 下表为excel导入数据库时的结构,列必须与数据库相对 ...
- java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法
本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...
最新文章
- linux进入节点权限,一种基于索引节点的Linux访问权限控制方法与流程
- Linux操作系统文件系统基础知识详解
- 如何禁用文本选择突出显示
- matlab用循环批量生成多个变量,神奇的eval()函数
- 树莓派python串口中文输出_Python实现树莓派USB串口通讯
- java中的void是什么?有什么作用?
- 技术分享 | jaeger链路日志实现
- 使用Scala,Play和Akka连接到RabbitMQ(AMQP)
- Java笔记-CXF使用Adapter处理复杂类型(如Map)
- RNN到LSTM详解
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
- hashmap删除指定key_「集合系列」- 深入浅出分析HashMap
- 我的世界rpg服务器背包位置,我的世界:如何识别MC老玩家?看他背包中有没有这五种道具...
- 网络摄像头 java_在Java中从网络摄像头捕获图像?
- mysql 5.7 多线程主从复制_Mysql 5.7从节点配置多线程主从复制的方法详解
- [转]CG编程概念 ,及CG编译器与VC6.0集成方法
- JAVA:代码实现zip压缩
- mini-tokio代码分析
- 计算机组成原理秒表设计实验,计算机组成原理实验2.4计数器赖晓铮剖析.ppt
- 浅谈Docker的安全性支持(上篇)
热门文章
- hashlib模块,md5加密
- selector是在文件夹drawable中进行定义的xml文件转载 https://www.cnblogs.com/fx2008/p/3157040.html...
- HM16.0之帧间预测——xCheckRDCostInter()函数
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
- Windows下安装Python扩展模块提示“Unable to find vcvarsall.bat”的问题(转载)
- hadoop-07-ntp服务检查
- 知识回顾——构造函数
- Android仿QQ界面
- NuGet安装和使用
- C# .net中cookie值为中文时的乱码解决方法