这是我用于将两个字符串写入Excel工作表的代码。但是我收到了这个错误:java.lang.IllegalArgumentException: Sheet index (0) is out of range (no sheets)
FileOutputStream fout=new FileOutputStream(new File("C:\\Users\\151680\\workspace\\trial.xlsx"));
XSSFWorkbook wb=new XSSFWorkbook();
XSSFSheet sh1=wb.getSheetAt(0);
sh1.getRow(0).createCell(0).setCellValue("abc");
sh1.getRow(0).createCell(1).setCellValue("def");
wb.write(fout);
目前在给定路径中没有名为trial.xlsx的工作簿。当这段代码运行时,它应该创建工作簿吗?或者我是否必须在路径中创建并保留一个?我在这里做错了什么?
答案 0 :(得分:4)
由于您收到异常,因此未创建任何Excel工作表。如果您要创建Excel工作表,则必须在wb.createSheet()
wb.getSheetAt(0);
insteat
FileOutputStream fout=new FileOutputStream(new File("C:\\Users\\151680\\workspace\\trial.xlsx"));
XSSFWorkbook wb=new XSSFWorkbook();
XSSFSheet sh1=wb.createSheet();
XSSFRow row = sh1.createtRow(0);
row.createCell(0).setCellValue("abc");
row.createCell(1).setCellValue("def");
wb.write(fout);
fout.close();