jxl 读取excel 文件 Unable to recognize OLE stream

来源:互联网 发布:聚合数据 股票接口 编辑:程序博客网 时间:2024/06/04 22:58

  使用java程序读取excel文件时出现下列错误;

        


        jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:268)
at jxl.Workbook.getWorkbook(Workbook.java:253)
at readExcel.ReadExcels.main(ReadExcels.java:34)

  

   将excel另存为2003xls 文件。

package readExcel;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.util.HashMap;import java.util.Map;import jxl.Cell;import jxl.CellType;import jxl.Sheet;import jxl.Workbook;import jxl.write.Label;public class ReadExcels { public static void main(String[] args) {     {              File file = new File("E://test"); File[] files =file.listFiles();  jxl.Workbook readwb = null;   for(int n=0; n<files.length;n++){ System.out.println(files[n].getPath());              try                {                   //构建Workbook对象, 只读Workbook对象                   //直接从本地文件创建Workbook                 InputStream instream = new FileInputStream(files[n].getPath());                   readwb = Workbook.getWorkbook(instream);                          //Sheet的下标是从0开始                   //获取第一张Sheet表                  Sheet readsheet = readwb.getSheet(0);                   //获取Sheet表中所包含的总列数                  int rsColumns = readsheet.getColumns();                   //获取Sheet表中所包含的总行数                   int rsRows = readsheet.getRows();                   //获取指定单元格的对象引用                            for (int i = 0; i < rsRows; i++)                  {                       for (int j = 0; j < rsColumns; j++)                      {                           Cell cell = readsheet.getCell(j, i);                       System.out.print(cell.getContents()+"  ");               }                                              System.out.println();                              }                   System.out.println("共"+rsColumns+"列信息,"+rsRows+"行信息");                           System.out.println();           } catch (Exception e) {                 e.printStackTrace();              } finally {                   readwb.close();               }       }     }         }}


0 0