把jsp页面中的table 导出到excel中,有一种方式可以把table转换成xml然后再转换为excel,哪位大哥能解决这个问题,有没这样dtd文件?给个例子出来吧
解决方案 »
- JSP连接数据库不成功的原因?
- 我学了一年Java,不知道java_home是干什么的,大家帮帮忙!
- jsp中的bean怎样得到一个下拉菜单的值?
- 关于FlexTree控件,限制同级拖拽的问题
- 一简单问题.. 大家看看 关于相对路径问题..
- 在线呀:说来惭愧,用IDE(jbuilder)用久了,现在在命令行用jdk的javac编译一个java文件,提示找不到类.....
- 乱码,乱码!!!又是乱码,帮忙看看!!
- 为什么总说找不到servlet类?
- 关于Java客户端程序与servlet通信时的session的问题!
- 请教jsp的运行环境
- 欢迎爱好java的一起交流
- 请问如何将URL?NAME=111,中的name参数传入到STRUTS2,的<s:form>表单中的对应的<s:textfield>输入框中?
学习中, Google哈
File reportFile = new File(url);
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
//装载数据
JRBeanCollectionDataSource jrbean = new JRBeanCollectionDataSource(list);
//构造jasperPrint对象
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, jrbean);
//输出流
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
//构造输出对象
JExcelApiExporter exporter = new JExcelApiExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
..............//写输出流
byte[] bytes = oStream.toByteArray();
if(bytes != null && bytes.length > 0) {
response.reset();
//excel文件名
String fileName = reportName + ".xls";
response.addHeader("Content-Disposition", "attachment;filename=\"" + URLEncoder.encode(fileName,"utf-8") + "\"");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
<%
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=文件名.xls");
%>但前提是这个jsp里只能有一个table 哈哈
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException {
HttpSession session=request.getSession(true);
//List total=(List)session.getAttribute("mxpdata");
List title=(List)session.getAttribute("Title");
List total=(List)session.getAttribute("MXData");
String outFileName = "filename.xls";// 默认的文件名字和路径
response.setContentType("application/octet-stream");// 设置响应头
response.setHeader("Content-Disposition","attachment; filename=\"" + outFileName + "\"");//
java.io.OutputStream pw = response.getOutputStream();
WebToExcel ex=new WebToExcel();
ex.wetoExcel(total,title,pw);
}
}
public void wetoExcel(List total,List title,OutputStream os) {
try{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(); HSSFRow row1 = sheet.createRow((short)0);
for (int i=0;i<title.size();i++){
row1.createCell((short)i).setCellValue(title.get(i).toString());
}
for (int m=0;m<((List) total.get(0)).size();m++){ //行
HSSFRow row = sheet.createRow((short)m+1);
for (int n=0;n<total.size();n++){ //列
row.createCell((short)n).setCellValue(((List) total.get(n)).get(m).toString());
}
}
//String outFileName = "filename";// 默认的文件名字和路径
wb.write(os);
os.close();
}
catch(Exception ex){System.out.print(ex.toString()); } }}