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