一般百度到这个:
https://blog.csdn.net/zyr2206328732/article/details/48341191
实测不是作者描述的原因。
我的需求上:在列名(一个集合)增加注释。
代码如下:
Row headRow = sheet.createRow(0);XSSFDrawing drawing = (XSSFDrawing) sheet.createDrawingPatriarch();int i = 0;for (String key : titleMap.keySet()) {int col = i++;String contentAndComment = titleMap.get(key);String[] split = contentAndComment.split("@");Cell headCell = headRow.createCell(col);/**主要是设置这四个参数,意思分别是:指引导线的注释偏移 a,b,c,d,作用是控制批注的位置显示,可设置成一样的值。 e,f,g,h,作用是控制批注的大小以及位置。e:第几列的批注。f:第几行的批注。g:相对当前的列开始,往前或者往后移多少个位置,这里我给了值是当前列数+3,所以会显示大概三行的宽度。h:批注在所在单元格时,应该设置的高度。可根据文字大小设置合适的高度*/XSSFComment cellComment = drawing.createCellComment(new XSSFClientAnchor(a, b, c, d, e, f, g, h));headCell.setCellValue(split[0]);cellComment.setString(split[1]);/**批注的位置,下面是第一行,第col列*/cellComment.setAddress(0, col);headCell.setCellComment(cellComment);}
使用前效果:wps可正常展示,Excel不行!!!!
使用后:
如果存在纰漏,欢迎大家指正,虚心学习共同进步!!