需求背景:
? ? ? ? 在使用Apache POI進行表格數(shù)據(jù)導出時,某些單元格需要畫上斜線待诅。
解決方法:
? ? ? ? 國內相關文章較少叹坦,于是在國外技術網站上找了一圈,最終在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();
}
實現(xiàn)效果:
? ? ? ? ? 希望對大家有所幫助!