欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

apache poi 3.0对HSSF cell方法的改变 ApacheEclipseJavaExcelMyeclipse 

程序员文章站 2022-03-08 18:42:27
...
在使用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警告消失了。
祝大家在寒冬里学习愉快!