天天看點

apache poi 3.0對HSSF cell方法的改變

在使用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警告消失了。

祝大家在寒冬裡學習愉快!

繼續閱讀