我正在尝试编写一个每天运行的Java程序(使用任务调度程序),并且每次运行时都会在Excel电子表格中附加一列.我遇到的问题是它只是重写文件,而不是附加到它.我正在使用Apache POI,这里是相关代码:
public static void toExcel(List<String> results, List<Integer> 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 …Run Code Online (Sandbox Code Playgroud) 我有一个列表和一个f返回三元组的函数。我想捕获前两个返回值,并将第三个返回值附加到 lst。我知道我可以执行以下操作:
a, b, c = f()
lst.append(c)
Run Code Online (Sandbox Code Playgroud)
但我想要一种没有无关变量“c”的方法。我知道我也可以这样做:
lst.append(f()[2])
Run Code Online (Sandbox Code Playgroud)
但我不想扔掉其他两个返回值。
有什么建议么?
编辑:我很欣赏所提供的答案,但更清楚地说,问题是找到一个简洁的台词。