1

私は Java POI が初めてで、Java POI を使用して Excel ファイルを上書きしようとしています。この目的は、Excel でグラフを作成し、データベースからグラフの値を読み取り、Java POI を使用して Excel ファイルに書き込むことです。私のコードは次のとおりです。

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet firstSheet = workbook.createSheet("oldu");
HSSFSheet secondSheet = workbook.createSheet("oldu2");

HSSFRow rowA = firstSheet.createRow(6);
HSSFCell cellA = rowA.createCell(3);
cellA.setCellValue(new HSSFRichTextString("100"));
cellA.setCellValue(100);

HSSFRow rowB = secondSheet.createRow(0);
HSSFCell cellB = rowB.createCell(0);
cellB.setCellValue(new HSSFRichTextString("200"));

FileOutputStream fos = null;
try {
    fos = new FileOutputStream(new File("CreateExcelDemo.xls"));
    workbook.write(fos);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (fos != null) {
        try {
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
4

6 に答える 6

1

常に同じファイル名を使用すると、プログラムを実行するとファイルが上書きされます。

編集 既存の Excel ファイルを変更する場合は、ここを見て、既存のファイルの読み取りまたは変更」のセクションまでスクロールします。

于 2012-06-13T11:28:14.733 に答える
0

問題は、Apache POI がグラフを含む Excel ファイル形式のすべての機能をサポートしていないことです。そのため、POI を含むグラフを生成できず、POI を含む既存の Excel ファイルを開いて変更すると、Excel ファイル内の現在の「オブジェクト」の一部が失われる可能性があります。POI はそれを処理できず、書き込み時に、生成された新しい情報と処理できる既存の情報。

これは、POI の欠陥の 1 つとして Apache によって想定されています。

既存の Excel ファイルに同様の処理を行い、新しいデータを入力しましたが、既存の Excel ファイルには書式設定スタイルのみが含まれており、POI を使用して保存されていますが、チャートは非常に問題があると思います。POI では、データを入力して既存のチャートを更新しようとすることはできません。

于 2012-06-13T11:41:04.877 に答える