站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题用opi包把汉字写入excel里,出现乱码!!

用opi包把汉字写入excel里,出现乱码!!

摘要: 用opi包把汉字写入excel里,出现乱码!!


源代码如下:
import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;

public class PoiTest {

static public void main(String[] args) throws Exception {
FileOutputStream fos = new FileOutputStream(-#34;d://test.xls-#34;);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, -#34;first sheet-#34;);
HSSFRow row = s.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue(-#34;汉字-#34;);
//cell.setCellValue(-#34;Hello! This message is generated from POI.-#34;);

wb.write(fos);
fos.close();
}

}
写入英文字符没有问题的,当写入汉字时有乱码!另一个问题是:如何实现输入一行后,可以再自动换行,实现继续输入呢?



是用poi吧。
在建立的每个cell中设置编码方式,如下
cell = row.createCell((short) colNo);
cell.setEncoding((short) 1);

或字符采用utf-8编码。


写个静态方法
public static void setCellGBKValue(HSSFCell cell, String value) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING); //设置CELL的编码信息
cell.setEncoding(HSSFCell.ENCODING_UTF_16); //设置编码保证中文正常显示
cell.setCellValue(value);
}
然后可以这样调用
setCellGBKValue(row.createCell((short) 0),getValueXXX());


↑返回目录
前一篇: 如何把一个外部jar加入到一个ejb(Sessionbean)中
后一篇: java 编写的判别素数的代码,但是不知道开根的函数