遇到以下報錯
自己的代碼
解決方式:
在cell加個setCellType()方法就可以了
cell.setCellType(CellType.STRING);
代碼:
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; /** * @author xie.shilin@qq.com * @description xls工具類 * @date 2020-09-15 15:39 */ public class XlsUtil { public static void read(String filePath) throws IOException { String fileType = filePath.substring(filePath.lastIndexOf(".") + 1, filePath.length()); InputStream stream = new FileInputStream(filePath); Workbook wb = null; if (fileType.equals("xls")) { wb = new HSSFWorkbook(stream); } else if (fileType.equals("xlsx")) { wb = new XSSFWorkbook(stream); } else { System.out.println("您輸入的excel格式不正確"); } Sheet sheet1 = wb.getSheetAt(0); for (Row row : sheet1) { for (Cell cell : row) { cell.setCellType(CellType.STRING); System.out.print(cell.getStringCellValue() + " "); } System.out.println(); } } public static boolean write(String outPath) throws Exception { String fileType = outPath.substring(outPath.lastIndexOf(".") + 1, outPath.length()); System.out.println(fileType); // 創建工作文檔對象 Workbook wb = null; if (fileType.equals("xls")) { wb = new HSSFWorkbook(); } else if (fileType.equals("xlsx")) { wb = new XSSFWorkbook(); } else { System.out.println("您的文檔格式不正確!"); return false; } // 創建sheet對象 Sheet sheet1 = (Sheet) wb.createSheet("sheet1"); // 循環寫入行數據 for (int i = 0; i < 5; i++) { Row row = (Row) sheet1.createRow(i); // 循環寫入列數據 for (int j = 0; j < 8; j++) { Cell cell = row.createCell(j); cell.setCellValue("測試" + j); } } // 創建文件流 OutputStream stream = new FileOutputStream(outPath); // 寫入數據 wb.write(stream); // 關閉文件流 stream.close(); return true; } public static void main(String[] args) { try { XlsUtil.read("C:\\Users\\edz\\Desktop\\banji.xlsx"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }