考虑到网上没有一个可以正常输入百分号数字正解,为什么,原因有3:
1.直接用jxl.write.Number写jxl会丢掉后面的百分号
2.jxl对外提供的API中没有告诉怎么实现
3.就算用sheet2.addCell(new Label(i, index, content, cfData1)); 这种方式也是定义成了String类型,在每个单元格的左上角会多一个小绿点
解决的代码段如下:
jxl.write.Number number = null;
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false);
DisplayFormat DisplayFormat = NumberFormats.PERCENT_FLOAT;
WritableCellFormat wcfF = new WritableCellFormat(wf,DisplayFormat);
wcfF.setBackground(cfData2.getBackgroundColour());
wcfF.setAlignment(Alignment.CENTRE);
wcfF.setVerticalAlignment(VerticalAlignment.CENTRE);
wcfF.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);//设置细边 框
number = new jxl.write.Number(i, index, Double.parseDouble("80.24%"), wcfF);
sheet2.addCell(number);
思想:尽量别太依赖人家提供的API,就算英文的也会有写不到的地方,对外没提供但不等于人家实现不了,看下人家的源代码就可以看出怎么实现了~oo~