首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET中怎么读取选择的EXCEL文件后显示

2012-02-05 
ASP.NET中如何读取选择的EXCEL文件后显示?想要实现这样的一个界面,网页上一个文件选择框,一个显示按钮,通

ASP.NET中如何读取选择的EXCEL文件后显示?
想要实现这样的一个界面,网页上一个文件选择框,一个显示按钮,通过文件选择框选择一个本地的excel文件,然后把其中的内容显示在网页上!
我在网上找了些资料,采用了如下的方法:

C# code
//该方法实现从Excel中导出数据到DataSet中,其中filepath为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;";        OleDbConnection conn = new OleDbConnection(strConn);        OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "$]", strConn);        DataSet ds = new DataSet();        oada.Fill(ds);        conn.Close();        return ds;    }


因为以上方法需要excel文件的绝对路径,所以思路是:用户选择excel文件后先上传到服务器,然后通过Server.mappth方法获取服务器上的那个excel的绝对路径,再用以上的代码返回excel文件中的数据到dataset中,然后再显示出来。

编写完代码测试后发现,文件能上传到服务器,可是在读取的时候出现了”不能更新。数据库或对象为只读。“,我想可能是权限的问题吧,请问应该怎么解决?

或者说还有什么更好的方法解决?

[解决办法]
把文件上传到的目录里加上iis匿名账号的读取权限
 文件夹属性-〉安全-〉添加
[解决办法]
把文件放到可读写的文件夹下,或者设置读写权限
[解决办法]
修改excel数据?
[解决办法]
文件要能够提供IIS用户的读写属性
[解决办法]
为什么要用这种方法呢?还需要oledbconnection?
看样子你做的是文件上传,那么这个上传目录可以是你网站下的一个目录,这样server.mappath好取。
而一个目录下有什么文件你通过cs文件是很好读取的,这样直接一个超链接就搞定了。
走oledb,这种方法,还要消耗额外的资源。
[解决办法]
探讨
把文件上传到的目录里加上iis匿名账号的读取权限
文件夹属性-〉安全-〉添加

热点排行