java poi 更新excel_在Java Apache POI中更新现有的Excel文件
我正在尝试编写一个每天运行的
Java程序(使用任务调度程序),并且每次运行时都会在Excel电子表格中附加一列.我遇到的问题是它只是重写文件,而不是附加到它.我正在使用Apache POI,这里是相关代码:
public static void toExcel(List results,List notActive)throws IOException{
try {
FileInputStream fIPS= new FileInputStream("test.xls"); //Read the spreadsheet that needs to be updated
HSSFWorkbook wb;
HSSFSheet worksheet;
if(fIPS.available()>=512) {
wb = new HSSFWorkbook(fIPS); //If there is already data in a workbook
worksheet = wb.getSheetAt(0);
}else{
wb = new HSSFWorkbook(); //if the workbook was just created
worksheet = wb.createSheet("Data");
}
//Access the worksheet,so that we can update / modify it
HSSFRow row1 = worksheet.createRow(0); //0 = row number
int i=0;
Cell c = row1.getCell(i);
while (!(c == null || c.getCellType() == Cell.CELL_TYPE_BLANK)) { //cell is empty
i++;
c=row1.getCell(i);
}
HSSFRow rowx;
int x=0;
for(String s : results) {
rowx = worksheet.createRow(x);
HSSFCell cellx = rowx.createCell(i); //0 = column number
cellx.setCellValue(s);
x++;
}
fIPS.close(); //Close the InputStream
FileOutputStream output_file =new FileOutputStream("test.xls");//Open FileOutputStream to write updates
wb.write(output_file); //write changes
output_file.close(); //close the stream
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我认为你是一次又一次地创建新的行和单元格并导致重写excel.
Essentially you need to get the rows and cells instead of creating
them in your program.
HSSFRow row1 = worksheet.createRow(0);
您可能需要获取行而不是创建它.
HSSFRow row1 = worksheet.getRow(0);
这个小例子更新了第二行的第二个单元格:
//Read the spreadsheet that needs to be updated
FileInputStream fsIP= new FileInputStream(new File("C:\\Excel.xls"));
//Access the workbook
HSSFWorkbook wb = new HSSFWorkbook(fsIP);
//Access the worksheet,so that we can update / modify it.
HSSFSheet worksheet = wb.getSheetAt(0);
// declare a Cell object
Cell cell = null;
// Access the second cell in second row to update the value
cell = worksheet.getRow(1).getCell(1);
// Get current cell value value and overwrite the value
cell.setCellValue("OverRide existing value");
//Close the InputStream
fsIP.close();
//Open FileOutputStream to write updates
FileOutputStream output_file =new FileOutputStream(new File("C:\\Excel.xls"));
//write changes
wb.write(output_file);
//close the stream
output_file.close();
java poi 更新excel_在Java Apache POI中更新现有的Excel文件相关推荐
- java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was
做Excel导入过程中出现这样的问题 java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILo ...
- JAVA设置输入数据范围,如何使用Apache POI(SXSSF)为特定单元格设置数据(数字)格式区域设置?...
在Offixe OpenXML的(*.xlsx),用于货币数字格式仅货币符号可以本地化但不是小数分隔符.小数点分隔符来自运行Excel的Windows系统的Windows系统区域设置.千位分隔符还默认 ...
- java后台处理excel_java后台利用Apache poi 生成excel文档提供前台下载示例
之前在项目中会用到在java在后台把数据填入Word文档的模板来提供前台下载,为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客,访问量已经是我写的博客里第一了.于是乎我在学会用Java在后 ...
- java自动生成项目编号_java - Apache POI,在同一文档中创建项目符号点和编号列表 - 堆栈内存溢出...
我试图用apache poi创建一个既包含圆点又包含编号列表的文档. 我想得到这样的结果. 名单: 清单1项目0 清单1项目1 清单1项目2 列表后的段落. 清单2: 清单2项目0 清单2项目1 清单 ...
- java导出表格vsd_java - 如何使用Apache POI将vsd / vsdx文件转换为图像(例如jpg png) - 堆栈内存溢出...
我正在使用apache poi读取doc / docx文件. 现在,我可以从文档文件中提取段落和图片. 当我的doc文件中有vsd时,如何将vsd转换为png图像? 我尝试了这个: private b ...
- poi xwpf 转换成 html,Apache POI创建的docx文档无法转化成html
当我通过word软件创建文档的时候 FileInputStream fileInputStream = new FileInputStream(sourceFileName); //当你确定该文件可信 ...
- java横向导出excel_利用Java进行Excel的数据导入导出
1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...
- poi报空指针_空指针异常apache poi
嗨,我们一直在使用apache poi ing java程序读取xls和xlsx文件,问题是我们得到空指针异常有两个原因..第一个是我们已经解决的空白单元格,另一个是我们的时候正在选择一个没有任何记录 ...
- java代码里的JSON格式怎么写好看_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrdimport jsonimport operatordef read_xlsx(filename): # 打开excel文件 data1 = ...
最新文章
- 【Pygame小游戏】这款经典的炸弹人超能游戏上线,你爱了嘛?(附源码)
- Mybatis传入参数map,读取map原创
- 钉钉扫码登录的实现 与OAUTH2.0
- 斯坦福大学机器学习第一课“引言(Introduction)”
- 阿里云 AI 编辑部获 CCBN 创新奖,传媒行业解决方案背后的黑科技
- 初学者都在坑里!不要在Python中使用“+”来连接字符串
- 安装配置gitlab
- 2_Recurrent Neural Networks (RNNs)循环神经网络 —Simple RNNs
- iOS版本更新与集成百度地图
- c语言 静态断言,C断言/静态断言
- Python3基础——字典、其他常用操作
- MacBook进阶技巧,如何在触控栏添加一键截屏?
- 关于lua字节码在32位和64位系统上不兼容的问题
- 高速公路5G智能网联技术、方案和应用
- 敏涵控股集团成为2022第十二届公益节候选品牌
- 读书笔记 - 《上帝的跳蚤》
- 大类资产配置(一)均值方差模型MOV
- 从底层了解ASP.NET体系结构
- django的通过set_password注册密码加密
- 计算机音乐谱牵丝戏,《天谕手游》牵丝戏乐谱代码分享-天谕云之光在哪