OutputStream tmpOs = new FileOutputStream("result.xlsx")
我想循环的向一个excel中写入数据,需要用到循环,第一次写表头,然后剩下的循环写数据, 但是写完表头,从第二次循环开始写数据的时候报错,提示 new XSSFWorkbook(tmpOs)的时候,tmpOs指向的是一个空文件 按照预期,循环的第一步就是写表头,这个文件应该不是空的
原因:OutputStream tmpOs = new FileOutputStream("result.xlsx"),FileOutputStream有个append属性,设置true表示追加写,false表示重置写(清空后写),除非明确调用new FileOutputStream("result.xlsx",true),否则默认为false,也就是调用单个参数的构造,总是清空写的。