【发布时间】:2016-05-23 05:45:13
【问题描述】:
我有一个 Java 方法 writeToExcel(String sheetName, Map),它在一个新的 excel 文件中创建一个名为“sheetName”的新工作表,并将地图数据写入其中。当我多次调用具有不同 sheetName 参数的方法时,现有工作表将被最后一个调用的工作表替换。每当使用不同的 sheetName 参数调用该方法时,我都想在同一个 Excel 文件中创建新工作表,而不会丢失现有工作表。这是我的代码。
public static void writeToExcel(String fileName,Map<Integer,String[]> excelData){
String filePath="/Data/excel.xlsx";
XSSFWorkbook workbook=new XSSFWorkbook();
XSSFSheet sheet=workbook.createSheet(fileName);
Set<Integer> keySet=excelData.keySet();
int passedCount=0;
int failedCount=0;
int rowNo=0;
int cellNo=0;
Row row;
Cell cell;
try{
File file=new File(filePath);
FileOutputStream output=new FileOutputStream(file);
for(Integer key:keySet){
row=sheet.createRow(rowNo++);
String[] dataToWrite=excelData.get(key);
cellNo=0;
for(String str:dataToWrite){
cell=row.createCell(cellNo++);
cell.setCellValue(str);
}
}
workbook.write(output);
output.close();
workbook.close();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
【问题讨论】:
-
发布提供MCVE。请务必将您的代码复制粘贴到新项目,并确保在将其发布到此处之前编译并运行。
标签: java excel apache-poi