List list = (List) request.getSession().getAttribute("list");
//读取自己模板
Workbook workbook = Workbook.getWorkbook(moFile);
WritableWorkbook copy = Workbook.createWorkbook(response.getOutputStream(), workbook);
WritableSheet sheet = copy.getSheet(0);
String ccol = request.getParameter("col");
String crow = request.getParameter("row");// 依次处理各行
for (int i = 0; i < list.size(); i++)
{
List listrow = (List) list.get(i);
int col = Integer.parseInt(ccol);
// 起始列
int row = i+Integer.parseInt(crow);
// 起始行
// 依次处理各列
for (int j = 0; j < listrow.size(); j++)
{
WritableCell cellb = sheet.getWritableCell(col + j - 1,row);
if (cellb.getType() == CellType.EMPTY)
{
String labelvalue = (String) listrow.get(j);
if (labelvalue == null)
labelvalue = "0";
log.info((col + j - 1)+" "+row);
Label label = new Label(col + j - 1, row,labelvalue);
sheet.addCell(label);
}}}把我自己在模板中设置的格式冲掉了,我画的表格线也没有了~~~~
//读取自己模板
Workbook workbook = Workbook.getWorkbook(moFile);
WritableWorkbook copy = Workbook.createWorkbook(response.getOutputStream(), workbook);
WritableSheet sheet = copy.getSheet(0);
String ccol = request.getParameter("col");
String crow = request.getParameter("row");// 依次处理各行
for (int i = 0; i < list.size(); i++)
{
List listrow = (List) list.get(i);
int col = Integer.parseInt(ccol);
// 起始列
int row = i+Integer.parseInt(crow);
// 起始行
// 依次处理各列
for (int j = 0; j < listrow.size(); j++)
{
WritableCell cellb = sheet.getWritableCell(col + j - 1,row);
if (cellb.getType() == CellType.EMPTY)
{
String labelvalue = (String) listrow.get(j);
if (labelvalue == null)
labelvalue = "0";
log.info((col + j - 1)+" "+row);
Label label = new Label(col + j - 1, row,labelvalue);
sheet.addCell(label);
}}}把我自己在模板中设置的格式冲掉了,我画的表格线也没有了~~~~
try
{
Workbook book= Workbook.getWorkbook(new File("test.xls"));
//获得第一个工作表对象
Sheet sheet=book.getSheet(0);
//得到第一列第三行的单元格
WritableWorkbook book1=
Workbook.createWorkbook(new File("write.xls"));
WritableSheet sheet1=book1.createSheet("B-2",0);
int rowCount=sheet.getRows()-3;
//System.out.println("rowcount="+rowCount);
for(int i=0;i<rowCount;i++)
{
sheet1.setRowView(i*12+1,800);
sheet1.mergeCells(0,i*12+1,16,i*12+1);
WritableFont wf = new WritableFont(WritableFont.COURIER,18,WritableFont.BOLD,false);
WritableCellFormat wcf = new WritableCellFormat(wf);
//WritableFont wf1 = new WritableFont(WritableFont.COURIER,10,WritableFont.BOLD,false);
//WritableCellFormat wcf1 = new WritableCellFormat(wf1);
wcf.setAlignment(jxl.format.Alignment.CENTRE);
Label head=new Label(0,i*12+1,"儿童少年户卡",wcf);
sheet1.addCell(head);
sheet1.mergeCells(0,i*12+2,1,i*12+2);
Label gtz=new Label(0,i*12+2,"高台子");
sheet1.addCell(gtz);
Label xz=new Label(2,i*12+2,"乡(镇)");
sheet1.addCell(xz);
sheet1.mergeCells(4,i*12+2,11,i*12+2);
Label ycg=new Label(4,i*12+2,"洋草沟村");//可更改
sheet1.addCell(ycg);
//Label cun=new Label(6,i*12+2,"村");
//sheet1.addCell(cun);
//sheet1.mergeCells(7,i*12+2,11,i*12+2);
Label tkrq=new Label(12,i*12+2,"填卡日期:");
sheet1.addCell(tkrq);
Label year=new Label(13,i*12+2,"2006 年");
sheet1.addCell(year);
Label month=new Label(14,i*12+2,"9 月");
sheet1.addCell(month);
sheet1.mergeCells(15,i*12+2,16,i*12+2);
Label day=new Label(15,i*12+2,"日 ");
sheet1.addCell(day);
//sheet1.setRowView(i*12+3,800);
Label jzxm=new Label(0,i*12+3,"家长姓名");
sheet1.addCell(jzxm);
Cell cell=sheet.getCell(14,i+3);
String result=cell.getContents();
Label jzxm1=new Label(1,i*12+3,result);
sheet1.addCell(jzxm1);
System.out.println(result);
Label zy=new Label(2,i*12+3,"职业");
sheet1.addCell(zy);
sheet1.mergeCells(3,i*12+3,5,i*12+3);
Label zy1=new Label(3,i*12+3,"农民");
sheet1.addCell(zy1);
Label jtrk=new Label(6,i*12+3,"家庭人口");
sheet1.addCell(jtrk);
Label jtzz=new Label(8,i*12+3,"家庭住址");
sheet1.addCell(jtzz);
sheet1.mergeCells(9,i*12+3,16,i*12+3);
sheet1.setRowView(i*12+4,800);
sheet1.setColumnView(1,7);
Label bh=new Label(0,i*12+4,"编号");
sheet1.addCell(bh);
Label bh1=new Label(0,i*12+5,(i+1)+"");
sheet1.addCell(bh1);
Label ertxm=new Label(1,i*12+4,"儿童少年姓名");
sheet1.addCell(ertxm);
Cell cell2=sheet.getCell(1,i+3);
String result2=cell2.getContents();
Label etxm=new Label(1,i*12+5,result2);
sheet1.addCell(etxm);
sheet1.setColumnView(2,5);
Label xb=new Label(2,i*12+4,"性别");
sheet1.addCell(xb);
Cell cell1=sheet.getCell(2,i+3);
String result1=cell1.getContents();
Label xb1=new Label(2,i*12+5,result1);
sheet1.addCell(xb1);
sheet1.setColumnView(3,5);
Label mz=new Label(3,i*12+4,"民族");
sheet1.addCell(mz);
Cell cell3=sheet.getCell(3,i+3);
String result3=cell3.getContents();
Label mz1=new Label(3,i*12+5,result3);
sheet1.addCell(mz1);
sheet1.setColumnView(4,8);
Label csny=new Label(4,i*12+4,"出生年月日");
sheet1.addCell(csny);
Cell cell4=sheet.getCell(4,i+3);
String result4=cell4.getContents();
Label csny1=new Label(4,i*12+5,result4);
sheet1.addCell(csny1);
sheet1.setColumnView(5,5);
Label nl=new Label(5,i*12+4,"年龄");
sheet1.addCell(nl);
sheet1.setColumnView(6,8);
Label whcd=new Label(6,i*12+4,"文化程度");
sheet1.addCell(whcd);
sheet1.setColumnView(7,6);
Label xjdxx=new Label(7,i*12+4,"现就读学校");
sheet1.addCell(xjdxx);
Label rxsj=new Label(8,i*12+4,"入学时间");
sheet1.addCell(rxsj);
Label sznj=new Label(9,i*12+4,"所在年级");
sheet1.addCell(sznj);
Label byxx=new Label(10,i*12+4,"毕业学校");
sheet1.addCell(byxx);
Label bysj=new Label(11,i*12+4,"毕业时间");
sheet1.addCell(bysj);
//sheet1.setColumnView(12,10);
Label mbydmnx=new Label(12,i*12+4,"未毕业读满规定年限");
sheet1.addCell(mbydmnx);
sheet1.setColumnView(13,10);
Label jfzgby=new Label(13,i*12+4,"经非正规教育完成相应学业");
sheet1.addCell(jfzgby);
Label cjlx=new Label(14,i*12+4,"残疾类型");
sheet1.addCell(cjlx);
//sheet1.setColumnView(12,6);
Label ywxxnl=new Label(15,i*12+4,"有无学习能力");
sheet1.addCell(ywxxnl);
sheet1.setColumnView(16,5);
Label bz=new Label(16,i*12+4,"备注");
sheet1.addCell(bz);
Label sm=new Label(0,i*12+9,"说明:");
sheet1.addCell(sm);
//Label label=new Label(1,0,result);
//sheet1.addCell(label);
}
book1.write();
book1.close();
book.close(); }catch(Exception e)
{
System.out.println(e);
}
Label label = new Label(col + j - 1, row,labelvalue);
改成:
Label l = (Label)cellb;
l.setString(labelvalue);
http://www.jxcell.net