今天做了一个在web页面对table生成csv文件,csv可以直接用excel打开,于是就变成了,把web页面的table转成excel。

页面数据用js导出excel,在IE可以用new 一个ActiveXObject("Excel.Application" )对象来处理,但是需要IE启动activeX,不然运行不了,而且只能在IE里才能运行,不能兼容其他浏览器。所以要在web前端把table生成excel,可以把table的数据生成csv。如果是要做成复杂的excel,可以用java的POI开源组件处理。

所采用的技术是:js的组件table2CSV+jsp

 数据展示页面index.jsp




 
  

  My JSP 'index.jsp' starting page
  
  
  
  
  
  
  
  
  
 
 
 
  
  


   
   
  

    
    
   
    
     
     
    
   
   
    
     
        
        
      
     
     
        
        
      
     
       
     
      
        
        
      
      
     
       
     
        
        
      
     
       
     
      
        
        
      
     
     
      
        
        
      
     
       
     
        
        
      
     
       
   
  
时间数据
2012-05-071204089
2012-05-061230075
2012-05-051227217
2012-05-041263048
2012-05-031303148
2012-05-021343278
2012-05-011326007

 
 

 

 

在这个页面里,他会把数据封装成csv格式的数据,传递到tool-excel.jsp里,在tool-excel.jsp进行处理

tool-excel.jsp代码

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

 response.setHeader("Content-type","application/octet-stream");
 response.setHeader("Content-Disposition","p_w_upload; filename=\"my-data.csv\"");//生成的csv名为my-data.csv
 String data = request.getParameter("csv_text");
 out.println(data);//把数据写入到浏览器,以下载的方式

%>