html中table导出到excel独立于浏览器
2012-12-24 14:07
351 查看
见firefox下导出:/article/8099532.html
鉴于之前出现导出到excel的乱码问题,实现独立于浏览器的导出方案
思路:将界面上table的innerHTML获取传送到服务器,在服务器中设置%response的属性和内容实现下载功能。界面代码不做赘述,
看后台response的属性设置
Set %stream=##class(%FileBinaryStream).%New()
Do %stream.SetAttribute("ContentType","application/vnd.ms-excel")
Do %stream.SetAttribute("ContentDisposition","attachment;filename="_title_".xls" )
Do %stream.SetAttribute("Expires",600)
Do %stream.SetAttribute("Expires",600)
set streamOid=$Get(%session.Data("excelXml"))
kill %session.Data("excelXml")
set myStream=##class(%Stream.Object).%Open(streamOid)
s tableStr="<html><head><META http-equiv=\"_$Char(34)_"Content-Type\"_$Char(34)_"
content=\"_$Char(34)_"text/html; charset=UTF-8\"_$Char(34)_"></head><body><table>"
s tableStr=tableStr_myStream.Read(myStream.Size)_"</table></body></html>"//注意tableStr的写法其它语言可以仿照这样的写法
d %stream.Write(tableStr)
将stream的属性赋给response
Set %response.ContentType=%stream.GetAttribute("ContentType")
Set %response.CharSet=%stream.GetAttribute("CharSet")
If %stream.GetAttribute("ContentDisposition")'="" Do %response.SetHeader("Content-Disposition",%stream.GetAttribute("ContentDisposition"))
If %stream.IsCharacter()
{
Do %response.ContentInfo(,.table)
If table="RAW"||($extract(table,1,$length("Latin"))="Latin")||($extract(table,1,$length("CP"))="CP")
{
Set %response.ContentLength=%stream.Size
} }
鉴于之前出现导出到excel的乱码问题,实现独立于浏览器的导出方案
思路:将界面上table的innerHTML获取传送到服务器,在服务器中设置%response的属性和内容实现下载功能。界面代码不做赘述,
看后台response的属性设置
Set %stream=##class(%FileBinaryStream).%New()
Do %stream.SetAttribute("ContentType","application/vnd.ms-excel")
Do %stream.SetAttribute("ContentDisposition","attachment;filename="_title_".xls" )
Do %stream.SetAttribute("Expires",600)
Do %stream.SetAttribute("Expires",600)
set streamOid=$Get(%session.Data("excelXml"))
kill %session.Data("excelXml")
set myStream=##class(%Stream.Object).%Open(streamOid)
s tableStr="<html><head><META http-equiv=\"_$Char(34)_"Content-Type\"_$Char(34)_"
content=\"_$Char(34)_"text/html; charset=UTF-8\"_$Char(34)_"></head><body><table>"
s tableStr=tableStr_myStream.Read(myStream.Size)_"</table></body></html>"//注意tableStr的写法其它语言可以仿照这样的写法
d %stream.Write(tableStr)
将stream的属性赋给response
Set %response.ContentType=%stream.GetAttribute("ContentType")
Set %response.CharSet=%stream.GetAttribute("CharSet")
If %stream.GetAttribute("ContentDisposition")'="" Do %response.SetHeader("Content-Disposition",%stream.GetAttribute("ContentDisposition"))
If %stream.IsCharacter()
{
Do %response.ContentInfo(,.table)
If table="RAW"||($extract(table,1,$length("Latin"))="Latin")||($extract(table,1,$length("CP"))="CP")
{
Set %response.ContentLength=%stream.Size
} }
相关文章推荐
- ASP.net MVC把Html Table导出Excel
- 将HtmlTable内容导出到Excel,使用NPOI组件
- 极好的导出table为Excel的方法(除IE外各浏览器可使用)
- HTML Table 导出成Excel 边框变粗的问题
- javscript 导出html中的table到excel
- 将HtmlTable内容导出到Excel,使用NPOI组件 分类: ASP.NET 源代码 2012-12-17 13:37 2289人阅读 评论(3) 收藏
- C# html的Table导出到Excel中
- PHP把HTML的table导出为Excel文件
- html页面里table导出为excel
- javscript 导出html中的table到excel
- 导出Excel的方法,传入为table或html!
- 将HtmlTable内容导出到Excel,使用NPOI组件 分类: ASP.NET 源代码 2012-12-17 13:37 2288人阅读 评论(3) 收藏
- html中table导出Excel
- pb9中使用htmltable方式将数据窗口导出为excel文件的几点看法
- 将HtmlTable内容导出到Excel,使用NPOI组件
- 如何使用html表格自定义或采用tableexport.js第三方插件以excel格式导出
- C#将html table 导出成excel实例
- java读取Excel导出Html对应的table代码
- javascript 实现 html 页面 table 导出 excel
- HTML Table 导出成Excel 边框变粗的问题