I am trying to check if my excel file already exists. If it doesn't exists, I want to create a new one and if it exists I will delete it and create a new one. I wrote following program but I am getting error at line - workbook= WorkbookFactory.create(instream);
The error is-> java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:89) at tryIng.main(tryIng.java:84)
Here is a program ->
try { String filePath= "C:/Users/pritik/Desktop/t1.xlsx"; File file = new File(filePath); filePath= file.getAbsolutePath(); xlFile = new File(filePath); if(xlFile.exists() && !xlFile.isDirectory()) xlFile.delete(); //delete if file already exists. xlFile.createNewFile(); inStream = new FileInputStream(xlFile); workbook = WorkbookFactory.create(inStream); // I get error at this line String sheetName="NewSheet"; Sheet sheet = workbook.createSheet(sheetName); FileOutputStream fOut = new FileOutputStream(xlFile); int i,j; xRows = xTS.length; xCols = xTS[0].length; for(i =0;i<xRows;i++) { row = sheet.createRow(i); for(j=0;j<xCols;j++) { cell = row.createCell(j); cell.setCellType(Cell.CELL_TYPE_STRING); cell.setCellValue(xTS[i][j]); } } workbook.write(fOut); fOut.flush(); fOut.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }