1

コードは次のとおりです。

            using (FileStream file = new FileStream(databaseLocation, FileMode.Open, FileAccess.Read))
        {
            // _Sheet is of type IWorksheet
            _Sheet = new XSSFWorkbook(file).GetSheetAt(0);
        }

これは、使用するオーバーロードに関係なく、継続的にさまざまな例外をスローします。この質問に対して上記の特定のオーバーロードを選択したのは、他のすべての人が (基本的に) この正確な方法で Excel 2007 (.xlsx) ファイルを開くことができるようだからです!

この特定のオーバーロードにより、「ZipException - ヘッダー内の EOF」というエラーが表示されます。文字列のオーバーロード (つまり ) に対して、もう 1 つの愛情を込めて説明するエラー「ZipException - 中央の辞書が見つかりません」が表示されます_Sheet = new XSSFWorkbook(databaseLocation).GetSheetAt(0);

NPOI が ICSharpCode の SharpZipLib を実装する方法に問題があるかどうかはわかりません。いずれにせよ、Excel 2007 ファイルを開くことができる必要があります。

Google検索で提案されているものの中で、0にリセットしようとしfile.Positionましたが、あまりうまくいきません. 髪が抜ける前に助けて!

4

0 に答える 0