我试图在一本工作簿中将List数据写入多个excel表.与第一个列表一样,代码将创建新工作簿并为列表[1]创建新工作表,对于第二个列表,它将在现有工作簿中创建新工作表,依此类推.所以我写下面的代码.但它不起作用,我只能看到列表[1]的第一张表.有人可以帮我提供任何替代解决方案吗?
我写的下面的代码
ArrayList<List<String>> tempresultdata=this.getSummaryList();
HSSFWorkbook workbook = new HSSFWorkbook();
String fileName="Path\\To\\XLS";
File file = new File(fileName);
FileOutputStream out;
if(!file.exists()) // This will create new workbook with new sheet if it doesnt exists{
HSSFSheet mySheet = workbook.createSheet(sheetname);
writeExcel(mySheet,tempresultdata);
} else // This add new sheet to above created workbook {
try {
HSSFWorkbook myWorkBook = (HSSFWorkbook) WorkbookFactory.create(file);
workbook=myWorkBook;
HSSFSheet mySheet = (HSSFSheet) workbook.createSheet(sheetname);
writeExcel(mySheet,tempresultdata);
} catch (InvalidFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try{
out = new FileOutputStream(fileName,true);
workbook.write(out);
out.close();
}catch(Exception e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
谢谢,Priyank Shah
小智 8
如果文件不存在则此代码创建新文件并创建示例sheet1但如果文件存在则将新工作表添加到现有excel文件.
HSSFWorkbook workbook = null;
File file = new File(context.getExternalFilesDir(null), "Sample.xls");
FileOutputStream fileOut = new FileOutputStream(file);
if (file.exists()) {
try {
workbook = (HSSFWorkbook)WorkbookFactory.create(file);
} catch (InvalidFormatException e) {
e.printStackTrace();
}
HSSFSheet sheet = workbook.createSheet("Sample sheet2");
}
else{
workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sample sheet1");
}
workbook.write(fileOut);
fileOut.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58836 次 |
| 最近记录: |