以下是方法部分的代码:
File f = new File(inUrl);// 读取标准表
FileInputStream in = new FileInputStream(f);
Workbook wb = Workbook.getWorkbook(in);
FileOutputStream out = new FileOutputStream(new File(outUrl));// 写入新的表格
WritableWorkbook wwb = Workbook.createWorkbook(out, wb);// 获取可写工作表
……
~~~~~~~~后面的代码 就是 增加若干列和行 并插入字符 最后调用 wwb.write();
生成的新excel “±”就显示不出来。 求高人解答,如果真能解决,我会追加悬赏!
你文件流输出的时候设定下utf-8格式,± 出现的单元格 值类型设定为string追问
如何设定文件流输出的时候utf-8格式?
追答我看了楼上的回答 , 你现在出现乱码 ,你试试看 用 new String("XXXX".getBytes(),"utf-8")
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-09-12
这个你就需要你程序去判断了。
sheet.getCell(j, i).getType() 这个是获取你单元的类型
你上面是数字类型,你当然就得用
NumberCell numberCell=(NumberCell) sheet.getCell(j, i);
希望能帮到你。追问
sheet.getCell(j, i).getType() 这个是获取你单元的类型
你上面是数字类型,你当然就得用
NumberCell numberCell=(NumberCell) sheet.getCell(j, i);
希望能帮到你。追问
我尝试了 获取“±3”这个单元格的类型 是Lable 值是?,然后wwb.write(); 又变成乱码了。怎么办啊
追答“±3”应该不是数字类型,你打印这个单元格的类型看下。
本回答被网友采纳第2个回答 2012-09-26
改编码
<%@ page contentType="application/vnd.ms-excel;charset=gb2312"
language="java"%>
你看看和你读取的excel是不是不一致啊 java基本回用utf-8读取
<%@ page contentType="application/vnd.ms-excel;charset=gb2312"
language="java"%>
你看看和你读取的excel是不是不一致啊 java基本回用utf-8读取