❶ java用poi導出excel文件,打開導出的文件時報錯,怎麼辦
兩個原因:
1.你的excel模版本身有問題,可以嘗試新建一個模版。
2.你的excel使用了一些POI不支持的函數。
解決辦法:
另存是由excel重寫了完整的文件,可以解決問題。
關閉文件例子:
FileOutputStream os = new FileOutputStream("workbook.xls");
wb.write(os);
os.close();
❷ java poi導出excel要雙擊才顯示換行
對於Java POI,其提供的API中,沒有提供直接設置單元格「折行表示」的屬性或者方法。
我之前做這個地方的時候,是利用讀取Excel的模板來實現的。
在模板文件中,對單元格設置好「折行表示」。
Java POI調用之後,先讀取模板文件中已經設置好「折行表示」的單元格的style。
然後在輸出Excel的文件中,對需要有「折行表示」的單元格,將這個style賦給它。
這樣就在最終生成的Excel看到折行表示的效果了。
❸ 急!!!java用poi導出excel文件,打開導出的文件時報錯「文件錯誤,數據可能丟失」
用java寫完文件後需要關閉文件流,如果不關閉就會報這個錯。
因為你的文件內容寫完了,所以內容沒有缺失,但excel檢測到文件沒有正常結束,所以報錯。
另存是由excel重寫了完整的文件,所以可以解決問題。
關閉文件例子:
FileOutputStream os = new FileOutputStream("workbook.xls");
wb.write(os);
os.close();
❹ java poi操作2007word,輸入什麼代表換行符
悄悄問了問度娘,她說按下面方式做就ok了:
1. 首先在需要強制換行的單元格里使用poi的樣式,並且把樣式設定為自動換行
# HSSFCellStyle cellStyle=workbook.createCellStyle();
# cellStyle.setWrapText(true);
# cell.setCellStyle(cellStyle);
2. 其次是在需要強制換行的單元格,使用\就可以實再強制換行
1. HSSFCell cell = row.createCell((short)0);
2. cell.setCellStyle(cellStyle); cell.setCellValue(new HSSFRichTextString("hello\r\n world!"));
這樣就能實現強制換行,
換行後的效里是單元格里強制換行
hello
world!
❺ java poi設置excel字體部分失效
使用POI寫入excel數據時,如果使用的excel版本是2003,當創建過多的樣式(格式)時容易發生單元格丟失問題,所以需要嚴格控制單元格樣式的創建和生成,同樣的樣式只創建1次,所有同樣式的Cell共享。