好久没做开发了,最近需要做个小模块,在一个已经有数据的excel文件中向其最后一行插入一条数据,用JXL 怎么实现 谁能给出例子,很急 在线等
解决方案 »
- 在Eclipse中写好一个贪吃蛇的游戏如何才能让它脱离IDE 独立运行
- 怎么计算字符串“3*4”
- 如何在websphere 上 配置ssl,双向认证?请教了
- 表单中多个名称相同的标签取值的问题
- 如何停止一个正在运行的线程?
- java.sql.SQLException ?? (http://community.csdn.net/Expert/TopicView3.asp?id=4588841)
- 为什么我写的多线程+网络会出现空指针异常?100分立结
- 如何格式化一个字符串(yyyy-mm-dd hh24-mi-ss)成日期型
- 基本概念,谁能帮帮忙?
- 关于notify
- 新手 + 菜鸟 求教
- 联合主键生成的类及映射文件
本人思路:
首先用jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();得到总列数,然后用jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsRows = rs.getRows();然后算出新添加行的坐标,用以下方法写入内容//1.添加Label对象
jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell");
ws.addCell(labelC);
//添加带有字型Formatting的对象
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell",
wcfF);
ws.addCell(labelCF);
//添加带有字体颜色Formatting的对象
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
jxl.write.Label labelCFC = new jxl.write.Label(1, 0, "This is a Label Cell",
wcfFC);
ws.addCell(labelCF);
//2.添加Number对象
jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
ws.addCell(labelN);
//添加带有formatting的Number对象
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN);
ws.addCell(labelNF);
//3.添加Boolean对象
jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false);
ws.addCell(labelB);
//4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, new java.util.Date());
ws.addCell(labelDT);
//添加带有formatting的DateFormat对象
jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(),
wcfDF);
ws.addCell(labelDTF);
其他细节的地方请参考API
File tar = new File("C:\\Users\\qingralf\\Desktop\\test.xls");//目标文件
Workbook wb = Workbook.getWorkbook(tar);//只读的workbook,用于计算最后一列
WritableWorkbook book = Workbook.createWorkbook(tar, wb);//可写的workbook,写入内容来源于上面打开的只读workbook
WritableSheet sheet = book.getSheet(0);//取得第一个sheet页
jxl.write.Label label = new jxl.write.Label(0,wb.getSheet(0).getRows(),"你要加的字");//0列,最后一行
sheet.addCell(label);//写入sheet
book.write();
book.close();
wb.close();
得到总行数。然后构造label对象
ws.addCell(label);
最后write