日期:2014-05-17  浏览次数:21094 次

如何用 jxl 来进行单元格的设定 ?
 如图 :




如何用 jxl 来设定选中的单元格用 "文本"的格式 ?

------解决方案--------------------
LZ自己在网上搜下呗,网上有好多呢,主要是用WritableCellFormat 这个类,具体用法查看jxl的API
LZ可以参考下在jxl中设定单元格格式     JXL操作Excel
------解决方案--------------------
添加单元格的时候可以设定单元格格式:
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
Label labelC = new Label(1, 0, "This is a Label Cell", wcfFC);
ws.addCell(labelCFC);
还可以添加数字单元格(就单元格内容为数字(非以文本格式保存)):
Number number = new jxl.write.Number(3, 4, 3.14159); //将数字3.14159 放到单元格D5
ws.addCell(number);
设定数字格式:
NumberFormat nf = new jxl.write.NumberFormat("#.##"); //设定带小数点数字格式
WritableCellFormat wcfN = new jxl.write.WritableCellFormat(wfc,nf);//设定带小数数字单元格格式,wcf见上
number = new Number(3, 4, 3.14159,wcfN);    //只保存3.14
ws.addCell(number);
 
jxl还可以向excel中添加图片:
File image = new File("E:\\MyDoc\\2.png");//图片文件
WritableImage wimage = new WritableImage(0,1,3,2,image);//将图片放到excel中,
//起始点为单元格(0,1)即A2左上角,宽度为3个单元格,高度为2个单元格
ws.addImage(wimage);
 
删除已有图片:
WritableImage img = ws.getImage(0);//获得工作表中图片(以图片所在图层标示),最底层为0,依次增长
if(null != img)
    ws.removeImage(img);//删除图片
------解决方案--------------------
jxl以前用过,感觉还行,但最大的缺点就是现在没人维护了,对execl2007的以偶的就不支持了。
感觉2楼说的比较全了,就不补了,如果以后改用poi方式的话,可以家信我。
------解决方案--------------------
直接创建文本单元格并写入文本数据就可以了。要注意的是创建文本单元格要用 Label;而数值单元格用jxl.write.Number类

WritableWorkbook wwb = null;
try {
    wwb = Workbook.createWorkbook(new File("D:\\book1.xls"));
} catch (IOException e) {
    e.printStackTrace();
}   

WritableSheet ws = wwb.createSheet("sheet1", 0);

try {
    // 定义单元格style
    jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.TIMES, 12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
    jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);


    Label labelC = null;
    labelC = new Label(1, 2, "这是第3行,第1列", wcfFC);           // 创建文本单元格

    labelC.setString("第3行第1列单元格数据");                      // 设置文本数据
     ws.addCell(labelC);

    try {
        //从内存中写入文件中
        wwb.write();