.net fileupload上传入项目的Excel破损

.net fileupload上传到项目的Excel破损
本帖最后由 XiaoPeiyuan2020 于 2014-10-17 11:01:23 编辑
asp.net fileupload上传项目的Excel破损,打开时老提示破损,怎么办啊???.net fileupload上传入项目的Excel破损

打开Excel 源文件没有问题的
------解决思路----------------------
没有上传文件的代码,我怎么知道为什么不完整
目测是还没有接收完整之前就直接保存了
------解决思路----------------------
TransformData里代码是什么?
其实执行
        string phyFileName = Path + @"\" + FileUpload1.FileName;
        this.FileUpload1.SaveAs(phyFileName);
这个就行了,指定一个路径,然后SaveAs
------解决思路----------------------
你必须先save到服务器本地,然后从服务器本地再读出来啊
不能直接把FileUpload1.FileName当本地路径去读excel,这个文件还在客户机里呢,你能直接读到才怪
------解决思路----------------------
2帖齐发?

看了你的需求 我只能说 3个东西 一个一个来 别着急..

1` 先会使用fileupload上传文件.. (当然这虽然只有2句话,但是你还是要学下.因为你基础很弱)

2`使用组件(npoi)读取xls(xlsx)到内存中并显示到GridView上,(当然你也可以使用office组件.但是个人是不建议的)

3`ado.net 也就是连接数据库增删改查.当然你这里面的导入只涉及到插,
    所以你还是应该看下如何循环DataTable生成很多SQL语句一起执行.

上面的都玩明白了之后 在考虑导入如何优化(sqlbulkcopy) 数据有问题是否需要事务(tran)

别老考虑一步登天..或者拿来主义(岂止是拿来简直就是给你工作)


------解决思路----------------------
引用:
Quote: 引用:

文件不完整呗


很感谢你的回答,本地的文件时可以正常打开的,上传到项目的那个文件打开提示破损或者是只读的,所以可能就导致Sheet1 没有办法访问,关键是fileupload 上传的文件不知道为什么会破损啊


如果你想确定是否是“上传到服务器的文件破损”了,就应该直接把服务器端保存的文件给拷贝到“本地”然后手工使用excel打开测试。

不要使用你的程序去打开excel!否则你根本不知道是文件破损了,还是你的打开程序有问题。
------解决思路----------------------
仔细看了下代码,在string path = Server.Map("~")。。。。
这一句之后请,加上FileUpload1.SaveAs(path);
基本就可以正常运行。