如题:把B/S下服务器上的excel,在客户机上用浏览器(web格式)打开,不想用先下载的方式实现。求实现办法?lxbzmy 去看看163 金山在线办公怎么实现的。
思路:将excel打开并解析成html格式。你只需要保证足够的兼容性就可以了,不可能所有的exc
如题:把B/S下服务器上的excel,在客户机上用浏览器(web格式)打开,不想用先下载的方式实现。求实现办法?
lxbzmy
去看看163 金山在线办公怎么实现的。
思路:将excel打开并解析成html格式。你只需要保证足够的兼容性就可以了,不可能所有的excel特性都在web上体现。
lxbzmy
2012/06/09 11:31
回复 @空指针 :
用户和我们关注的地方不一样啊。使用excel的人更关心的是数据。特别是做的是报表的话。
空指针
2012/06/09 11:20
回复 @lxbzmy : “excel的数据比外观重要”谢谢你的宝贵建议。
lxbzmy
2012/06/09 11:18
回复 @空指针 :
这我也不知道了,不过就是转换pdf也需要一个单元格一个单元格的操作,而且还有分页需要处理吧,我没做过我也只做过html的。
我觉得你只需先保证excel的数据可看就行了。样式先放放。毕竟excel的数据比外观重要。
空指针
2012/06/09 11:13
回复 @lxbzmy : 先转pdf,再把pdf转图片。有这样的想法,不知可行性高不?
lxbzmy
2012/06/09 11:12
回复 @空指针 :
图表就麻烦了,合并单元格是能解决的。
一号男嘉宾
同求,估计要给钱钱买插件来安装,然后在ie中打开。
空指针
2012/06/08 16:48
在看叫 jacob 的东东,还不知道能不能行?
空指针
引用来自“梅公子”的答案
同求,估计要给钱钱买插件来安装,然后在ie中打开。
还有就是各种浏览器的问题了。就算是右插件也担心IE,FF, Chrome,......之类的是不是都好使。
易界灰
flash
一号男嘉宾
2012/06/08 17:34
flash实现不了吧。
空指针
2012/06/08 17:12
不甚了解 ,能详细点吗! 谢谢
dedenj
看QQ的邮箱预览功能。。
walen
研究 Open XML
http://www.cnblogs.com/2018/archive/2011/03/24/1991865.html
空指针
引用来自“梅公子”的答案
同求,估计要给钱钱买插件来安装,然后在ie中打开。
jacob 这个倒是可以把excel转成html,但是只在IE中好使。
glassprog
如果只是考虑 IE, 而且客户机器上安装了 Excel, 那么有两个办法:
- 服务器产生的 Excel 文件, 在客户端请求时在返回头上增加 MIME Type, 如果是动态产生的 Excel 内容就在 response 中设置, 如果是直接下载文件, 不同服务器的设置方式有差异, Tomcat 参考这个 http://blog.csdn.net/liujinchengjx/article/details/1521329 ;
- 服务器端也可以直接产生 HTML 页面(表格), 只要 MIME Type 是 Excel 的, 也可以使用 Excel 直接打开, 例子: http://support.microsoft.com/kb/199841/zh-cn , 是 ASP 的, 看懂原理就可以了.
glassprog
2012/06/09 12:58
回复 @空指针 : 那我建议考虑 ZK SpreadSheet : http://zssdemo.zkoss.org/zssdemo/index.zul
空指针
2012/06/09 10:02
谢谢,可是不能只考虑IE
Jinn_Wei
Microsoft.Office.Interop.Excel.Workbook book1 = repExcel.Workbooks.Open(newPathString + FileName + ".xls", Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);
object htmlFile = newPathString + FileName + ".htm";
object ofmt = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;
book1._SaveAs(htmlFile, ofmt, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
服务端可以用office组件直接把excel转成html
空指针
引用来自“Jinn_Wei”的答案
Microsoft.Office.Interop.Excel.Workbook book1 = repExcel.Workbooks.Open(newPathString + FileName + ".xls", Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);
object htmlFile = newPathString + FileName + ".htm";
object ofmt = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;
book1._SaveAs(htmlFile, ofmt, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
服务端可以用office组件直接把excel转成html
我用jacob 把excel转成html了,可是各种浏览器问题。正在纠结中。。。