我使用JXL向EXCEL模板中写入一些单元格的内容,代码如下:
Workbook wb = Workbook.getWorkbook(new File(strFileName));
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
WritableSheet wws = wwb.getSheet(0);
for (int r=3;r<=26;r++)
{
for (int c=4;c<=7;c++)
{
WritableCell wc1 = wws.getWritableCell(c,r);
Label sex = (Label)wc1;
sex.setString("a");
}
}
但总是报NULL错误,请问这个写法那里不对么?谢谢!
Workbook wb = Workbook.getWorkbook(new File(strFileName));
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
WritableSheet wws = wwb.getSheet(0);
for (int r=3;r<=26;r++)
{
for (int c=4;c<=7;c++)
{
WritableCell wc1 = wws.getWritableCell(c,r);
Label sex = (Label)wc1;
sex.setString("a");
}
}
但总是报NULL错误,请问这个写法那里不对么?谢谢!
{
for (int c=4;c<=7;c++)
{
WritableCell wc1 = wws.getWritableCell(c,r);
Label sex = (Label)wc1;
sex.setString("a");
}
}应该是边界值计算错误. 看看是否超出最大值了.
for (int r=3;r<=6;r++)
{
for (int c=4;c<=7;c++)
{
WritableCell wc1 = wws.getWritableCell(c,r);
Label sex = (Label)wc1;
sex.setString("a");
}
}
也不行,而且我用:
wws.addCell(new Label(c,r,"0"));
这样是可以正常写入的
Label label=new Label(5,5,"气喘吁吁 ");
ws.addCell(label);
这样没问题,但把单元格的格式弄没了
---我估计是你的有些列的模式不是完全相同,所以在循环里不行
感谢指点,请问你说的模式如何设置?谢谢!