如何使用 POI 在 Excel 单元格中添加多个超链接?

如何使用 poi 在 excel 单元格中添加多个超链接?

poi 创建包含超链接单元格的 excel

如何使用 poi 将同单元格中的多个网址转化为超链接?

更新

查看 excel 后发现一个单元格内不能添加多个超链接,因此这不是 poi 的问题。

但我们可以迂回解决:

  1. 在单元格内绘制一个透明矩形。
  2. 选中矩形,将其超链接到所需 url。

poi 实现方法

使用以下步骤通过 poi 实现此解决方案:

  1. 调整单元格大小。
  2. 将矩形放置在正确位置(这可能需要复杂计算)。
  3. 将矩形设置为透明(此处代码需要自行研究)。

替代方案

也可以考虑直接在单元格中输入网址,虽然不能自定义超链接别名,但能够直接点击访问。

原答案

org.apache.poi.ss.usermodel.cell 的 sethyperlink 方法:

fun main() {
    val url = "https://segmentfault.com/q/1010000043471701"

    XSSFWorkbook().use { workbook ->
        FileOutputStream("test.xlsx").use { fileout ->
            val sheet: Sheet = workbook.createSheet()
            val link: Hyperlink = workbook.creationHelper.createHyperlink(HyperlinkType.URL)
            link.address = url
            val row: Row = sheet.createRow(0)
            val cell: Cell = row.createCell(0)
            val cellText = "springboot导出excel?"
            cell.setCellValue(cellText)
            cell.hyperlink = link
            sheet.setColumnWidth(0, cellText.length * 256)
            workbook.write(fileout)
        }
    }
}

以上就是如何使用 POI 在 Excel 单元格中添加多个超链接?的详细内容,更多请关注其它相关文章!