FineUI 官方论坛

标题: 输出流导出Excel与office2007(2010)的兼容问题 [打印本页]

作者: 〓飚〓    时间: 2012-8-22 04:24
标题: 输出流导出Excel与office2007(2010)的兼容问题
本帖最后由 〓飚〓 于 2012-8-22 04:26 编辑

看到最近三石兄将Grid导出Excel的示例也弄了出来,正巧对于输出流导出Excel的问题,一直没有找到很好的解决办法,这里再将这个老问题提一下(问过谷哥、度娘,都没有什么好的解决方案),希望各位大虾赐教,小弟先谢过了!!^_^

就以示例[attach]981[/attach]的这个例子来说吧:

相信大部分童鞋都已经在用office2007或2010了,但是由于EXCEL2007(2010)增强了安全性,默认情况下打开文件类型非Excel的文件时都会弹出确认对话框,例如点击导出按钮,下载并打开导出的Excel文件,首先会显示下图:
[attach]977[/attach]
当然,点击“是”仍然是可以打开这个文件的,里面的数据也不会有什么问题。但每次都弹出这个对话框,确实比较烦人!!
然后这还不是最烦人的!!
若您对这个导出的Excel作一些修改,再点击保存,又会弹出一个对话框,如下:
[attach]978[/attach]
(1)如果选择“是”的话,貌似可以保存,但再看看这个Excel文件所在的目录,会多出这么一个文件夹:
[attach]979[/attach]
里面是这样一些文件:
[attach]980[/attach]
{:soso_e118:}{:soso_e118:}{:soso_e118:}{:soso_e118:}{:soso_e118:}
(2)如果选择“否”的话,则需要重新选择文件所要保存的文件类型,然后再命个名……(个人认为这不是一个很好的用户体验)
~~~~~~~~~~~~~~~~~~~~~~~~
当然,以上所说的这些问题并不是输出流导出Excel这种方法的错,事实上对于office2003来说,是不会存在上面的问题,但是当office2007(2010)越来越普及的情况下,是否也应该有更好的导出Excel的方法呢??!!
ps:如果在服务器端生成Excel文件,再供用户下载,这在BS系统里是否合适?



作者: sanshi    时间: 2012-8-22 06:20
由于示例:http://demo.extasp.net/#/grid/grid_excel.aspx 这种到处Excel的方式本身导出的就是文本文件,所以Excel会提示格式不一致。

我记得好像有一家公司做的有ASP.NET组件,专门用来导出Word,Excel格式的文件,不过是收费的。
作者: 游泳的鱼    时间: 2012-8-24 09:18
可以使用NPOI组件直接生成office文件,详细可搜索NPOI
作者: 〓飚〓    时间: 2012-8-24 15:02
游泳的鱼 发表于 2012-8-24 09:18
可以使用NPOI组件直接生成office文件,详细可搜索NPOI

果然是好东西,太感谢了!!{:soso_e113:}
作者: 张波    时间: 2012-8-26 09:25
收藏一下,备用
作者: 孤独的过客    时间: 2012-8-26 14:59
确实存在这个问题!
作者: awxtggg    时间: 2012-8-28 02:20
我是使用aspose.cell控件来导出xls文件的,可以导出到服务器端后下载,也可以流导出,还是比较方便的。
作者: 孑然双髻鲨    时间: 2012-9-19 02:07
awxtggg 发表于 2012-8-28 02:20
我是使用aspose.cell控件来导出xls文件的,可以导出到服务器端后下载,也可以流导出,还是比较方便的。 ...

我也是用的aspose.cell导出的,不过有个问题,就是如果用迅雷下载的话,会导成aspx文件,不知道你有没有碰到这个问题,并且是怎么解决的?




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4