需求
针对用户上传的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();
}
}
}
读取结果: