19

.csv ファイルからセル データを取得しようとしていますが、エラーが発生します: jxl.read.biff.BiffException: OLE ストリームを認識できません

これを解決する方法がわかりません。解決策を教えてください。このコードは jxl API 用であり、その API は .csv をサポートしていますか?

参照用のコード:

public void read() throws IOException, BiffException  {

    File inputWorkbook = new File(inputFile);

    try
    {
        w = Workbook.getWorkbook(inputWorkbook.getAbsoluteFile());
        // Get the first sheet
        Sheet sheet = w.getSheet(0);
        // Loop over first 10 column and lines

        for (row = 1; row < sheet.getRows(); row++) 
        {
            ReadExcelLotSizeEntity readExcelLotSizeEntity =new ReadExcelLotSizeEntity();

                cell = sheet.getCell(1,row);
                type= cell.getType();
                if (cell.getType() == CellType.LABEL)
                {

                    symbol=cell.getContents();
                    System.out.println(":::::::::::::::::"+symbol);
                    readExcelLotSizeEntity.setSymbol(symbol);
                }   

                int col=2;
                cell = sheet.getCell(col,row);
                while(!cell.getContents().equals("")||cell.getContents()!=null)
                {
                    System.out.println("||||||||||||||||"+cell.getContents());
                    cell=sheet.getCell(col,row);
                    col++;
                }
                lotSize= new Double(cell.getContents());
                readExcelLotSizeEntity.setLotSize(lotSize);
                readExcelLotSizeEntity.setCreateUserId(1L);
                readExcelLotSizeEntity.setCreateDtTm(new Date());
                readExcelLotSizeHome.persist(readExcelLotSizeEntity);
            }

    } catch (BiffException e) {
        e.printStackTrace();
    }

}
4

8 に答える 8

53

私も以前にこの問題に直面していました。この投稿と、これに対する解決策を求めていた他の多くの投稿をグーグルで読みましたBiffException。正確な解決策はありませんが、問題を修正したので、おそらくあなたもそれを行うことができます.

MS Office 2010に保存された Excel ファイルからデータを読み取ろうとしたところ、このエラーが発生しました。ファイルをExcel 2003-7として保存したところ、問題なく読み取れました。この問題はOffice 10で発生し、 Office 2003-7では発生しない場合があります。

これがあなたのケースでうまくいくことを願っています。

于 2012-09-05T05:01:59.427 に答える
21

ファイルを「Excel 97-2003 Workbook」タイプとして保存すると、問題が解決しました。

于 2013-10-02T15:46:18.947 に答える
1

実際には、異なるバージョンの csv ファイルを使用しています。正確なバージョンで保存してください。

例: Excel シートを Word で 9 として保存する必要があります

于 2012-03-21T06:17:36.407 に答える
0

MS Office 2010 に保存された Excel ファイルからデータを読み取ろうとしたところ、このエラーが発生しました。ファイルを Excel 2003-7 として保存したところ、問題なく読み取れました。この問題は Office 10 で発生し、Office 2003-7 では発生しない場合があります。

于 2016-05-04T13:19:00.630 に答える