删除的记录:在具有命名范围的打开文件上的/xl/workbook.xml部分(工作簿)的命名范围

时间:2018-01-30 04:52:16

标签: java excel apache-poi xssf

我刚刚开始使用.xlsm文件中的XSSF库,而且还很新。我正面临着.xlsm阅读和写作的问题。 我在尝试打开书面文件时收到以下消息

  

删除记录:/xl/workbook.xml部分(工作簿)的命名范围

我发布了我的代码

    String fileName = "C:\\Ishan\\Test.xlsm";
    String fileName2 = "C:\\Ishan\\Test4.xlsm";
    FileOutputStream fout = null;
    FileInputStream fin = null;
     XSSFWorkbook workbook=null;
     String[] dropDownList =  new String[5];
     dropDownList[0]="1";
     dropDownList[1]="2"; dropDownList[2]="3";
     dropDownList[3]="4"; dropDownList[4]="5";

    try {
        fin = new FileInputStream(new File(fileName));
        workbook = new XSSFWorkbook(OPCPackage.open(fin)
        );


        XSSFSheet sheet = workbook.createSheet("Data Validation");

        XSSFRow row = sheet.getRow(0);
        if(row == null)
             row = sheet.createRow(0);

        XSSFCell cell = row.getCell(0);
        if(cell == null)
            cell = row.createCell(0);

        row = sheet.createRow(0);
        cell = row.createCell(10);
        cell.setCellValue("Hello");

        XSSFName name = workbook.createName();
        name.setNameName("data");

         fout = new FileOutputStream(new File(fileName2));
        workbook.write(fout);
        fout.close();
        System.out.println("xlsm created successfully..");

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (InvalidFormatException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        try{
            if(fout!=null){
                fout.flush();
                fout.close();
                fout = null;
            }
            if(workbook!=null){
                workbook = null;
            }
            if(fin!=null){
                fin.close();
                fin = null;
            }
            }catch(Exception e){
                e.getMessage();
            }
        }

我甚至没有开始使用命名范围用于任何目的,只是创建。可能是什么问题以及我可以采取什么方法来纠正? 我正在使用Apache POI v3.8。

0 个答案:

没有答案