代码之家  ›  专栏  ›  技术社区  ›  Dinu

代码中显示HSSFWorkbook错误

  •  -1
  • Dinu  · 技术社区  · 12 年前

    在创建从excel读取数据的代码时

    HSSFWorkbook wb = new HSSFWorkbook(input);
    

    在eclipse中显示输入错误。显示的错误是“无法将输入解析为类型”。我已经读到,通过该语句,我们正在创建excel的实例。但是,我们应该为这一步骤提供什么输入?

    3 回复  |  直到 12 年前
        1
  •  1
  •   Magic Wand    12 年前

    请查看POI忙碌的开发人员指南,这方面有很多示例: http://poi.apache.org/spreadsheet/quick-guide.html

    您需要InputStream、OPCPackage或NPOIFSFileSystem进行读取(这是NPOIFSFile System的示例):

    // HSSFWorkbook, File
    NPOIFSFileSytem fs = new NPOIFSFileSystem(new File("file.xls"));
    HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot());
    ....
    fs.close();
    
        2
  •  0
  •   Vignesh Paramasivam    12 年前

    您需要使用inputstream提供excel文件的路径,

    FileInputStream input= null;
    input= new FileInputStream(new File(path));
    HSSFWorkbook wb = new HSSFWorkbook(input);
    
        3
  •  0
  •   Swaraj    12 年前

    输入应与FileInputStream类似

         String fileName="/home/hduser/file.xls";
         FileInputStream file = new FileInputStream( new File( fileName ) );
         String fileExtension = FilenameUtils.getExtension( fileName );
         Workbook channelBook = getChannelWorkBook( fileExtension, file );
    
        /**
     * Get Workbook from extension
     */
    private Workbook getChannelWorkBook( String fileExtension, FileInputStream file ) throws IOException
    {
        if ( fileExtension.equalsIgnoreCase( "XLS" ) )
            return new HSSFWorkbook( file );
        if ( fileExtension.equalsIgnoreCase( "XLSX" ) )
            return new XSSFWorkbook( file );
        return null;
    }