0

Apache poi を使用して Excel 2003 と 2007 の両方の形式を読み書きする方法はありますか?単一のワークブックを使用してフォーマットしますが、個別に使用することはありません。

4

3 に答える 3

0

使用する

WorkbookFactory.create(in);

javadoc に基づいて、

指定された InputStream から適切な HSSFWorkbook / XSSFWorkbook を作成します。

于 2012-07-12T09:51:37.980 に答える
0

試してみてくださいWorkbook wb = WorkbookFactory.create(OPCPackage pkg);。それはうまくいくはずです。ただし、XSSFが大きすぎると が発生するOutOfMemoryExceptionため、イベント ユーザー モデルを使用してファイルを読み取る必要があります。その場合、次のように、パスを読み取り、ファイルの拡張子を確認する必要があります。

private boolean isXLS(String inputPath) {
    String tmp = inputPath.substring(inputPath.length() - 3,
            inputPath.length());
    if (tmp.equalsIgnoreCase("XLS"))
        return true;
    else
        return false;
}

イベント ユーザー モデルの詳細については、ハウツーを参照してください。

于 2012-07-12T08:32:00.800 に答える
0

はい、できます。実際、Apache POI Web サイトでかなり広く文書化されています。

HSSF を使用するコードが既にある場合は、HSSF から SS への変換ガイドに従って、コードを更新して 2 つの形式全体で一般的になるようにする必要があります。

まだコードがない場合は、ユーザー API ガイドに従って開始してください。その中のすべてのコードは、両方の形式で一般的です。特定の問題と一般的な方法でそれらを解決する方法については、クイックガイドを参照することもできます。

于 2012-07-12T09:25:18.087 に答える