在使用POI導出資料到微軟EXCEL的時候,寫出代碼
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("表1");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("序号");
MyEclipse竟然說setEncoding(short encoding) 和setCellValue(java.lang.String value) 方法已經被Deprecated了!當然Eclipse不會說謊,是以我還是去看看究竟應該使用什麼方法吧。
到Goneeded 網站查了一下(http://www.goneeded.com/javadoc/org.apache.poi.3.0/org/apache/poi/hssf/usermodel/HSSFCell.html),果然。
對于setCellValue(java.lang.String value)方法,POI3.0推薦使用setCellValue(HSSFRichTextString)來代替。而對于setEncoding(short encoding),POI說
now automatically handles Unicode without forcing the encoding
也就是說,POI3會自動确認編碼方式,如果你非要指定也是不行滴(不過一定有使用者指定編碼方式的方法,可惜我沒有找到)。是以到處代碼改為
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("表");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short)0);
// cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(new HSSFRichTextString("序号"));
好了,eclipse警告消失了。
祝大家在寒冬裡學習愉快!