我从数据库查询出来的数据,通过exportPersonInfoExcel方法来写入EXCEL的一行数据,
问题是:签发人,接收人,审核人同时调用这个方法的时候,只能把最后一个成功的写入到EXCEL里面
前两个都没有了。
而如果要是单独写上面三个中的另一个,都可以正常写入到EXCEL里面并显示出来,
这是为什么呢?难道只能对同一行的EXCEL进行处理么? @Override
protected void buildExcelDocument(Map<String, Object> model,
HSSFWorkbook workbook, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//签发人
exportPersonInfoExcel(assignData,workbook,sheet,4,0);
//接收人
exportPersonInfoExcel(receiveData,workbook,sheet,4,3);
//审核人
exportPersonInfoExcel(verifyData,workbook,sheet,4,6); //处理中文文件名
fileName = encodeFilename(fileName, request);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName+".xls");
} public void exportPersonInfoExcel(ArrayList dataset
, Workbook workbook
, HSSFSheet sheet
, int index
, int size) {
try {
// 生成并设置主体样式
CellStyle style2 = workbook.createCellStyle();
style2 = setbodyStyle(workbook, style2);
int sizeBack = size;
if(dataset.size()>0){
for(int i = 0; i < dataset.size(); i++){
//产生表格内容行
Row rowInfo = sheet.createRow(index);
TaskComplexDto data = (TaskComplexDto) dataset.get(i);
size=sizeBack;
for(int j=0;j<3;j++){
Cell cell = rowInfo.createCell(size);
cell.setCellStyle(style2);
if(j==0){
RichTextString textUser = new HSSFRichTextString(data.getUserName());
cell.setCellValue(textUser);
}
if(j==1){
RichTextString textAssign = new HSSFRichTextString(data.getAssignTimes());
cell.setCellValue(textAssign);
}
if(j==2){
RichTextString textOut = new HSSFRichTextString(data.getOutTimes());
cell.setCellValue(textOut);
}
size++;
}
index++;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
就像这样:
//////////////////////////////////////////////////////////////////////////////////
签发人 签发数 超时数 接收人 接收数 超时接收 审核人 审核数 超时审核数
admin 7 0
admin2 1 0
admin3 8 1
//////////////////////////////////////////////////////////////
签发人的数据和接收人的数据都没有显示出来!
我确定都有数据的!
请大家帮忙,谢谢
问题是:签发人,接收人,审核人同时调用这个方法的时候,只能把最后一个成功的写入到EXCEL里面
前两个都没有了。
而如果要是单独写上面三个中的另一个,都可以正常写入到EXCEL里面并显示出来,
这是为什么呢?难道只能对同一行的EXCEL进行处理么? @Override
protected void buildExcelDocument(Map<String, Object> model,
HSSFWorkbook workbook, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//签发人
exportPersonInfoExcel(assignData,workbook,sheet,4,0);
//接收人
exportPersonInfoExcel(receiveData,workbook,sheet,4,3);
//审核人
exportPersonInfoExcel(verifyData,workbook,sheet,4,6); //处理中文文件名
fileName = encodeFilename(fileName, request);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName+".xls");
} public void exportPersonInfoExcel(ArrayList dataset
, Workbook workbook
, HSSFSheet sheet
, int index
, int size) {
try {
// 生成并设置主体样式
CellStyle style2 = workbook.createCellStyle();
style2 = setbodyStyle(workbook, style2);
int sizeBack = size;
if(dataset.size()>0){
for(int i = 0; i < dataset.size(); i++){
//产生表格内容行
Row rowInfo = sheet.createRow(index);
TaskComplexDto data = (TaskComplexDto) dataset.get(i);
size=sizeBack;
for(int j=0;j<3;j++){
Cell cell = rowInfo.createCell(size);
cell.setCellStyle(style2);
if(j==0){
RichTextString textUser = new HSSFRichTextString(data.getUserName());
cell.setCellValue(textUser);
}
if(j==1){
RichTextString textAssign = new HSSFRichTextString(data.getAssignTimes());
cell.setCellValue(textAssign);
}
if(j==2){
RichTextString textOut = new HSSFRichTextString(data.getOutTimes());
cell.setCellValue(textOut);
}
size++;
}
index++;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
就像这样:
//////////////////////////////////////////////////////////////////////////////////
签发人 签发数 超时数 接收人 接收数 超时接收 审核人 审核数 超时审核数
admin 7 0
admin2 1 0
admin3 8 1
//////////////////////////////////////////////////////////////
签发人的数据和接收人的数据都没有显示出来!
我确定都有数据的!
请大家帮忙,谢谢
解决方案 »
- 请问若无特殊需求,在JAVA编程时,在静态方法和普通方法的选择中,是不是尽量使用静态方法,代码执行的效率会高点,系统性能会好点,还是使用普通方法即可。多谢。
- 关于Java用MySQL存储过程
- All threads (150) are currently busy, waiting. Increase maxThreads (150) or chec
- ssh中数据库是如何设计的
- axis 里面怎么注册一个复杂类型的数组类型
- 由于公司需要现在要弄台web服务器。。。。
- 解决查询 显示 速度??(前提:数据库已经优化好了,只是需要程序的优化)
- Tapestry PropertySelection组件的问题!(急等)
- 菜鸟有难 请大侠速来相救(ejb在eclipse中的问题)
- 页面生成问题(xml)
- 拦截器的问题
- 如何从pentaho中获得报表数据
exportPersonInfoExcel(assignData,workbook,sheet,4,0);
//接收人
exportPersonInfoExcel(receiveData,workbook,sheet,4,3);
//审核人
exportPersonInfoExcel(verifyData,workbook,sheet,4,6);
Row rowInfo = sheet.createRow(index);
每次调用exportPersonInfoExcel方法index的值相同,是不是覆盖掉了。只是猜测。