Java读取Excel 单元格包含换行问题

Java读取Excel 单元格包含换行问题

    • 需求
    • 解决方案

需求

针对用户上传的Excel数据,或者本地读取的Excel数据。单元格中包含了换行,导致读取的数据被进行了切片。

正常读取如下图所示。
Java读取Excel 单元格包含换行问题_第1张图片
Java读取Excel 单元格包含换行问题_第2张图片

解决方案

目前是把数据读取出来的cell转成字符串后,然后替换掉换行符即可。
换行符使用\n进行替换。

代码如下:

public class ExcelReader {
    public static void main(String[] args) {
        String filePath = "C:\\Users\\Administrator\\Desktop\\1\\2.xls";
        try (FileInputStream fis = new FileInputStream(filePath);
            Workbook workbook = new HSSFWorkbook(fis)) {
            Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
            StringBuilder sb = new StringBuilder();
            for (Row row : sheet) {
                for (Cell cell : row) {
                // 全部替换
                    String cellValue = cell.getStringCellValue().replaceAll("\n"," ");
                    sb.append(cellValue);
                    sb.append("--");
                }
            }
            System.out.println(sb.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

读取结果:
Java读取Excel 单元格包含换行问题_第3张图片

你可能感兴趣的:(JavaSE,java,excel,开发语言)