目前市场上有很多的excel的处理工具,poi、jxl、java2word等等,在制作excel上面,我用了这么多插件里面,做的最全面的就是jxcell了。poi也可以做,但更适合其他类型文档,ppt,word等。
缺点:
网上使用很少,资料很少,api文档虽然有,但是很多地方都非常的含糊,不知道属性具体用处是什么。
优点:
可以调用excel自带的公式及语法。生成对应的数据以及图表,这些poi等插件是无法做到的。
由于毕竟是工作时写的,我只能分享部分设计
1.设置sheet页
View m_view = new View();
/**
* 设置页签
* @param m_view
* @throws CellException
*/
private void settingExcelSheet(View m_view,String name) throws CellException {
//设置sheet页数
m_view.setNumSheets(3);
//设置sheet页的名称
m_view.setSheetName(0,name);
m_view.setSheetName(1,"sheet1");
m_view.setSheetName(2,"sheet2");
}
2.设置设置表格,并设置相关样式
/**
* 写入第三个数据页签
* @param m_view
* @return
* @throws CellException
*/
public static void writeThridSheetInfo(View m_view, List<String> dateList,
List<String> netWorstList)
throws Exception {
m_view.setSheet(2);
//标题 setTextAsValue(行,列,值);
m_view.setTextAsValue(0,0,"日期");
m_view.setTextAsValue(0,1,"客户");
m_view.setDefaultFont("Dengxian",-12);//设置默认字体和字体大小
m_view.setDefaultRowHeight(445);//设定默认单元格行高
m_view.setColWidth(0, 1, 5280, false);
//m_view.setDefaultColWidth(5300);//设定默认单元格行宽
//m_view.setColWidth(0, 3000);//设置第一列的自定义单元格行宽
//设置样式格式
ConditionFormat condfmt[]=new ConditionFormat[1];
condfmt[0] = m_view.CreateConditionFormat();
//设置公式,区域
CellFormat cellFormat = ExcelUtil.settingCellStyle(condfmt, new Color(129,0,0).getRGB(), Color.BLACK.getRGB(),
Color.WHITE.getRGB(), (short)1,true,false,12);
//设置那些行和列需要使用这个配置
condfmt[0].setCellFormat(cellFormat);
m_view.setSelection(0, 0, 0, 1);//设定背景色位置 第一个第二个参数定位起始点 第三个参数定位多少行 第四个参数定位多少列
m_view.setConditionalFormats(condfmt);
m_view.setCellFormat(cellFormat, 0, 0, 0, 1);
//设置时间列,和数据列
for(int i=0;i<d