java+jxl+jsp导出excel问题

问题描述

能导出excel,但是没有数据,请大神帮我看下,谢谢,感觉应该是这一段Listlist=newArrayList();//System.out.println(list.size());for(inti=3;i<list.size()+3;i++){Datathplyyvchdata=(Datathplyyvch)list.get(i-3);ws.insertRow(i);ws.addCell(newLabel(0,i,data.getVfdept_code()));ws.addCell(newLabel(1,i,data.getVfdept_name()));有问题,但是不知道该怎么处理。请大神点修改意见。dfd.javapackagecom.jagie.test;importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.List;importjxl.Workbook;importjxl.write.Label;importjxl.write.WritableCellFormat;importjxl.write.WritableFont;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;publicclassdfd{publicConnectiongetConnection(){Connectionconn=null;try{Class.forName("oracle.jdbc.driver.OracleDriver");conn=DriverManager.getConnection("jdbc:oracle:thin:@10.0.3.6:1521:MSQJGL","msqjgl","msqjgl");}catch(Exceptione){System.out.println("数据库链接异常!");e.printStackTrace();}returnconn;}@SuppressWarnings({"unchecked","rawtypes"})publicListgetData(){ResultSetrs=null;Listlist=newArrayList();try{Stringsql="select*fromjl_verifi_dept";Statementst=this.getConnection().createStatement();rs=st.executeQuery(sql);Datathplyyvchdata=null;while(rs.next()){data=newDatathplyyvch();data.setVfdept_code(rs.getString("vfdept_code"));data.setVfdept_name(rs.getString("vfdept_name"));list.add(data);System.out.println(rs.getString("vfdept_NAME"));}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnlist;}@SuppressWarnings({"unused","rawtypes"})publicstaticvoidwriteExcel(OutputStreamos)throwsException{try{jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(os);jxl.write.WritableSheetws=wwb.createSheet("TestSheet1",0);SimpleDateFormatdateFormat=newSimpleDateFormat("yyyyMMddHHmmss");SimpleDateFormatdate2Format=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");java.util.Datedate=newjava.util.Date();StringdateStr=dateFormat.format(date);WritableFontwf=newWritableFont(WritableFont.TIMES,16,WritableFont.BOLD,false);WritableCellFormatwcf=newWritableCellFormat(wf);//实例化文字格式化wcf.setAlignment(jxl.format.Alignment.CENTRE);//左右居中wcf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//打印日期行格式化WritableFontwf2=newWritableFont(WritableFont.TIMES,10,WritableFont.NO_BOLD,false);WritableCellFormatwcf2=newWritableCellFormat(wf2);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.LEFT);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//列名格式化WritableFontwf3=newWritableFont(WritableFont.TIMES,13,WritableFont.BOLD,false);WritableCellFormatwcf3=newWritableCellFormat(wf3);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.CENTRE);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中ws.insertRow(0);ws.mergeCells(0,0,1,0);//合并单元格ws.addCell(newLabel(0,0,"部门表",wcf));ws.setRowView(0,800);//设置高度ws.insertRow(1);ws.mergeCells(0,1,1,1);ws.addCell(newLabel(0,1,"导出日期:"+date2Format.format(date),wcf2));ws.insertRow(2);ws.addCell(newLabel(0,2,"编码",wcf3));ws.setColumnView(0,10);//设置列宽度ws.addCell(newLabel(1,2,"名称",wcf3));ws.setColumnView(1,20);//设置列宽度Listlist=newArrayList();//System.out.println(list.size());for(inti=3;i<list.size()+3;i++){Datathplyyvchdata=(Datathplyyvch)list.get(i-3);ws.insertRow(i);ws.addCell(newLabel(0,i,data.getVfdept_code()));ws.addCell(newLabel(1,i,data.getVfdept_name()));}//写入Excel工作表wwb.write();//关闭Excel工作薄对象wwb.close();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();//System.out.println(getVfdept_code());}}//最好写一个这样的main方法来测试一下你的这个class是否写好了。publicstaticvoidmain(String[]args)throwsException{Filef=newFile("kk.xls");f.createNewFile();//OutputStreamos=newFileOutputStream(fileWrite);;writeExcel(newFileOutputStream(f));}}

Datathplyyvch.javapackagecom.jagie.test;publicclassDatathplyyvch{privateStringvfdept_code;privateStringvfdept_name;publicStringgetVfdept_code(){returnvfdept_code;}publicvoidsetVfdept_code(Stringvfdept_code){//TODO自动生成方法存根this.vfdept_code=vfdept_code;}publicStringgetVfdept_name(){returnvfdept_name;}publicvoidsetVfdept_name(Stringvfdept_name){//TODO自动生成方法存根this.vfdept_name=vfdept_name;}}

jsp:<%@pageimport="com.jagie.test.dfd"%><%response.reset();response.setContentType("application/vnd.ms-excel");dfd.writeExcel(response.getOutputStream());%>

解决方案

解决方案二:
打断点跟踪看看;看list中有没值。
解决方案三:
建议使用POI,JXL很久没更新了。
解决方案四:
本帖最后由 defonds 于 2014-11-21 12:50:07 编辑
解决方案五:
那这个LIST我杂写呢。就是不知道呀。请教。
解决方案六:
list中的数据你应该从数据库中得到呀!
解决方案七:
导出excel、word了什么的,你用freemarker非常简单,速度快,出错很容易找到,就跟写html样的。
解决方案八:
apachepoi导入导出是不错的,这个好用点吧
解决方案九:
Listlist=newArrayList();改为Listlist=getData();试试
解决方案十:
引用8楼shixitong的回复:

Listlist=newArrayList();改为Listlist=getData();试试

因为publicstaticvoidwriteExcel(OutputStreamos)throwsException是静态的,没法用getData(),我把所有的都改成静态的,也会报别的错
解决方案十一:
不一定要把所有都改为静态的,可以把list作为参数传到writeExcel方法中这样你在main方法中先获得这个list然后把list传到writeExcel中就行了
解决方案十二:
看看例子吧。jxl是java用来操纵excel表格的一个包。里面提供了各种操作excel的类和方法。类似的还有PIO也可以实现这些功能下面是实现读取excel的一个简单示例,里面含有注释。packagecom.foolfish.jxl;importjava.io.File;importjava.io.IOException;importjxl.Workbook;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;importjxl.write.WriteException;importjxl.write.biff.RowsExceededException;publicclassJxlWrite{publicstaticvoidmain(String[]args){WritableWorkbookworkbook;try{//创建工作簿workbook=Workbook.createWorkbook(newFile("E:/eclipseproject/Jxl/bin/test.xls"));//创建sheetWritableSheetsheet1=workbook.createSheet("测试用excel",0);WritableSheetsheet2=workbook.createSheet("测试excel",1);//开始创建cell//WritableCellcellfor(inti=0;i<10;i++){//向sheet中写入数据sheet1.addCell(newjxl.write.Label(0,i,"书目ID"));}workbook.write();workbook.close();//sheet.addCell(newjxl.write.Label(0,1,"书目ID"));}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(RowsExceededExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(WriteExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}

下面是个读取excel的代码packagecom.foolfish.jxl;importjava.io.File;importjava.io.IOException;importjxl.Workbook;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;importjxl.write.WriteException;importjxl.write.biff.RowsExceededException;publicclassJxlWrite{publicstaticvoidmain(String[]args){WritableWorkbookworkbook;try{//创建工作簿workbook=Workbook.createWorkbook(newFile("E:/eclipseproject/Jxl/bin/test.xls"));//创建sheetWritableSheetsheet1=workbook.createSheet("测试用excel",0);WritableSheetsheet2=workbook.createSheet("测试excel",1);//开始创建cell//WritableCellcellfor(inti=0;i<10;i++){//向sheet中写入数据sheet1.addCell(newjxl.write.Label(0,i,"书目ID"));}workbook.write();workbook.close();//sheet.addCell(newjxl.write.Label(0,1,"书目ID"));}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(RowsExceededExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(WriteExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}

解决方案十三:
引用10楼shixitong的回复:

不一定要把所有都改为静态的,可以把list作为参数传到writeExcel方法中这样你在main方法中先获得这个list然后把list传到writeExcel中就行了

list我是在LISTgetData()方法中获得的,我要如何才能把它做为参数传入静态的writeExcel方法中去呢?
解决方案十四:
//在调用这个方法之前先获得list(通过getData方法),然后传到下面的方法里dfddObject=newdfd();Listlist=dObject.getData();Filef=newFile("kk.xls");f.createNewFile();writeExcel(newFileOutputStream(f),list);

publicstaticvoidwriteExcel(OutputStreamos,Listlist)throwsException{try{jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(os);jxl.write.WritableSheetws=wwb.createSheet("TestSheet1",0);SimpleDateFormatdateFormat=newSimpleDateFormat("yyyyMMddHHmmss");SimpleDateFormatdate2Format=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");java.util.Datedate=newjava.util.Date();StringdateStr=dateFormat.format(date);WritableFontwf=newWritableFont(WritableFont.TIMES,16,WritableFont.BOLD,false);WritableCellFormatwcf=newWritableCellFormat(wf);//实例化文字格式化wcf.setAlignment(jxl.format.Alignment.CENTRE);//左右居中wcf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//打印日期行格式化WritableFontwf2=newWritableFont(WritableFont.TIMES,10,WritableFont.NO_BOLD,false);WritableCellFormatwcf2=newWritableCellFormat(wf2);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.LEFT);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//列名格式化WritableFontwf3=newWritableFont(WritableFont.TIMES,13,WritableFont.BOLD,false);WritableCellFormatwcf3=newWritableCellFormat(wf3);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.CENTRE);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中ws.insertRow(0);ws.mergeCells(0,0,1,0);//合并单元格ws.addCell(newLabel(0,0,"部门表",wcf));ws.setRowView(0,800);//设置高度ws.insertRow(1);ws.mergeCells(0,1,1,1);ws.addCell(newLabel(0,1,"导出日期:"+date2Format.format(date),wcf2));ws.insertRow(2);ws.addCell(newLabel(0,2,"编码",wcf3));ws.setColumnView(0,10);//设置列宽度ws.addCell(newLabel(1,2,"名称",wcf3));ws.setColumnView(1,20);//设置列宽度//System.out.println(list.size());for(inti=3;i<list.size()+3;i++){Datathplyyvchdata=(Datathplyyvch)list.get(i-3);ws.insertRow(i);ws.addCell(newLabel(0,i,data.getVfdept_code()));ws.addCell(newLabel(1,i,data.getVfdept_name()));}//写入Excel工作表wwb.write();//关闭Excel工作薄对象wwb.close();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();//System.out.println(getVfdept_code());}}

解决方案十五:
引用13楼shixitong的回复:

//在调用这个方法之前先获得list(通过getData方法),然后传到下面的方法里dfddObject=newdfd();Listlist=dObject.getData();Filef=newFile("kk.xls");f.createNewFile();writeExcel(newFileOutputStream(f),list);

publicstaticvoidwriteExcel(OutputStreamos,Listlist)throwsException{try{jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(os);jxl.write.WritableSheetws=wwb.createSheet("TestSheet1",0);SimpleDateFormatdateFormat=newSimpleDateFormat("yyyyMMddHHmmss");SimpleDateFormatdate2Format=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");java.util.Datedate=newjava.util.Date();StringdateStr=dateFormat.format(date);WritableFontwf=newWritableFont(WritableFont.TIMES,16,WritableFont.BOLD,false);WritableCellFormatwcf=newWritableCellFormat(wf);//实例化文字格式化wcf.setAlignment(jxl.format.Alignment.CENTRE);//左右居中wcf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//打印日期行格式化WritableFontwf2=newWritableFont(WritableFont.TIMES,10,WritableFont.NO_BOLD,false);WritableCellFormatwcf2=newWritableCellFormat(wf2);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.LEFT);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中//列名格式化WritableFontwf3=newWritableFont(WritableFont.TIMES,13,WritableFont.BOLD,false);WritableCellFormatwcf3=newWritableCellFormat(wf3);//实例化文字格式化wcf2.setAlignment(jxl.format.Alignment.CENTRE);//左右居中//wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中ws.insertRow(0);ws.mergeCells(0,0,1,0);//合并单元格ws.addCell(newLabel(0,0,"部门表",wcf));ws.setRowView(0,800);//设置高度ws.insertRow(1);ws.mergeCells(0,1,1,1);ws.addCell(newLabel(0,1,"导出日期:"+date2Format.format(date),wcf2));ws.insertRow(2);ws.addCell(newLabel(0,2,"编码",wcf3));ws.setColumnView(0,10);//设置列宽度ws.addCell(newLabel(1,2,"名称",wcf3));ws.setColumnView(1,20);//设置列宽度//System.out.println(list.size());for(inti=3;i<list.size()+3;i++){Datathplyyvchdata=(Datathplyyvch)list.get(i-3);ws.insertRow(i);ws.addCell(newLabel(0,i,data.getVfdept_code()));ws.addCell(newLabel(1,i,data.getVfdept_name()));}//写入Excel工作表wwb.write();//关闭Excel工作薄对象wwb.close();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();//System.out.println(getVfdept_code());}}

dfd.writeExcel(response.getOutputStream(),list);我用你的方法,就得在JSP里面加上list,但是就会提示listcannotberesolvedtoavariable,又该怎么解决呢,不好意思,问题可能有点笨,海涵。
解决方案:
引用

dfd.writeExcel(response.getOutputStream(),list);我用你的方法,就得在JSP里面加上list,但是就会提示listcannotberesolvedtoavariable,又该怎么解决呢,不好意思,问题可能有点笨,海涵。

jsp里要导入你相应的java类<%@pageimport="java.util.List"%>

其它没有的类依次也导入下
解决方案:
引用15楼shixitong的回复:

引用
dfd.writeExcel(response.getOutputStream(),list);我用你的方法,就得在JSP里面加上list,但是就会提示listcannotberesolvedtoavariable,又该怎么解决呢,不好意思,问题可能有点笨,海涵。

jsp里要导入你相应的java类<%@pageimport="java.util.List"%>

其它没有的类依次也导入下

<%@pageimport="com.jagie.test.dfd"%><%@pageimport="java.util.List"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.sql.*"%><%@pageimport="java.io.OutputStream"%><%@pageimport="jxl.*"%><%@pageimport="java.io.File"%><%response.reset();response.setContentType("application/vnd.ms-excel");//dfd.writeExcel(response.getOutputStream(),null);dfd.writeExcel(response.getOutputStream(),list);%>

一样的提示listcannotberesolvedtoavariable
解决方案:
引用

一样的提示listcannotberesolvedtoavariable

这个有语法错误了,这个list从哪边得到的?dfddObject=newdfd();Listlist=dObject.getData();这样才是取list
解决方案:
这个有语法错误了,这个list从哪边得到的?dfddObject=newdfd();Listlist=dObject.getData();这样才是取list

还是不明白,能不能帮我调试成功呀,我有点晕了。
解决方案:
引用已经发私信给你了
解决方案:
用这个吧将数据保存在list集合然后跳到页面输出list集合就会自动导出到excel说明:实现的功能是checkBox选择多个订单对象,然后由word或excel导出Jsp页面<ahref="javascript:exportOrders('excel')">批量导出订单(excel)</a><ahref="javascript:exportOrders('word')">批量导出订单(word)</a>--------------------------------------------------------------Js文件/**批量导出订单*将要导出数据id进行拼接*/functionexportOrders(model){//messageId是checkbox的idvarmessageIds=document.getElementsByName("messageId");varorderIds="";varcheckedCount=0;for(vari=0;i<messageIds.length;i++){if(messageIds[i].checked){checkedCount++;}}if(checkedCount<=0){alert("请至少选择一条数据!");return;}else{for(vari=0;i<messageIds.length;i=i+1){if(messageIds[i].checked){orderIds+=("'"+messageIds[i].value+"';");}}}document.getElementById("orderIds").value=orderIds;document.getElementById("model").value=model;varaction=document.myForm.action;//记录之前的Action,用完之后,恢复原状document.myForm.action="order/exportOrders/";document.myForm.submit();document.myForm.action=action;}--------------------------------------------------------------Struts.xml文件<!--批量导出订单信息(excel/word)--><actionname="exportOrders"method="exportOrders"class="com.cloudsoar3c.action.OrderAction"><resultname="excel">/WEB-INF/order/exportOrdersExcel.jsp</result><resultname="word">/WEB-INF/order/exportOrdersWord.jsp</result><interceptor-refname="securityStack"></interceptor-ref></action>--------------------------------------------------------------Action文件/***批量导出订单信息(excel/word)**@return*/publicStringexportOrders(){StringstringOrderIds=this.request.getParameter("orderIds");Stringmodel=this.request.getParameter("model");StringorderIds=Util.charReplacement(stringOrderIds,";",",");Util.log(orderIds);List<TOrder>orderList=this.orderBiz.getOrderListByIds(orderIds);Util.log("导出的订单集合大小:"+orderList.size());super.request.setAttribute("orderList",orderList);return"excel".equals(model.trim())?"excel":"word";}--------------------------------------------------------------/***拆分字符串(将"A#B#C#D#E#F#"格式的字符串转换为"A,B,C,D,E,F"),并输出*/publicstaticStringcharReplacement(StringsourceStr,StringsourceChar,StringtargetChar){Stringresult="";//将需要处理的字符串中含有的sourceChar,全部替换为targetCharStringtemp=sourceStr.replaceAll(sourceChar,targetChar);//截取字符串中最后一个字符;intlen=temp.length();result=temp.substring(0,len-1);returnresult;}-------------------------------------------------------------------
解决方案:
导出Excel的返回页面exportOrdersExcel.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pagecontentType="text/html;charset=GBK"%><%@tagliburi="/struts-tags"prefix="s"%><%@pageimport="java.util.*"%><%@pageimport="java.text.SimpleDateFormat"%><%response.setContentType("application/vnd.ms-excel;charset=GBK");%><HTML><metahttp-equiv="Content-Type"content="text/html;charset=GBK"><head><title>Test</title></head><body><%request.setCharacterEncoding("GBK");SimpleDateFormatsf=newSimpleDateFormat("yyyy-MM-dd_HH_mm_ss");response.setHeader("Content-Disposition","attachment;filename=order_"+sf.format(newDate())+".xls");%><center>订单列表</center><tableborder="1"align="center"width="60%"><tralign="center"><td>序号</td><td>订单号</td><td>单价(元)</td><td>数量</td><td>总金额(元)</td><td>优惠价格(元)</td><td>实际需付金额(元)</td><td>下单时间</td><td>订单完成时间</td><td>客户账号</td><td>主机名称</td><td>订单状态</td></tr><s:iteratorvalue="#request.orderList"var="order"status="st"><tralign="center"><tdstyle="mso-number-format:'@';">${st.count}</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.orderId"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.price"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.buyCount"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{@com.cloudsoar3c.tools.Util@getTotalPriceByOrder(#order.totalPrice)}"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.preferentialPrice"/></td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{@com.cloudsoar3c.tools.Util@getActualPayByOrder(#order.totalPrice,#order.preferentialPrice)}"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:datename="#order.orderTime"format="yyyy-MM-ddHH:mm:dd"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:datename="#order.completeTime"format="yyyy-MM-ddHH:mm:dd"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.TClient.email"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.TServerHostLicense.hostName"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{#order.TStatusTypeContent.statusTypeContent}"/>&nbsp;</td></tr></s:iterator></table></body></HTML>-------------------------------------------------------------------导出word的返回页面exportOrdersWord.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pagecontentType="text/html;charset=GBK"%><%@tagliburi="/struts-tags"prefix="s"%><%@pageimport="java.util.*"%><%@pageimport="java.text.SimpleDateFormat"%><%response.setContentType("application/vnd.ms-word;charset=GBK");%><HTML><metahttp-equiv="Content-Type"content="text/html;charset=GBK"><head><title>Test</title></head><body><%request.setCharacterEncoding("GBK");SimpleDateFormatsf=newSimpleDateFormat("yyyy-MM-dd_HH_mm_ss");response.setHeader("Content-Disposition","attachment;filename=order_"+sf.format(newDate())+".doc");%><center>订单列表</center><tableborder="1"align="center"width="2000px"><tralign="center"><td>序号</td><td>订单号</td><td>单价(元)</td><td>数量</td><td>总金额(元)</td><td>优惠价格(元)</td><td>实际需付金额(元)</td><td>下单时间</td><td>订单完成时间</td><td>客户账号</td><td>主机名称</td><td>订单状态</td></tr><s:iteratorvalue="#request.orderList"var="order"status="st"><tralign="center"><tdstyle="mso-number-format:'@';">${st.count}</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.orderId"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.price"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.buyCount"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{@com.cloudsoar3c.tools.Util@getTotalPriceByOrder(#order.totalPrice)}"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.preferentialPrice"/></td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{@com.cloudsoar3c.tools.Util@getActualPayByOrder(#order.totalPrice,#order.preferentialPrice)}"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:datename="#order.orderTime"format="yyyy-MM-ddHH:mm:dd"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:datename="#order.completeTime"format="yyyy-MM-ddHH:mm:dd"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.TClient.email"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="#order.TServerHostLicense.hostName"/>&nbsp;</td><tdstyle="mso-number-format:'@';">&nbsp;<s:propertyvalue="%{#order.TStatusTypeContent.statusTypeContent}"/>&nbsp;</td></tr></s:iterator></table></body></HTML>
解决方案:
debug模式断点跟踪,观察数据的传递情况这种错误往往是不细心导致的

时间: 2024-10-09 16:14:31

java+jxl+jsp导出excel问题的相关文章

JSP导出Excel文件的方法_JSP编程

本文实例讲述了JSP导出Excel文件的方法.分享给大家供大家参考,具体如下: <%@page import="jxl.Workbook,com.ecc.emp.core.*,com.ecc.emp.data.*,com.ecc.emp.jdbc.ConnectionManager,jxl.format.VerticalAlignment,java.sql.*,jxl.write.*,jxl.format.UnderlineStyle,javax.sql.DataSource"%

jsp导出excel并支持分sheet导出的方法_JSP编程

本文实例讲述了jsp导出excel并支持分sheet导出的方法.分享给大家供大家参考,具体如下: public DownloadFile exportToExcel() throws Exception{ String config_value = systemConfigService.getConfigValueByKey("Export.Xls"); logger.info("获取的导出类型为execl表格"+",每页sheet导出的行数为:&quo

Java程序实现导出Excel的方法(支持IE低版本)_java

今天想整理一下自己前段时间遇到的一个导出的问题. 因为项目的需求,要做一部分导出功能.开始的时候用的公司的导出,但是很奇怪有部分模块导出的时候就是会报500错误,发现在删减一些字段后就恢复了正常,当时因为项目紧张,也就临时删减了一些,但也不是长久之计,之后自己在原本的基础上重新修改整理了一下,目前运行还算稳定,就此和大家分享一下. 导出需要三个部分,js,公共方法,后台方法. js代码 function exportData() { //前台接收的参数 rwmc = $("#txt_rwmc&q

jsp导出excel文件的操作

问题描述 jsp导出excel文件的操作 jsp页面导出excel文件或者PDF文件应该是用什么技术,求指导~~ 解决方案 JSP导出Excel文件c# 导出Excel文件的操作示例操作本地文件的jsp 解决方案二: 导入导出excel一般用的jxl架包,可以在网上搜一下例子... 解决方案三: 网上导出EXCEL的例子很多的,可以搜一下

java poi2.5 导出excel 乱码问题

问题描述 java poi2.5 导出excel 乱码问题 我在代码里有设置编码 在某个单元格设置"单位"中文字符后,导出的excel就出现乱码的问题,求解答,网上百度了几种方法都不行.谢谢各位了 解决方案 1.每次打开excel就会提示:"此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.关闭其他文档再试一次可能有用." 解决办法:是因为创建的字体太多了,当调用HSSFWorkbook的createFont之后就创建一种字体,就算字体属性完全一样也

java jxl怎么生成excel斜线表头,java jxl怎么生成excel斜线表头

问题描述 java jxl怎么生成excel斜线表头,java jxl怎么生成excel斜线表头 java jxl怎么生成excel斜线表头,java jxl怎么生成excel斜线表头 解决方案 java 实现生成excel表头

java-【急,在线等】Java使用POI导出Excel,服务器部署后超过50行报错!

问题描述 [急,在线等]Java使用POI导出Excel,服务器部署后超过50行报错! Java使用POI导出Excel,服务器部署后超过50行报错,但本地调试无异常!具体错误信息如下: 10:13:44,761 ERROR org.apache.struts2.dispatcher.StreamResult StreamResultX : Can not find a java.io.InputStream with the name [excelStream] in the invocati

利用jsp导出excel相关的问题

问题描述 1.利用jsp导出为Excel文档,后缀是.xls.2.再把该excel文档进行导入操作,发现不能导入.用excel打开后,按另存为,发现保存类型默认是网页(*.htm;*.html),把保存类型改为Excel工作薄(*.xls)就可以导入.3 如何在jsp中设置才能使默认保存类型为Excel工作薄(*.xls)希望各位兄弟帮忙给些意见. 问题补充:enet_java 写道 解决方案 这个样子肯定是不行的,因为你的文件流格式不是excel格式,还是jsp的格式,你只是修改了后缀名吧,建

Java读写与导出Excel表格实例代码详解

正常导出报表的场景就是从数据库读取数据,然后按照指定的格式生成报表.其中可能涉及到的就是插入/复制行,单元格设置公式计算这些典型应用.下面就按这个需求给出解决方案.思路就是,首先制定一个Excel模板文档,暂命名为TEMPLATE.xls:然后读取该文档,插入/复制一些数据进去,另存为新的报表文件.这样就不需要在写入数据的时候考虑繁琐的表格样式问题了. 读取模板文件  代码如下 复制代码 POIFSFileSystem fs = new POIFSFileSystem(new FileInput