请教各位:
使用jxl导出数据到excel,
我想事先定义好一个报表的模版(格式化),
然后按照这个模版的格式生成一个新的报表?该如何做?//创建只读的Excel工作薄的对象
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile));//创建可写入的Excel工作薄对象
jxl.write.WritableWorkbook  wwb = Workbook.createWorkbook(new File(targetfile), rw);//获得第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
           
//判断单元格的类型, 做出相应的转化
if(wc.getType() == CellType.LABEL)
{
Label l = (Label)wc;
   l.setString("The value has been modified.");
}
这种方法只能操作单元格文本,如何操作带格式的单元格?

解决方案 »

  1.   

    你的要求是可以满足的,两年之前我就是这样根据excel模板来创建报表的
      

  2.   

    使用jxcell组件,完全兼容excel,它能提供excel公式计算,api创建图片、线条、图表,还可以作为applet嵌入web页中使用http://www.jxcell.net
      

  3.   

    private WritableCellFormat getCellFormat(Cell cell){
    CellFormat oldFormat = cell.getCellFormat();
    WritableCellFormat format = null; if (cell instanceof EmptyCell){
    format = new WritableCellFormat();
    }else{
    format = new WritableCellFormat(oldFormat);
    }
    return format;
    }
    private void copyCellFormat(WritableCell newCell,Cell oldCell){
    newCell.setCellFormat(getCellFormat(oldCell));
    }
      

  4.   

    正好前几天刚做这个功能
    恩 :)
    设定单元格格式
    单元格格式的设定有很多形式包括单元格的对齐方式,内容的字体设置,
    单元格的背景色等,因为形式比较多,只举一些例子.以下的例子在
    POI1.5中可能会有所改变具体查看API.
    ..........
    // Aqua background
    HSSFCellStyle style = wb.createCellStyle();
    //创建一个样式
    style.setFillBackgroundColor(HSSFCellStyle.AQUA);
    //设定此样式的的背景颜色填充
    style.setFillPattern(HSSFCellStyle.BIG_SPOTS);//样式的填充类型。
    //有多种式样如:
    //HSSFCellStyle.BIG_SPOTS
    //HSSFCellStyle.FINE_DOTS
    //HSSFCellStyle.SPARSE_DOTS等
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER );
    //居中对齐
    style.setFillBackgroundColor(HSSFColor.GREEN.index);
    //设定单元个背景颜色
    style.setFillForegroundColor(HSSFColor.RED.index);
    //设置单元格显示颜色
    HSSFCell cell = row.createCell((short) 1);
    cell.setCellValue("X");
    cell.setCellStyle(style);
      

  5.   

    我导出用的是poi ,导入才用jxl ,但两者的单元格样式设置 是一样的  改动不大