1
私のシステムでは、いくつかのデータでExcelを作成するクラスがあります。Windowsでapache poi(Java)で作成したExcelファイルを開くことができません
基本的に、変数ArrayList>からすべての文字列値を読み込み、Excelセルに書き込んでいます。
public void writeData(Data data, int sheetNumber)
throws EncryptedDocumentException, InvalidFormatException, IOException {
org.apache.poi.ss.usermodel.Workbook workbook;
try {
workbook = WorkbookFactory.create(new File(path));
} catch (FileNotFoundException e) {
workbook = new HSSFWorkbook();
}
org.apache.poi.ss.usermodel.Sheet sheet;
try {
sheet = workbook.createSheet("Sheet" + sheetNumber);
} catch (IllegalArgumentException e) {
sheet = workbook.getSheet("Sheet" + sheetNumber);
}
int dataListSize = data.getData().size();
for (int i = 0; i < dataListSize; i++) {
Row row = sheet.createRow(i);
int rowSize = data.getData().get(i).size();
for (int j = 0; j < rowSize; j++) {
row.createCell(j);
row.getCell(j).setCellValue(String.valueOf(data.getData().get(i).get(j)));
}
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(path));
workbook.write(fos);
} catch (IOException e) {
e.printStackTrace();
} finally {
workbook.close();
if (fos != null) {
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
コードは私の知る限り正常に動作し、私はUbuntuの上で開発し、常に最初に、ここでのコードを試してみてください、作成した優れは大丈夫です、と私は全く問題がありません。
私はこれらのいずれかをWindows(XPと7両方で試してみました)に持っていくと、Microsoft Excelを使ってそれらを開くことができません。
誰もこの経験がありますか?
ありがとうございます。
"Microsoft Excelを使用してこれらのファイルを開くことはできません。"何故なの?どのようなエラーメッセージですか? 'path'にあるものの例を示してください。 –
Apache POIのどのバージョンを使用していますか?最新でない場合は、アップグレードするとどうなりますか? – Gagravarr
私はエラーメッセージを表示しません、ごめんなさい。私が言ったように、私はubuntuを使用し、いくつかの同僚はWindowsを使用します。私は明日のためのそれらのメッセージを持っています(私が望む)。 – Tuzane