excel 如何使用Apache poi HSSF库自动将数据拆分为多个单元格?

fivyi3re  于 2023-01-14  发布在  Apache
关注(0)|答案(1)|浏览(256)

我有一个长度超过32767个字符的变量,当我尝试使用Apache poi HSSF库将该数据写入单个单元格时,出现以下错误

我如何自动将数据拆分成多个单元格列,即我的行应该保持不变,但数据将使用Apache poi HSSF库自动拆分成同一行上的多个列?谢谢

pbwdgjma

pbwdgjma1#

这是一个Excel limitation,你将无法克服这一点。
您可以做的是拆分大字符串并将其保存到相邻单元格。
示例代码:

def wb = new org.apache.poi.hssf.usermodel.HSSFWorkbook()

def sheet = wb.createSheet("new sheet")

def row = sheet.createRow(0)

def variable = vars.get('your-variable-name')

def chunkSize = 32767

def parts = java.util.stream.IntStream.iterate(0, i -> i < variable.length(), i -> i + chunkSize)
        .mapToObj(i -> variable.substring(i, Math.min(variable.length(), i + chunkSize)))
        .collect(java.util.stream.Collectors.toList());

parts.eachWithIndex { entry, index ->
    def cell = row.createCell(index)
    cell.setCellValue(entry)
}

wb.write(new File('file.xls'))

更多信息:

相关问题