jsp页面表格数据导出到excel

在程序猿的日常工作中经常会遇到这样的问题,如何将jsp页面表格中的数据导出到excel中?

我所知道的第一种方法是


不过这种方式的局限性很大,火狐和谷歌浏览器基本上就等于废了,而且ie使用时还要修改安全性设置,这是很不方便的。
除此之外还可以采取下面这种方式:在jsp页面的头部加上这么一段:

<% 
  String wjm="student.xls"; 
  response.setContentType( "application/vnd.ms-excel;charset=gbk");  
  response.setHeader("content-disposition","attachment; filename=" +wjm ); 
  %>

wjm是你所要导出的excel表格的名字,使用这种方法,当你打开一个链接指向该页面时,浏览器就会提示下载excel表格,你就可以以excel的形式保存到本地了。这种方式可以适用于各种浏览器,只是这样你无法在当前页面看到数据表格的内容,因为你打开该页面就直接提示下载了。怎么解决这个问题呢?我是这么解决的:

点击导出通讯录

这样你就可以在当前页面看到包含表格的那个页面,而且点击链接时就可以下载了。
有时候我们所要包含进来的页面是用过struts的action处理过返回的页面,如果直接包含action所指向的页面的话,可能在页面上只能看到表头部分而没有数据了,这又该怎么处理呢?
我想到的是使用ajax的方式:

function init(){
        $(function(){
                $.ajax({
                    'async': false,
                      type : "post", 
                       url :"showUser.action", 
                    success : function(msg) { 
                         $("#result").html(msg);
                       } 
                });
            });
    }

 点击导出通讯录

这样处理当页面加载时就会先到后来请求数据,然后把得到的数据通过ajax的方式放入自己设定的div中,这样问题便得到了解决。
上述的这些方法只能处理一般的数据表格,即你希望保存的excel表格和你在页面看到的样式一致,你可以采取上面的方法,因为上面的方法会将页面上的东西全部拷贝到excel中,页面会很不美观,如果你需要处理的表格非常复杂的话可以使用poi,这是一个专门处理office导出导入的jar包,具体事例可以参考该项目 POI插件表格导出案例

你可能感兴趣的:(javascript,jsp,excel导出)