写入数据到已存在的excel中的问题

phxwjg 2008-12-10 01:41:49
写excel方法有个new FileOutputStream("文件路径及名称");这个是要新建一个excel表,我担心我用这个方法时会把我已经存在的excel覆盖了,因为这个excel表中还有别的要留在上面的数据。
我要把一些数据写到一个已经存在的excel表中,在第6行写入数据
下面是我的代码:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("报错信息");
FileOutputStream fos=null;
HSSFRow row=null;
HSSFCell cell=null;

// 列名
row = sheet.createRow(6);
cell = row.createCell((short) 0);


for (int y=0;y<obj.length;y++)
{
//写入对应的单元格中 }
try{
fos = new FileOutputStream("d:\\基本模板格式.xls");
wb.setSheetName(0, "报错信息");
wb.write(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fos != null)
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
问题一、这样写会不会把已存在的excel表覆盖?
问题二、如果有别的方法,请详细说明,最好有代码参照
谢谢!!!
...全文
289 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
phxwjg 2008-12-22
  • 打赏
  • 举报
回复
解决了,测试了快半个月了。
谢谢大家的捧场
phxwjg 2008-12-11
  • 打赏
  • 举报
回复
有没人帮解决下,谢谢了
phxwjg 2008-12-11
  • 打赏
  • 举报
回复
有没人帮解决下,谢谢了
zh2208 2008-12-11
  • 打赏
  • 举报
回复
一同期待中。。
jianghuxiaoxiami 2008-12-11
  • 打赏
  • 举报
回复
注意加上wb这个参数

WritableWorkbook book = Workbook.createWorkbook(os,wb);
shihp 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Mr_Von 的回复:]
引用 1 楼 java2000_net 的回复:
HSSFWorkbook

有个读写的啊
# // 打开一个文件的副本,并且指定数据写回到原文件
#      WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"), wb);

参考这个文章 http://www.java2000.net/p174

up
先读 看是否存在不存在就新建
[/Quote]
up
同意
goodmrning 2008-12-11
  • 打赏
  • 举报
回复
学习了!
phxwjg 2008-12-10
  • 打赏
  • 举报
回复
我要作的就是往一个存在的excel续加数据,还要再判断是不是存在吗 
無名VF 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
HSSFWorkbook

有个读写的啊
# // 打开一个文件的副本,并且指定数据写回到原文件
# WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"), wb);

参考这个文章 http://www.java2000.net/p174
[/Quote]
up
先读 看是否存在不存在就新建
beanj 2008-12-10
  • 打赏
  • 举报
回复
学习,帮顶。
phxwjg 2008-12-10
  • 打赏
  • 举报
回复
不行呀,还是覆盖了原来的
我是这样写的
OutputStream os=new FileOutputStream("d:\\基本凭证模板格式(顺丰).xls");//输出的Excel文件URL
WritableWorkbook book = Workbook.createWorkbook(os);
WritableSheet ws = book.createSheet("sheet1",0);//创建可写工作表
for (int y=0;y<obj.length;y++)
{//赋值操作 key = rtstr1[y];
Label labelCF=new Label(y, 6, key);//写入从第6行开始
ws.addCell(labelCF);//将Label写入sheet中
}
book.write();
book.close();
os.close();
lihan6415151528 2008-12-10
  • 打赏
  • 举报
回复
楼上整理的不错,学习了
老紫竹 2008-12-10
  • 打赏
  • 举报
回复
HSSFWorkbook

有个读写的啊
# // 打开一个文件的副本,并且指定数据写回到原文件
# WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"), wb);

参考这个文章 http://www.java2000.net/p174
phxwjg 2008-12-10
  • 打赏
  • 举报
回复
// 列名
row = sheet.createRow(6);
我这样写了
xql80329 2008-12-10
  • 打赏
  • 举报
回复
或者更简单就是 把已经存在的EXCEL 你可以知道数据有多少行 ROWS
从 rows 行开始添加就OK了
xql80329 2008-12-10
  • 打赏
  • 举报
回复
你是怕把原来的数据覆盖掉
如果没行数据首格不为空的话 可以考虑这么做
先判断 首格不为空 则插入
ar7043 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
HSSFWorkbook

有个读写的啊
# // 打开一个文件的副本,并且指定数据写回到原文件
# WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"), wb);

参考这个文章http://www.java2000.net/p174
[/Quote]
楼主那是假的excel用poi
phxwjg 2008-12-10
  • 打赏
  • 举报
回复
哪位知道的朋友帮忙解决下,谢谢了

62,614

社区成员

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

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