環境說明:MyEclipse Tomcat7.0
通過后台查詢數據,導出Excel在打開時會出現以下提示:
點擊否,則不顯示任何內容,點擊是,彈出
查看修改記錄為:
通過WPS打開不會出現任何提示,可以直接打開,但是通過Office打開會出現以上提示,糾結中,開始以為是POI的問題,查找了許多資料也沒有解決。
后來判斷是不是代碼中設置出了問題,因此進行代碼一部分一部分的注釋掉來嘗試導出的EXCEL是否有問題。
通過嘗試發現是以下語句導致的這個問題:
1: XSSFWorkbook xwb = new XSSFWorkbook(path+"template//"+templateName+".xlsx");
2: XSSFSheet sheet =xwb.getSheetAt(0);
3: sheet.setDefaultColumnWidth((short)5*256);//問題代碼
在設置默認列寬時候導致此問題!!!!這句代碼是有問題的,正確的設置參考網絡上的應該是如下方式:
1: sheet.setDefaultRowHeight((short) (2 * 256)); //設置默認行高,表示2個字符的高度,必須先設置列寬然后設置行高,不然列寬沒有效果
2: sheet.setDefaultColumnWidth(17); //設置默認列寬
比較低級的錯誤,但是發現同樣錯誤的同學可以參考下用類似的方法來排除錯誤原因。
JAVA的東西剛開始學習,歡迎大家指正。