Java 循环使用ApachePOI在excel中创建多个名称不同的行

Java 循环使用ApachePOI在excel中创建多个名称不同的行,java,apache-poi,Java,Apache Poi,目前,我有241行代码用于创建46行,并使用HSSFRow填充excel中每行的第一列。每一行都被命名,因此我可以稍后引用它,以便向该特定行添加更多列 我正在尝试创建一个循环,它将为我创建这些行,并为我保存200多行代码,这些代码读起来非常无聊。是否仍然可以使用循环动态命名和创建行 下面是我的一段代码,它工作得很好,但重复的次数却非常多。块之间唯一的区别(除了易于循环和更改的索引)是我用**表示的变量名: HSSFWorkbook workbook = new HSSFWorkb

目前,我有241行代码用于创建46行,并使用HSSFRow填充excel中每行的第一列。每一行都被命名,因此我可以稍后引用它,以便向该特定行添加更多列

我正在尝试创建一个循环,它将为我创建这些行,并为我保存200多行代码,这些代码读起来非常无聊。是否仍然可以使用循环动态命名和创建行

下面是我的一段代码,它工作得很好,但重复的次数却非常多。块之间唯一的区别(除了易于循环和更改的索引)是我用**表示的变量名:

        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet worksheet = workbook.createSheet("Ions");

    HSSFRow **name = worksheet.createRow((short) 0);
        HSSFCell **cellA1 = **name.createCell((short) 0);
        **cellA1.setCellValue("Name: ");



    HSSFRow **lot = worksheet.createRow((short) 1);
        HSSFCell **cellA2 = **lot.createCell((short) 0);
        **cellA2.setCellValue("Lot #: ");


       //..... This is done 46 more times!
我已经创建了一些数组,其中包含我想要作为变量名的字符串,但如果可能的话,我无法找到如何实现这些字符串。到目前为止,这是我所想的,它不起作用,但表明了我正在努力实现的想法:

String[] nameString = {"name", "lot",...etc};

String[] cells = new String[50];//cellA1-A46
            for(int i=0; i<46; i++){
                cells[i] = "cellA"+(i+1);
                System.out.print(cells[i] + ", ");
            }

String[] text = {"Name: ", "Lot #: ",...etc};


for(int i = 0; i < 46; i++){
  //creates row named from the index of nameString[].
HSSFRow nameString[i] = worksheet.createRow((short) i);
       //creates cell named from index of cells[].
    HSSFCell cells[i] = nameString[i].createCell((short) 0);
      //sets that created cell equal to the index of text[]
    cells[i].setCellValue(text[i]);
String[]nameString={“name”、“lot”、…etc};
字符串[]单元格=新字符串[50]//单元格A1-A46

对于(int i=0;i为什么您需要同时引用您创建的所有单元格?一旦您使用完一个单元格,请将该变量重新用于下一个单元格。如果您需要重新访问某个单元格,您可以随时从工作簿访问它--无需维护您自己的变量或数组。您知道我从来没有这样想过。我已经得到了在我添加到程序中之前,我会先在程序中添加每个单元格,然后再创建两次相同的变量。您刚刚为我节省了大量代码!谢谢Icardor。为什么您需要同时引用您创建的所有单元格?一旦您使用完一个单元格,请将该变量重新用于下一个单元格。如果您需要重新访问一个单元格,您可以我可以从工作簿中访问它--不需要维护自己的变量或数组。你知道我从来没有这样想过。我在添加到程序中之前,已经在程序中获取了每个单元格的数据,并且基本上创建了同一个变量两次。你刚刚为我节省了大量代码!谢谢你Icardor。