Excel文件上传预览(上传到数据库后面再说)
来源:互联网 发布:js prompt 编辑:程序博客网 时间:2024/06/06 18:05
许久不更新博客了,好像很空的样子,恰好最近在做excel文件上传到数据库中的功能,所以在这里总结一下...............
闲话不多说,开工~~
思路:一般来讲,我觉得是先Excell文件上传到服务器先,然后用ASPNet上面的OleDb对象,读取Excel文件中的数据,然后填充到grivdView中,然后就没然后了~~
(呃~我是说一般来说的,也就是我这种一般到不行的那种人想的,如果还有什么好的思路,记得告诉我哦~)
ASPX页面:添加一个GridView,两个Button,FileUpload控件,像下面这样~~
<div> <p> <asp:FileUpload ID="FileUpload1" runat="server" /> </p> <p> <asp:Button ID="btnUpload" runat="server" Text="文件上传" OnClick="btnUpload_Click" /> <asp:Button ID="btnView" runat="server" Text="预览一下" OnClick="btnView_Click" /> </p> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div>后台代码页:
/// <summary> /// 文件上传按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnUpload_Click(object sender, EventArgs e) { try//FileUpload控件的SaveAS()有可能出现异常 { string Url= Server.MapPath("~/File/" + FileUpload1.FileName);//上传文件保存路径 //Session["FileName"] = FileUpload1.FileName; FileUpload1.SaveAs(Url);//使用FileUpload控件的SaveAS()方法将文件保存到指定的位置 Response.Write("<Script>alert('文件上传成功')</script>");//用于提示文件上传成功的提示,顺便提一下,尽量不要用这种方式去提示,因为这样的提示有可能使页面上的CSS样式失效,这不是本文的重点,所以就那样了 } catch { } } /// <summary> /// 上传的Excel文件预览事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnView_Click(object sender, EventArgs e) { string Url = Server.MapPath("~/File/" + FileUpload1.FileName);//上传文件保存路径Session["FileName"].ToString () GridView1.DataSource =ExcelDataSource(Url, "Sheet1{1}quot;); GridView1.DataBind(); } //该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径, sheetname为excel文件中的表名 public DataSet ExcelDataSource(string filepath, string sheetname) { string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", strConn); DataSet ds = new DataSet(); oada.Fill(ds); conn.Close(); return ds; }
要提醒点的是记得要引用 System.Data.OleDb;这个命名空间,不然会有错误的~~
点击点击运行~
你会发现报了下面这样的错误:
像我这样能力一般到不行的人都是上网找答案的,你是不?网上找到得答案
1、设置上传后文件存放的文件夹的权限.......(我将所有用户的权限都加上去了,还添加了完全控制,报错!呃~~)
2、设置文件夹的共享........(这个我都设置了啦,还是在报错,呃~~~)
3、..........................
反正上网找的答案貌似都解决不了我的问题,只好自己调试下~~
我发现了一个很奇怪的地方,就是在FileUpload1.fileName这个属性上面怎么是空的!!我都有上传了文件了啊~是不,在那个Files文件夹中都有我上传的Excellent文件的啦~
想了一下,原来是在点击文件上传的时候,页面回发了!也就是页面刷新了,FileUpload控件都清空了,怎么还回有FileName属性呢?!所以FileName属性要在文件保存的时候要用个Session保存下,就不会报错了啦~~哈哈
(这个只是测试页面,所以就是用Session啦,项目大了的时候,用其他的吧,毕竟这东西太占内存了~~)
完整的Demo下载地址:http://download.csdn.net/my(这个东西怎么上传上去不显示的,奇怪了~~)
- Excel文件上传预览(上传到数据库后面再说)
- 上传EXCEL文件并读取到数据库
- 上传文件到数据库
- 文件上传到数据库
- 上传文件到数据库
- 上传文件到数据库
- 文件上传到数据库
- Uploadify上传Excel到数据库
- Excel上传到Sql数据库
- 上传shp文件到geoserver服务器并预览(2)
- 上传excel文件到服务器
- 图片的上传和预览(上传到oracle数据库)
- c# + extjs 上传excel文件并保存到数据库
- PHPExcel读取上传的Excel文件插入到mysql数据库
- 上传,解析Excel文件并保存数据到数据库
- springmvc上传excel文件并保存到数据库中
- PHP上传Excel文件导入数据到MySQL数据库示例
- JAVA POI上传excel文件到数据库并备份(上)
- Game Center简述
- 实用算法实践-第 29 篇 计算几何学
- Rails宝典之第二十三式: counter cache
- 各种日期格式化
- Ref.so分享转址,轻松赚钱
- Excel文件上传预览(上传到数据库后面再说)
- PHP memcached 应用示例
- Word 2007:HTML功能差在哪里
- .net 文件的结构
- 实用算法实践-第 30 篇 组合数学
- Rails宝典之第二十四式: Stack Trace
- Oracle创建用户、表空间、导入导出命令
- 存储过程
- 河内之塔(汉诺塔问题--------递归