JAVA EXCEL 怎么实现读取一个EXCEL文件,然后修改指定行、列的数据???在线等!急急急!!!!

joycean 2004-09-09 09:21:13
JAVA EXCEL 怎么实现读取一个EXCEL文件,然后修改指定行、列的数据???

读取一个已经存在的EXCEL文件,然后修改某一行、列的数据??????/
...全文
1778 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
joycean 2004-09-10
chancelin()

呵呵,我发贴后发现你已经回复了!还是把分分给楼上的兄弟门
回复
joycean 2004-09-10
if (wc.getType()==CellType.EMPTY)
{
System.out.println("runing");
Label lp = new Label(2,2,"modify the empty");
ws.addCell(lp);
}

问题已经解决,自己解决!!!谢谢楼上的各位朋友!!!
回复
chancelin 2004-09-10
不知道这样行不行:
if(wc.getType() == CellType.EMPTY)
{
Label l=new Label(wc.getRow(),wc.getColumn(),string);
sheet.addCell(l);
}
回复
joycean 2004-09-10
我的问题简单点说:
先读一个EXCEL 文件,如何在空的单元格出写入数据????
回复
joycean 2004-09-10

JXL的DEMO里有写的例子,我在前面也贴了代码的。
if(wc.getType() == CellType.LABEL)
{
Label l = (Label)wc;
l.setString("The value has been modified.");
}

这里处理的是单元格类型为LABEL ,也可以处理NUMBER、DATE类型,但是就是没写EMPTY类型怎么处理???
回复
newste 2004-09-10
没太注意看用这个
ws.addCell(labelC);
回复
joycean 2004-09-10
newste(旭林):
谢谢你的回复!
你写的是创建一个新的EXCEL 文件,然后ws.addCell()方法写数据。
我的问题是,读出一个EXCEL文件,然后在空的单元格处写数据,怎么实现???
if(wc.getType() == CellType.LABEL)
{
Label l = (Label)wc;
l.setString("The value has been modified.");
}
这里如果wc.getType()==CellType.EMPTY
怎么样给这里单元赋值!!!
回复
newste 2004-09-10
这些是先来列的,你已经读出文件,那你就会知道在第几列,第几行,你在把数据写入不就可以了
先是列,在是行,我前面这个搞了很久
回复
newste 2004-09-10
//生成Excel的类
import java.io.*;
import jxl.*;
import jxl.write.*;

public class CreateXLS
{
public static void main(String args[])
{
try
{
//打开文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”));

//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet=book.createSheet(“第一页”,0);

//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label=new Label(0,0,”test”);

//将定义好的单元格添加到工作表中
sheet.addCell(label);

/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number = new jxl.write.Number(1,0,789.123);
sheet.addCell(number);

//写入数据并关闭文件
book.write();
book.close();

}catch(Exception e)
{
System.out.println(e);
}
}
}
回复
newste 2004-09-10
public static void writeExcel(OutputStream os) throws Exception {
try{
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
jxl.write.WritableSheet ws = wwb.createSheet("testSheet1", 0);
jxl.write.Label labelC = new jxl.write.Label(0, 0, "我爱中国1");
ws.addCell(labelC);
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.
ARIAL,
20, WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(jxl.format.Colour.RED);
labelC = new jxl.write.Label(6, 0, "中国爱我", wcfFC);
ws.addCell(labelC);
wwb.write();
wwb.close();
}
catch(Exception e){
System.out.println(e.toString());

}
}

public static void main(String[] args) {
try{
File f = new File("kk.xls");
f.createNewFile();
writeExcel(new FileOutputStream(f));
}
catch(Exception e){
System.out.println(e.toString());
}
}
回复
joycean 2004-09-10
我就是用的JXL
现在问题是,如果已经存在的单元格中 CELLTYPE = EMPTY, 怎么样写入值。
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile));

//创建可写入的Excel工作薄对象
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile), rw);

//读取第一张工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);

//获得第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//判断单元格的类型, 做出相应的转化
if(wc.getType() == CellType.LABEL)
{
Label l = (Label)wc;
l.setString("The value has been modified.");
}

//写入Excel对象
wwb.write();

//关闭可写入的Excel对象
wwb.close();

//关闭只读的Excel对象
rw.close();

问题在这里:
if(wc.getType() == CellType.LABEL)
{
Label l = (Label)wc;
l.setString("The value has been modified.");
}
这里如果wc.getType()==CellType.EMPTY
怎么样给这里单元赋值!!!
我看JXL的代码里好象EMPTY 没有提供个方法写入值!
各位帮帮忙!!!搞定立马给分

回复
sagittarius1979 2004-09-09
可以考虑用jxl.jar,这个包专门处理excel。有你要的功能。
回复
aiirii 2004-09-09
http://www.javaworld.com/javaworld/javaqa/2001-08/02-qa-0824-excel2.html
回复
aiirii 2004-09-09
http://www.andykhan.com/jexcelapi/

A Java API to read, write and modify Excel spreadsheets
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-09 09:21
社区公告
暂无公告