jxl读excel中数据的问题{全部家当酬谢}
本菜鸟用jxl读excel中数据时出现问题。
运行后什么错误提示都没有,但就是得不到输出,页面是空的,白纸一张。恳请高手给予解答!
我的测试页面代码如下:
<%@ page contentType= "text/html; charset=gb2312 "%>
<%@ page import= "java.util.* " %>
<%@ page import= "java.io.* " %>
<%@ page import= "jxl.* " %>
<%@ page import= "jxl.write.* " %>
<%@ page import= "jxl.format.* " %>
<html>
<head>
<title> </title>
</head>
<body>
<%
InputStream is = new FileInputStream( "D:\\test.xls ");
jxl.Workbook wb = Workbook.getWorkbook(is);
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
int rsRows = st.getRows(); //得到excel的总行数
for (int i = 1; i < rsRows; i++) {
Cell cell0 = st.getCell(0, i);//得到工作表的第一个单元格,即A1
Cell cell1 = st.getCell(1, i);//得到工作表的第二个单元格,即A1
try {
String content0 = cell0.getContents();
String content1 = cell1.getContents();
//输出数据
out.println(content0);
out.println(content1);
} catch (Exception e) {
//如果EXCEL文件中输入的数据有错,则跳过此行数据
session.setAttribute( "message ", "hello ");
continue;
}
}
wb.close();
is.close();
%>
</body>
</html>
[解决办法]
应该是common\lib下.
你可以给页面指定errorPage
应该知道了.
或者在Tomcat运行的时候,看看里面有没有异常可以知道.
[解决办法]
这是用poi写的自己参考下。
PrintWriter out = response.getWriter();
String action=request.getParameter( "action ");
if( "excel ".equals(action)) {
List list=(List)request.getSession().getAttribute( "list ");
String fileName = "入库明细台帐.xls ";
String path = request.getRealPath( " ");
path = path + "/page/rcjc/excel ";
File f = new File(path, fileName);
WritableWorkbook book = Workbook.createWorkbook(f);
sheet = book.createSheet( "入库明细台帐 ", 0);
sheet.setColumnView(0, 20);
sheet.setColumnView(1, 50);
WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 16, WritableFont.BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
WritableCellFormat headerFormat = new WritableCellFormat(headerFont);
try {
sheet.mergeCells(3,0,6,1);
sheet.addCell(new Label(3,0, "入 库 明 细 台 帐 ",headerFormat));
sheet.mergeCells(2,2,3,2);
sheet.addCell(new Label(2,2, "检查单位: "));
sheet.mergeCells(4,2,7,2);
sheet.mergeCells(9,2,10,2);
sheet.addCell(new Label(9,2, "单位:万元 "));
sheet.addCell(new Label(0,3, "管理码 "));
sheet.addCell(new Label(1,3, "单位名称 "));
sheet.addCell(new Label(2,3, "营业税 "));
sheet.addCell(new Label(3,3, "城维税 "));
sheet.addCell(new Label(4,3, "个所税 "));
sheet.addCell(new Label(5,3, "企所税 "));
sheet.addCell(new Label(6,3, "房产税 "));
sheet.addCell(new Label(7,3, "土使税 "));
sheet.addCell(new Label(8,3, "土增税 "));
sheet.addCell(new Label(9,3, "车船税 "));
sheet.addCell(new Label(10,3, "印花税 "));
sheet.addCell(new Label(11,3, "资源税 "));
sheet.addCell(new Label(12,3, "费 "));
sheet.addCell(new Label(13,3, "基金 "));
sheet.addCell(new Label(14,3, "合计 "));
if(null!=list&&list.size()> 0){
for(int i=0;i <list.size();i++){
TQA_RCJC_AJDJ_BEAN bean=(TQA_RCJC_AJDJ_BEAN) list.get(i);
sheet.addCell(new Label(0,i+4,bean.getNsrnbm()));
sheet.addCell(new Label(1,i+4,bean.getName_nsr()));
sheet.addCell(new Label(2,i+4, " "));
sheet.addCell(new Label(3,i+4, " "));
sheet.addCell(new Label(4,i+4, " "));
sheet.addCell(new Label(5,i+4, " "));
sheet.addCell(new Label(6,i+4, " "));
sheet.addCell(new Label(7,i+4, " "));
sheet.addCell(new Label(8,i+4, " "));
sheet.addCell(new Label(9,i+4, " "));
sheet.addCell(new Label(10,i+4, " "));
sheet.addCell(new Label(11,i+4, " "));
sheet.addCell(new Label(12,i+4, " "));
sheet.addCell(new Label(13,i+4, " "));
sheet.addCell(new Label(14,i+4, " "));
}
book.write();
book.close();
}else{
return;
}
}
catch (Exception e)
{
System.out.print(e.toString());
}
response.setHeader( "Cache-Control ", "no-store ");
response.setHeader( "Pragrma ", "no-cache ");
response.setDateHeader( "Expires ", 0);
response.setHeader( "Content-Type ",
"application/vnd.ms-excel;charset=ISO-8859-1 ");
response.setHeader( "Content-Disposition ", "attachment; filename=\ " "
+ fileName + "\ " ");
java.io.FileInputStream fileInputStream = new FileInputStream(path
+ "/ " + fileName);
int i;
while ((i = fileInputStream.read()) != -1)
{
out.write(i);
}
fileInputStream.close();
out.close();
}