如何用 jxl 来进行单元格的设定 ?

tuo_bing 2013-03-06 05:27:53
如图 :




如何用 jxl 来设定选中的单元格用 "文本"的格式 ?
...全文
475 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2013-03-07
  • 打赏
  • 举报
回复
jxl以前用过,感觉还行,但最大的缺点就是现在没人维护了,对execl2007的以偶的就不支持了。 感觉2楼说的比较全了,就不补了,如果以后改用poi方式的话,可以家信我。
tuo_bing 2013-03-07
  • 打赏
  • 举报
回复
问题解决 :

WritableCellFormat titleFromart = new WritableCellFormat(NumberFormats.TEXT);
jxl.write.Label label = new jxl.write.Label(0,0, "abcde...", titleFromart);
sheet.addCell(label); 
tuo_bing 2013-03-07
  • 打赏
  • 举报
回复
非常感谢上面各位的回复 ~ 我现在不是问的 如何用 jxl 来创建 Excel , Excel文件已经生成好了,现在的问题是 3L描述的那样。我需要将 Excel 某单元格的长字符变成 "########" ! 翻寻 api 都没找到对应的设置,所以才有此一问 ~
ace62 2013-03-07
  • 打赏
  • 举报
回复
直接创建文本单元格并写入文本数据就可以了。要注意的是创建文本单元格要用 Label;而数值单元格用jxl.write.Number类 WritableWorkbook wwb = null; try { wwb = Workbook.createWorkbook(new File("D:\\book1.xls")); } catch (IOException e) { e.printStackTrace(); } WritableSheet ws = wwb.createSheet("sheet1", 0); try { // 定义单元格style jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.TIMES, 12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc); Label labelC = null; labelC = new Label(1, 2, "这是第3行,第1列", wcfFC); // 创建文本单元格 labelC.setString("第3行第1列单元格数据"); // 设置文本数据 ws.addCell(labelC); try { //从内存中写入文件中 wwb.write(); //关闭资源,释放内存 wwb.close(); } catch (IOException e) { e.printStackTrace(); return "1"; } catch (WriteException e) { e.printStackTrace(); return "1"; } } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); }
tuo_bing 2013-03-06
  • 打赏
  • 举报
回复
是否有人用 jxl 这样操作过长字符 ?
tuo_bing 2013-03-06
  • 打赏
  • 举报
回复
一个 Excel单元格中有一段很长的文本,如果用 “常规”的形式的话, 那么就直接出现的是字符, 如果用 “文本”的形式,则出现 "#####", 如下图 :
【设置】

【结果】


------------------------------------------------------------------------

【设置】

【结果】

  • 打赏
  • 举报
回复
添加单元格的时候可以设定单元格格式: WritableFont wfc = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED); WritableCellFormat wcfFC = new WritableCellFormat(wfc); Label labelC = new Label(1, 0, "This is a Label Cell", wcfFC); ws.addCell(labelCFC); 还可以添加数字单元格(就单元格内容为数字(非以文本格式保存)): Number number = new jxl.write.Number(3, 4, 3.14159); //将数字3.14159 放到单元格D5 ws.addCell(number); 设定数字格式: NumberFormat nf = new jxl.write.NumberFormat("#.##"); //设定带小数点数字格式 WritableCellFormat wcfN = new jxl.write.WritableCellFormat(wfc,nf);//设定带小数数字单元格格式,wcf见上 number = new Number(3, 4, 3.14159,wcfN); //只保存3.14 ws.addCell(number); jxl还可以向excel中添加图片: File image = new File("E:\\MyDoc\\2.png");//图片文件 WritableImage wimage = new WritableImage(0,1,3,2,image);//将图片放到excel中, //起始点为单元格(0,1)即A2左上角,宽度为3个单元格,高度为2个单元格 ws.addImage(wimage); 删除已有图片: WritableImage img = ws.getImage(0);//获得工作表中图片(以图片所在图层标示),最底层为0,依次增长 if(null != img) ws.removeImage(img);//删除图片
dengsilinming 2013-03-06
  • 打赏
  • 举报
回复
LZ自己在网上搜下呗,网上有好多呢,主要是用WritableCellFormat 这个类,具体用法查看jxl的API LZ可以参考下在jxl中设定单元格格式     JXL操作Excel

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧