Комментарий имеет прозрачный фон, созданный с помощью Apche poi XSSFWorkbook - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь добавить комментарий в шаблон .xlsm excel с помощью Apache poi XSSFWorkbook, но комментарий всегда показывает прозрачный фоновый цвет. Кто-то знает, как манипулировать стилем комментариев XSSFWorkbook? Apache Poi: v3.15; Расширение Excel: .xlsm; ОС: Mac

Вот что я нашел: Текущий стиль шаблона может повлиять на стиль комментария XSSFWorkbook, потому что добавление комментария работает хорошо, когда я создаю новый лист или шаблон .... Но мне нужно добавить комментарий в необходимый существующий лист.

import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType
import org.apache.poi.ss.usermodel._
import org.apache.poi.ss.util.{CellRangeAddress, CellReference}
import org.apache.poi.util.Units
import org.apache.poi.xssf.usermodel._

         val file = WorkbookFactory.create("worksheet.xlsm")
    private def setComment(file: Workbook) : Workbook = {
          //get sheet
          val currentSheet = file.getSheet("Sheet1")
          val rowInfo = currentSheet.getRow(2)
          val cell = rowInfo.getCell(3)
          //begin adding comment
          val factory = file.getCreationHelper()
          val drawing = cell.getSheet.createDrawingPatriarch()
          //create comment box
          val anchor = factory.createClientAnchor()
          //locate comment
          anchor.setCol1(cell.getColumnIndex + 1 )
          anchor.setRow1(cell.getRowIndex+1)
          anchor.setCol2(cell.getColumnIndex + 5 )
          anchor.setRow2(cell.getRowIndex + 4)
          val comment1 = drawing.createCellComment(anchor)
          val str = factory.createRichTextString("this is a comment")
          comment1.setString(str)
          cell.setCellComment(comment1)
          file
     }

ожидаемый результат должен быть обычным желтым комментарием при наведении на не прозрачный фоновый комментарий

...