当前位置:科普知识站>IT科技>

java|jxl

IT科技 阅读(9.06K)

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java jxl是什么,让我们一起了解一下?

jxl是jxl.jar通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。

Jxl有哪些特征?
1、支持Excel 95-2000的所有版本。
2、生成Excel 2000标准格式。 
3、支持字体、数字、日期操作。
4、能够修饰单元格属性。 
5、支持图像和图表。 

java jxl

应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

具体应用:java Jxl如何操作Excel?

示例代码如下:

public String createExcel(String path,String filename,List list,TblKepuoaRecordDispatch dispatch) throws Exception{File file = new File(path+File.separator+filename+".xls" ); WritableWorkbook wbook = null;try {wbook = Workbook.createWorkbook(file); // 建立excel文件String tmptitle = filename; // 标题WritableSheet wsheet = wbook.createSheet(filename, 0); // sheet名称  // 设置excel标题WritableFont wfont = new WritableFont(WritableFont.createFont("宋体"), 16, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);WritableCellFormat wcfFC = new WritableCellFormat(wfont);wcfFC.setAlignment(Alignment.CENTRE); // 设置对齐方式 wsheet.mergeCells(0, 0, 9, 0); // 合并单元格  wsheet.addCell(new Label(0, 0, tmptitle, wcfFC));wfont = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 13,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);wcfFC = new WritableCellFormat(wfont);wcfFC.setBorder(Border.NONE,BorderLineStyle.NONE); wcfFC.setAlignment(Alignment.CENTRE); // 设置对齐方式 wsheet.setColumnView(0, 6); // 设置列的宽度wsheet.setColumnView(1, 20); // 设置列的宽度wsheet.setColumnView(2, 25); // 设置列的宽度wsheet.setColumnView(3, 60); // 设置列的宽度wsheet.setColumnView(4, 10); // 设置列的宽度wsheet.setColumnView(5, 6); // 设置列的宽度wsheet.setColumnView(6, 6); // 设置列的宽度wsheet.setColumnView(7, 80); // 设置列的宽度wsheet.setColumnView(8, 20); // 设置列的宽度wsheet.setColumnView(9, 20); // 设置列的宽度  // 开始生成主体内容                wsheet.addCell(new Label(0, 1, "序号",wcfFC));wsheet.addCell(new Label(1, 1, "日期",wcfFC));wsheet.addCell(new Label(2, 1, "发文编号",wcfFC));wsheet.addCell(new Label(3, 1, "收文单位",wcfFC));wsheet.addCell(new Label(4, 1, "文件类型",wcfFC));wsheet.addCell(new Label(5, 1, "件数",wcfFC));wsheet.addCell(new Label(6, 1, "附件",wcfFC));wsheet.addCell(new Label(7, 1, "文件标题",wcfFC));wsheet.addCell(new Label(8, 1, "存档编号",wcfFC));wsheet.addCell(new Label(9, 1, "签字",wcfFC));wfont = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 13,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);wcfFC = new WritableCellFormat(wfont);wcfFC.setBorder(Border.NONE,BorderLineStyle.NONE); int j = 2;for (int i = 0; i < list.size(); i++) {dispatch=(TblKepuoaRecordDispatch) list.get(i); String uptime="";if(dispatch.getDispatchDate()!=null&&!"".equals(dispatch.getDispatchDate())){uptime=sdf2.format(dispatch.getDispatchDate());//时间格式化}wsheet.addCell(new Label(0, j, i+1+"",wcfFC));wsheet.addCell(new Label(1, j,uptime,wcfFC));wsheet.addCell(new Label(2, j,dispatch.getDispatchNo(),wcfFC));wsheet.addCell(new Label(3, j,dispatch.getDispatchOrgan(),wcfFC));/*if(dispatch!=null && dispatch.getDispatchOpreator()!=null && !"".equals(dispatch.getDispatchOpreator())){if(dispatch.getCode()!=null && !"".equals(dispatch.getCode())){wsheet.addCell(new Label(4, j,dispatch.getDispatchOpreator()+"-"+dispatch.getCode(),wcfFC));}else{wsheet.addCell(new Label(4, j,dispatch.getDispatchOpreator(),wcfFC));}}*/wsheet.addCell(new Label(4, j, dispatch.getDispatchType(),wcfFC));wsheet.addCell(new Label(5, j,String.valueOf(dispatch.getDispatchCount()),wcfFC));wsheet.addCell(new Label(6, j,String.valueOf(dispatch.getDispatchAccessoriescCount()),wcfFC));wsheet.addCell(new Label(7, j,dispatch.getDispatchName(),wcfFC));wsheet.addCell(new Label(8, j, dispatch.getArchiveNo(),wcfFC));j++;}} catch (IOException e) {// TODO Auto-generated catch blockLoggers.info("DispatchAction 中 createExcel 方法:"+e.getMessage());e.printStackTrace();}finally{if(wbook != null){wbook.write(); // 写入文件wbook.close();}}  // 主体内容生成结束        return filename+".xls";}