如何使用Apache POI在Excel单元格内画斜线(Java

2019-04-17  本文已影响0人  錕斤拷

需求背景:

        在使用Apache POI进行表格数据导出时,某些单元格需要画上斜线。

1.需求背景

解决方法:

        国内相关文章较少,于是在国外技术网站上找了一圈,最终在StackOverFlow上找到了方法,原文中的方法画了一条斜线和箭头。

      原文地址:java - Drawing line with arrow in excel using xssf libraries - Stack Overflow

代码:

XSSFWorkbook wb = new XSSFWorkbook();

XSSFSheet sheet = wb.createSheet("Sheet1");

CreationHelper helper = wb.getCreationHelper();

XSSFDrawing drawing = sheet.createDrawingPatriarch();

ClientAnchor anchor = helper.createClientAnchor();

// 设置斜线的开始位置

anchor.setCol1(2);

anchor.setRow1(2);

// 设置斜线的结束位置

anchor.setCol2(3);

anchor.setRow2(3);

XSSFSimpleShape shape = drawing.createSimpleShape((XSSFClientAnchor) anchor);

// 设置形状类型为线型

shape.setShapeType(ShapeTypes.LINE);

// 设置线宽

shape.setLineWidth(0.5);

// 设置线的风格

shape.setLineStyle(0);

// 设置线的颜色

shape.setLineStyleColor(0, 0, 0);

File file = new File("C:\\Users\\admin\\Desktop", "Test.xlsx");

try (FileOutputStream fis = new FileOutputStream(file);) {

wb.write(fis);

wb.close();

} catch (Exception e) {

e.printStackTrace();

}

实现效果:

          希望对大家有所帮助!

2.实现效果
上一篇下一篇

猜你喜欢

热点阅读