ASP.NET下从Excel导入数据规则到数据库的分析与实现
今天,我收到了一个新的需求,要在页面上以Excel的形式显示数据。对于我个人的分析,需要先将Excel中的数据保存到数据库中,然后显示页面。我是一个菜鸟,从来没有看过Excel数据。我研究了一下(主要看别人的数据),写了实现过程。我想写几篇关于Excel的文章,首先是常规的Excel数据导入,然后是非常规的Excel数据导入,再根据数据生成Excel。开始:将常规Excel导入数据库。先看Excel结构,如图:。
这是一个简单的、规整的超过格式,将它导入到数据库中复制代码代码如下:查看代码保护的void btnImport_Click(对象发送者,事件参数e) { if (FileUpload1 .HasFile==false)//HasFile用来检查文件上传是否有指定文件{回应编写(' scriptalert('请您选择超过文件)/script’);返回;//当无文件时,返回}字符串IsXls=系统.IO。路径。getextension(文件上传1 .文件名).ToString().toLower();//系统。输入输出路径获得文件的扩展名if (IsXls!='.xls’){ if(IsXls!='.xlsx’){ 0回应编写(' scriptalert('只可以选择超过文件)/script’);返回;//当选择的不是超过文件时,返回} }字符串文件名=文件上传1 .文件名;//获取可执行文件名日期时间日期函数字符串保存路径=服务器MapPath((“upfiles \ \”)文件名);//服务器地图路径.获得虚拟服务器相对路径文件上传1。另存为(保存路径);//SaveAs将上传的文件内容保存在服务器上数据集ds=ExcelSqlConnection(保存路径、文件名、ISxls);//调用自定义方法DataRow[] dr=ds .表[0]。选择();//定义一个数据行数组int rowsnum=ds .表[0].行。计数;if (rowsnum==0) { Response .编写(' scriptalert('Excel表为空表,无数据!)/script’);//当超过表为空时,对用户进行提示} else { for(int I=0;长度博士;i ) { //前面除了你需要在建立一个"上行文件"的文件夹外,其他的都不用管了,你只需要通过下面的方式获取超过的值,然后再将这些值用你的方式去插入到数据库里面字符串标题=dr[i]['标题'].ToString();string linkurl=dr[i]['链接地址'].ToString();string categoryname=dr[i]['分类'].ToString();//响应编写(' scriptalert('导入内容:' ex .消息' ')/脚本');}回应编写('脚本警报('排除表导入成功!');/script ');} } #地区连接超过读取超过数据并返回资料组数据集合///摘要///连接超过读取超过数据并返回资料组数据集合////summary////param name='文件路径' excel服务器路径/param///param name=' tableName ' excel表名称/param/返回/返回公共静态系统数据。DataSet ExcelSqlConnection(字符串文件路径,字符串tableName,字符串IsXls){ string strCon=' ';if(IsXls==' .xls’){ strCon=' Provider=Microsoft .喷气机。OLEDB.4.0数据源="文件路径";扩展属性=' Excel 8.0HDR=是;IMEX=1 " ";} else { strCon=' Provider=Microsoft .ACE。OLEDB.12.0数据源="文件路径";扩展属性=' Excel 12.0HDR=是;IMEX=1 " ";} oledb连接excel nn=新建oledb连接(StRCon);请尝试{字符串strCom=字符串.格式(' SELECT * FROM[sheet 1 $]');ExcelConn .open();OleDbDataAdapter我的命令=new OleDbDataAdapter(strCom,ExcelConn数据集ds=新数据集();我的命令Fill(ds,'[' tableName ' $]');ExcelConn .close();返回ds;}捕捉{ ExcelConn .close();返回null} } #endregio这段代码是在别人的代码的基础上改的,以前只能导入xls格式的,不支持xlsx格式,这两种格式的主要区别在于xls格式:复制代码代码如下: strConn=' Provider=Microsoft .ACE。OLEDB.12.0数据源=""服务器文件名"";扩展属性=' Excel 12.0HDR=是"";xlsx格式:复制代码代码如下: strConn=' Provider=Microsoft .喷气机。OLEDB.4.0数据源=""服务器文件名"";扩展属性=' Excel 8.0HDR=是;';当然了,导入数据库还需要连接数据库,创建结构相同表。
版权声明:ASP.NET下从Excel导入数据规则到数据库的分析与实现是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。