问题描述
页面设计了一个fileupload,通过button导入excel到Gridview显示,导入的数据保存到sqlserver,最好带删除键,删除导入错误的数据!
解决方案
解决方案二:
protectedvoidbtn_导入_Click(objectsender,EventArgse){if(FileUpload1.PostedFile.FileName!=""){//定义上传路径(在当前目录下的uploadfile文件下)stringuploadpath="c:";//取得文件名stringtmpfilename=FileUpload1.PostedFile.FileName;//文件名filename=tmpfilename.Substring(tmpfilename.LastIndexOf("\")+1);//原文件的保存路径stringfileSavePath=uploadpath+"\"+filename;//保存FileUpload1.SaveAs(fileSavePath);//求取后缀名stringsuffix=filename.Substring(filename.LastIndexOf("."));stringurl="C:\"+filename;stringSql="insertintoL_排班表select*fromOPENROWSET('MICROSOFT.ACE.OLEDB.12.0','Excel5.0;HDR=YES;DATABASE="+url+"',sheet1$)";if(dataOperate.execSQL(Sql)){ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('导入成功!');</script>");}else{ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('导入失败!');</script>");}}}
解决方案三:
SQL2005开启OpenRowset/OpenDatasource的办法1、开始—>所有程序—>MicrosoftSQLServer2005—>配置工具—>SQLServer外围应用配置器—>功能的外围应用配置器—>实例名—>DatabaseEngine—>即席远程查询—>启用OpenRowset和OpenDatasource支持。2.代码启用启用:execsp_configure'showadvancedoptions',1reconfigureexecsp_configure'AdHocDistributedQueries',1Reconfigure关闭:execsp_configure'AdHocDistributedQueries',0reconfigureexecsp_configure'showadvancedoptions',0reconfigure
解决方案四:
先上传,再导入数据库,再将数据显示在GridView中,这样不行么?实在不行,将上传后的数据存在ViewState中(对页面有点过载),再点保存的时候,将ViewState中的数据存入数据库
解决方案五:
谁实现过的,提供下源码好吗?比较急
解决方案六:
就跟三楼说的一样,先上传,在导入,然后在显示,代码就是上面的,只不过显示没写注意下excel版本上传Excel要和数据表结构相同