首页 > 解决方案 > ApachePOI 从 RichTextString 中提取数字

问题描述

我正在从一张 Excel 表格中读取单元格值,并使用 Apache POI 将它们放在另一张表格中。对于一个特定的列,我只想复制该单元格的数字。我自然地尝试了这个:

newCell.setCellValue(oldCell.getRichStringCellValue().replaceAll("\\D+",""));

我了解到我不能直接replaceAll()RichTextString上使用,因为它不是 TypeString这就是为什么我使用该方法getString()并尝试了这个:

newCell.setCellValue(oldCell.getRichStringCellValue().getString().replaceAll("\\D+",""));

这行得通,但是通过将其转换为String我显然丢失了 RichTextString 包含的所有其他信息(应用的字体等)。这就是为什么我的问题是:如何只提取数字但保持 RichTextString 完整?

标签: javareplaceapache-poi

解决方案


推荐阅读