标签:creat 工作 tail writable mat window admin 字体 保存
一、jxl了解
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PNG格式。
二、jxl.jar获取
1、jxl.jar:这里进行下载
下载jar包后放入classpath即可
2、通过maven进行管理的要在pom.xml中引入依赖
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl --> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
三、jxl进行Excel的操作
package com.jxl.excel; import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableImage; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; /** * Excel表格操作 * * @author Administrator * */ public class Utils { public static void main(String[] args) { // createXLS(); readXLS(); } // 创建表格 public static void createXLS() { try { // 打开文件 WritableWorkbook book = Workbook.createWorkbook(new File("test.xls")); // 生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet("first page", 0); // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)单元格内容为test Label label = new Label(0, 0, "test"); // 将定义好的单元格添加到工作表中 sheet.addCell(label); // 生成一个保存数字的单元格, Number number = new Number(1, 0, 789); sheet.addCell(number); // 写入数据并关闭文件 book.write(); book.close(); } catch (Exception e) { e.printStackTrace(); } } // 读取Excel public static void readXLS() { try { Workbook book = Workbook.getWorkbook(new File("test.xls")); Sheet sheet = book.getSheet(0); Cell cell = sheet.getCell(0, 0); String result = cell.getContents(); System.out.println(result); book.close(); } catch (Exception e) { e.printStackTrace(); } } // 修改Excel的类,添加一个工作表 public static void updateXLS() { try { Workbook wb = Workbook.getWorkbook(new File("test.xls")); // 打开一个文件的副本,并且指定数据写回到原文件 WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"), wb); // 添加一个工作表 WritableSheet sheet = book.createSheet("第二页", 1); sheet.addCell(new Label(0, 0, "第二页的测试数据")); book.write(); book.close(); } catch (Exception e) { e.printStackTrace(); } } // 操作图片 public static void addImage() throws Exception { WritableWorkbook wwb = Workbook.createWorkbook(new File("test.xls")); WritableSheet ws = wwb.createSheet("Test Sheet 1", 0); File file = new File("test.png"); WritableImage image = new WritableImage(1, 4, 6, 18, file); ws.addImage(image); wwb.write(); wwb.close(); } // 单元格合并 public static void mergeSheet(WritableWorkbook book, int sheetIndex, int x, int y, int x1, int y1) { WritableSheet sheet = book.getSheet(sheetIndex); try { sheet.mergeCells(x, y, x1, y1);
// 合并第x列第x行到第x1列第y1行的所有单元格 } catch (Exception e) { e.printStackTrace(); } } // 列宽行高设置 public static void setColView(WritableSheet sheet, int colIndex, int rowIndex, int colW, int rowH) { try { // 将第colIndex列的宽度设为colW sheet.setColumnView(colIndex, colW); // 将第rowIndex行的高度设为rowH sheet.setRowView(rowIndex, rowH); } catch (Exception e) { e.printStackTrace(); } } public static void setFont() { WritableWorkbook book; try { book = Workbook.createWorkbook(new File("test.xls")); WritableFont font1 = new WritableFont(WritableFont.TIMES, 16, WritableFont.BOLD);// 字体为TIMES,字号16,加粗显示 WritableCellFormat format1 = new WritableCellFormat(font1);
// 使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述 Label label = new Label(0, 0, "data 4 test", format1);
// 使用了Label类的构造子,指定了字串被赋予那种格式 // 把水平对齐方式指定为居中 format1.setAlignment(jxl.format.Alignment.CENTRE); // 把垂直对齐方式指定为居中 format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); // 设置自动换行 format1.setWrap(true); } catch (Exception e) { e.printStackTrace(); } } }
标签:creat 工作 tail writable mat window admin 字体 保存
原文地址:https://www.cnblogs.com/null-/p/10028390.html