Java读取Excel 单元格包含换行问题
- 需求
- 解决方案
需求
针对用户上传的Excel数据,或者本地读取的Excel数据。单元格中包含了换行,导致读取的数据被进行了切片。
正常读取如下图所示。
解决方案
目前是把数据读取出来的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();}}
}
读取结果: