求助java.lang.ArrayIndexOutOfBoundsException: 1数组越界

qq_14910651 2017-01-10 01:38:12
代码如下:
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ include file="/pages/include/taglib.jsp" %>
<%@ page import="java.io.File" %>
<%@ page import="jxl.Workbook" %>
<%@ page import="jxl.write.*" %>
<%@ page import="com.hr319wg.util.CommonFuns" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Random" %>
<%@ page import="java.text.DecimalFormat" %>
<%@ page import="com.bjzr.review.pojo.vo.ScaleSetInfoVO" %>
<%@ page import="com.bjzr.review.service.reviewExpertService" %>
<%@ page import="com.hr319wg.common.web.SysContext" %>
<%@ page import="com.bjzr.review.pojo.bo.*" %>
<%
reviewExpertService expertService = (reviewExpertService) SysContext.getBean("reviewExpertService");


%>

<%
try {
String mode = request.getParameter("mode");
List listGroup = (List) session.getAttribute("listGroup");
String fileName = CommonFuns.getSysDate("yyyyMMddHHmmss") + new Random().nextInt(10000) + ".xls";
String url = request.getContextPath() + "/file/tmp/" + fileName;
String path = application.getRealPath("/") + File.separator + "file" + File.separator + "tmp" + File.separator + fileName;
File excelFile = new File(path);
if (!excelFile.exists()) {
excelFile.createNewFile();
}
WritableWorkbook wbook = Workbook.createWorkbook(excelFile);
WritableSheet wsheet = wbook.createSheet("评分", 0);
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
WritableCellFormat titleFormat = new WritableCellFormat(wfont);
if ("expert".equals(mode)) {


int k = listGroup.size() + 6;
String[] headers = new String[k];
headers[0] = "签号";
headers[1] = "小组";
headers[2] = "日期";
headers[3] = "时间";
int num = 4;
for (int i = 0; i < listGroup.size(); i++) {
reviewExpertBO bo = (reviewExpertBO) listGroup.get(i);
headers[num] = bo.getName();
num++;
}
headers[num] = "总分";
headers[num + 1] = "平均分";

for (int i = 0; i < headers.length; i++) {
Label excelTitle = new Label(i, 0, headers[i], titleFormat);
wsheet.addCell(excelTitle);
}
List personList = (List) session.getAttribute("personList");
reviewScore rs0 = new reviewScore();
for (int i = 0; i < personList.size(); i++) {
List applyList = (List) personList.get(i);
if(applyList.size()==0){
rs0 = new reviewScore();
} else {
rs0 = (reviewScore) applyList.get(0);
}

GroupPersonItemBO personItemBO= expertService.findGroupPersonItemBOByApplyItemId(rs0.getApplyItemId());
auditGroupBO groupBO= expertService.findAuditGroupBOById(personItemBO.getGroupId());

String date = "";
String time = "";
if (personItemBO.getSeqDate() != null) {
String[] dateTime = personItemBO.getSeqDate().split(" ");
date = dateTime[0];
time = dateTime[1];
}
Double totalNum = 0.0;
Double aveNum = 0.0;

int nums = i + 1;
Label content3 = new Label(0, nums, personItemBO.getSeq());
Label content4 = new Label(1, nums, groupBO.getGroupName());
Label content5 = new Label(2, nums, date);
Label content6 = new Label(3, nums, time);
wsheet.setColumnView(1,18);
wsheet.setColumnView(2,18);
wsheet.addCell(content3);
wsheet.addCell(content4);
wsheet.addCell(content5);
wsheet.addCell(content6);

int numJ = 4;
for(int f=0;f<listGroup.size();f++){
reviewExpertBO bo = (reviewExpertBO) listGroup.get(f);
int tt=0;
for (int j = 0; j < applyList.size(); j++) {
reviewScore rs = (reviewScore) applyList.get(j);
if(rs.getAuditPid().equals(bo.getItemID())){
totalNum += Double.parseDouble(rs.getScore());
tt++;
Label content7 = new Label(numJ, nums, rs.getScore());
wsheet.addCell(content7);
}
}
if(tt==0){
Label content8 = new Label(numJ, nums, "0");
wsheet.addCell(content8);
}
numJ ++;
}
DecimalFormat df = new DecimalFormat("######0.00");
aveNum = totalNum / applyList.size();
Label content11 = new Label(numJ, nums, String.valueOf(totalNum));
Label content12 = new Label(numJ + 1, nums, String.valueOf(df.format(aveNum)));

wsheet.addCell(content11);
wsheet.addCell(content12);

}
} else {
if ("temp".equals(mode)) {
ScaleSetInfoVO infoVo = (ScaleSetInfoVO) session.getAttribute("infoVo");
String[] headers = {"姓名", "分组", "日期", "时间", "学历", infoVo.getTitle2(), infoVo.getTitle3(), infoVo.getTitle4(), infoVo.getTitle5(), infoVo.getTitle6(),
infoVo.getTitle7(), infoVo.getTitle8(), infoVo.getTitle9(), infoVo.getTitle10(), infoVo.getTitle11(), "总分"};
for (int i = 0; i < headers.length; i++) {
Label excelTitle = new Label(i, 0, headers[i], titleFormat);
wsheet.addCell(excelTitle);
}

List list = (List) session.getAttribute("list");
String groupName = (String) session.getAttribute("groupName");


int num = 1;
for (int i = 0; i < list.size(); i++) {
reviewScaleScore rs = (reviewScaleScore) list.get(i);

/* Double totalNum = 0.0;
totalNum = Double.parseDouble(rs.getScore1()) + Double.parseDouble(rs.getScore2()) + Double.parseDouble(rs.getScore3()) + Double.parseDouble(rs.getScore4())
+ Double.parseDouble(rs.getScore5()) + Double.parseDouble(rs.getScore6()) + Double.parseDouble(rs.getScore7()) + Double.parseDouble(rs.getScore8()) + Double.parseDouble(rs.getScore9())
+ Double.parseDouble(rs.getScore10()) + Double.parseDouble(rs.getScore11()) + Double.parseDouble(rs.getScore12()) + Double.parseDouble(rs.getScore13())
+ Double.parseDouble(rs.getScore14()) + Double.parseDouble(rs.getScore15());*/

String dateStr1 = "";
String dateStr2 = "";
if (null != rs.getSaveDate()) {
String[] dateStr = rs.getSaveDate().split(" ");
dateStr1 = dateStr[0];
dateStr2 = dateStr[1];
}
//第一个参数表示列,第二个表示行
Label content = new Label(0, num, rs.getPersonName());
Label content1 = new Label(1, num, groupName);
Label content2 = new Label(2, num, dateStr1);
Label content3 = new Label(3, num, dateStr2);
Label content4 = new Label(4, num, rs.getScore1());
Label content5 = new Label(5, num, rs.getScore2());
Label content6 = new Label(6, num, rs.getScore3());
Label content7 = new Label(7, num, rs.getScore4());
Label content8 = new Label(8, num, rs.getScore5());
Label content9 = new Label(9, num, rs.getScore6());
Label content10 = new Label(10, num, rs.getScore7());
Label content11 = new Label(11, num, rs.getScore8());
Label content12 = new Label(12, num, rs.getScore9());

wsheet.addCell(content);
wsheet.addCell(content1);
wsheet.addCell(content2);
wsheet.addCell(content3);
wsheet.addCell(content4);
wsheet.addCell(content5);
wsheet.addCell(content6);
wsheet.addCell(content7);
wsheet.addCell(content8);
wsheet.addCell(content9);
wsheet.addCell(content10);
wsheet.addCell(content11);
wsheet.addCell(content12);


num++;


}


}
}
wbook.write(); //写入文件
wbook.close();
response.sendRedirect(url);

} catch (Exception e) {
e.printStackTrace();

}


%>
...全文
875 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
asrfr 2017-01-10
  • 打赏
  • 举报
回复
查看下所有的list是否存在空的情况
  • 打赏
  • 举报
回复
看错误报到哪一行,然后分析附近的代码,这么长没法看
tangwwip 2017-01-10
  • 打赏
  • 举报
回复
数组越界
qq_14910651 2017-01-10
  • 打赏
  • 举报
回复
控制台报错: java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.jsp.pages.review.exportToExcel_jsp._jspService(exportToExcel_jsp.java:181) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.hr319wg.user.util.logincheckfilter.doFilter(logincheckfilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) - PanelGrid form1:_id7 has not enough children. Child count should be a multiple of the columns attribute. - PanelGrid form1:_id6 has not enough children. Child count should be a multiple of the columns attribute. - PanelGrid form1:_id24 has not enough children. Child count should be a multiple of the columns attribute. - PanelGrid form1:_id3 has not enough children. Child count should be a multiple of the columns attribute. - PanelGrid form1:_id8 has not enough children. Child count should be a multiple of the columns attribute.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧