JXL如何修改Excel文件中指定单元格的内容???

我做了Excel修改程序,用JXLAPI访问Excel文件,举例来说:假如现在有一个Excel文件(工作薄):t1.xls,里面有100个工作表(sheet),假如第88... 我做了Excel修改程序,用JXL API访问Excel文件,举例来说:假如现在有一个Excel文件(工作薄):t1.xls,里面有100个工作表(sheet),假如第88个工作表的名字是“上月台账”,该表中第78行18列的内容是:123.830(Excel中的数值格式,带三位小数),现在我能通过Cell的getContents()方法访问到该单元格的字符串格式的数据“123.830”,现在我想把这个数据改成“199.125”,并仍然按照原来的数值格式写回原来的工作表(t1.xls中的第88个表)的单元格,应该如何解决??关键代码是啥?请高手明示。。。【注:我再网上找了若干答案,实验证明都不行,只会报异常】 展开
 我来答
mis_y
推荐于2016-11-23
知道答主
回答量:10
采纳率:0%
帮助的人:14.5万
展开全部
正好写了一个,给你参考~
public static void modifyExcel(String excelpath){
try {
jxl.Workbook wb =null; //创建一个workbook对象
try {
InputStream is = new FileInputStream(excelpath); //创建一个文件流,读入Excel文件
wb = Workbook.getWorkbook(is); //将文件流写入到workbook对象
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath))
jxl.write.WritableWorkbook wbe= Workbook.createWorkbook(new File(excelpath), wb);//创建workbook的副本
WritableSheet sheet = wbe.getSheet(0); //获取第一个sheet
WritableCell cell =sheet.getWritableCell(0, 0);//获取第一个单元格
jxl.format.CellFormat cf = cell.getCellFormat();//获取第一个单元格的格式
jxl.write.Label lbl = new jxl.write.Label(0, 0, "修改后的值");//将第一个单元格的值改为“修改後的值”
lbl.setCellFormat(cf);//将修改后的单元格的格式设定成跟原来一样

sheet.addCell(lbl);//将改过的单元格保存到sheet
wbe.write();//将修改保存到workbook --》一定要保存
wbe.close();//关闭workbook,释放内存 ---》一定要释放内存

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
僵酱讲BG
2016-01-06 · TA获得超过100个赞
知道答主
回答量:44
采纳率:100%
帮助的人:9.9万
展开全部

1、点击“开始”→格式设为“文本/数字/常规”进行测试。
2、日期列则按快捷键“Ctrl+H”,在查找文字处输入“-”,替换处依旧输入“-”并点击全部替换。(其他内容同理)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式