如何基于数组列表

时间:2017-10-30 13:04:38

标签: java excel arraylist apache-poi xssf

我正在尝试使用apache poi在新工作簿中创建工作表。

但是,我希望创建的表格是arraylist中的研究名称。

我不知道有多少研究,或者事先知道它们是什么。我无法设置它。

public static void addSheets() {
XSSFWorkbook finalizing = new XSSFWorkbook();
    for (int i = 0; i < studies.size(); i++) {
        finalizing.createSheet(studies.get(i));
    }

    makeWorkBook(finalizing);
}

我也试过

XSSFSheet firstSheet = finalizing.createSheet(studies.get(i));

而不是finalizing.createSheet

但是都没有工作。

我希望得到任何人的建议?

1 个答案:

答案 0 :(得分:0)

此代码对我有用:

public void createExcel(String filename){
    List<String> sheetNames = new ArrayList<String>();
    sheetNames.add("S1");
    sheetNames.add("S2");
    sheetNames.add("S3");
    try{
        File file = new File(filename);
        if(!file.exists()){
            file.createNewFile();
        }
        XSSFWorkbook workbook=new XSSFWorkbook();
        for(String sheetName: sheetNames){
            workbook.createSheet(sheetName);
        }
        FileOutputStream fileOut =  new FileOutputStream(filename);
        workbook.write(fileOut);
        fileOut.close();

    } catch ( Exception ex ) {
        System.out.println("Exception creating the excel file: " + ex.getMessage());
    }
}

请你能在方法makeWorkBook中添加你正在做的事情。似乎可能存在问题。

另外,请确保添加有效的工作表名称。

  • 该名称在单个工作簿中必须是唯一的。
  • 工作表名称不能超过31个字符。
  • 您可以使用所有字母数字字符,但不能使用以下特殊字符 字符:\,/,* ,? ,:,[,]。