ASP.NET中如何读取选择的EXCEL文件后显示?

niunan 2008-11-03 05:40:13
想要实现这样的一个界面,网页上一个文件选择框,一个显示按钮,通过文件选择框选择一个本地的excel文件,然后把其中的内容显示在网页上!
我在网上找了些资料,采用了如下的方法:

//该方法实现从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中,然后再显示出来。

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

或者说还有什么更好的方法解决?
...全文
252 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_zdx 2009-07-14
  • 打赏
  • 举报
回复
受教了 正在弄EXCEL
周公 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aking8736 的回复:]
把文件上传到的目录里加上iis匿名账号的读取权限
文件夹属性-〉安全-〉添加
[/Quote]
就是权限的原因,设置一下比较高一点的权限。
niunan 2008-11-04
  • 打赏
  • 举报
回复
我做的不是文件上传...而是插入数据库, 用户上传Excel文件,数据都在里面,并有一定的规律,我是要读取出用户上传的Excel文件中的内容出来,然后插入数据库.

大概想到是什么问题了,上传的代码写完我我立即执行读取数据库,可是这是文件可能还没有上传完,所以会出现那个错误,我开始以为是执行上传代码的时候代码会等到文件上传完了以后再执行读取代码的! 现在正在想办法看看能不能在上传代码执行完后让线程停止一段时间后再执行...
niunan 2008-11-04
  • 打赏
  • 举报
回复
得了..设置了权限之后曾经有一段时间也不行..后来等了许久又好像行了...还有是路径的问题..呵呵...
哥本哈士奇 2008-11-03
  • 打赏
  • 举报
回复
为什么要用这种方法呢?还需要oledbconnection?
看样子你做的是文件上传,那么这个上传目录可以是你网站下的一个目录,这样server.mappath好取。
而一个目录下有什么文件你通过cs文件是很好读取的,这样直接一个超链接就搞定了。
走oledb,这种方法,还要消耗额外的资源。
loworth 2008-11-03
  • 打赏
  • 举报
回复
文件要能够提供IIS用户的读写属性
gongsun 2008-11-03
  • 打赏
  • 举报
回复
修改excel数据?
sendling 2008-11-03
  • 打赏
  • 举报
回复
把文件放到可读写的文件夹下,或者设置读写权限
aking8736 2008-11-03
  • 打赏
  • 举报
回复
把文件上传到的目录里加上iis匿名账号的读取权限
文件夹属性-〉安全-〉添加

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧