如何在不同的动态excel表中打印java输出

如何在不同的动态excel表中打印java输出,java,excel,apache-poi,Java,Excel,Apache Poi,这是我的密码。它存储一个输入值的结果。 我取x变量中的项数和y变量中的种子值。输入值来自一个excel文件。它工作正常,在另一个excel文件中显示输入值的结果。 但是现在我想显示多个输入值的结果,比如说5个术语和5个种子值。对于每个术语编号,它将获取其相应的种子值并在excel工作表中显示该系列,对于下一个值,它应在同一文件中显示结果,但在下一个工作表中。。。 此外,我保存文件为当前日期n时间…就像每次我运行的名称,如果文件将是当前日期n时间,这是很好的\ 唯一的问题是在同一文件的不同页中打印

这是我的密码。它存储一个输入值的结果。 我取x变量中的项数和y变量中的种子值。输入值来自一个excel文件。它工作正常,在另一个excel文件中显示输入值的结果。 但是现在我想显示多个输入值的结果,比如说5个术语和5个种子值。对于每个术语编号,它将获取其相应的种子值并在excel工作表中显示该系列,对于下一个值,它应在同一文件中显示结果,但在下一个工作表中。。。 此外,我保存文件为当前日期n时间…就像每次我运行的名称,如果文件将是当前日期n时间,这是很好的\ 唯一的问题是在同一文件的不同页中打印多个输入值的结果

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Iterator;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ReadFromXLSX {
    static float n1 = 0;
    static float x;
    static float y;

    static void fbc(float x) throws FileNotFoundException {
        {
            float n3;
            if (x > 0) {
                n3 = n1 + y;
                System.out.print(n3);
                System.out.println();
                n1 = y;
                y = n3;
                fbc(x - 1);
            }
        }
    }

    public static void readXLSXFile() throws IOException {
        InputStream ExcelFileToRead = new
                FileInputStream("C://temp/excelfile.xlsx");
        XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);
        XSSFWorkbook test = new XSSFWorkbook();
        XSSFSheet sheet = wb.getSheetAt(0);
        XSSFRow row;
        XSSFCell cell;
        Iterator rows = sheet.rowIterator();
        while (rows.hasNext()) {
            row = (XSSFRow) rows.next();
            Iterator cells = row.cellIterator();
            while (cells.hasNext()) {
                cell = (XSSFCell) cells.next();
                if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
                    x = Float.parseFloat(" " +
                            wb.getSheetAt(0).getRow(1).getCell(0) + " ");
                    y = Float.parseFloat(" " +
                            wb.getSheetAt(0).getRow(1).getCell(1) + " ");
                    DateFormat dateFormat = new SimpleDateFormat("MM_dd_yy--
                            HH_mm_ss");
                            Date today = Calendar.getInstance().getTime();
                    String date = dateFormat.format(today);
                    PrintStream printStream = new PrintStream(new
                            FileOutputStream(new File("C:\\temp\\" + date + ".xls")));
                    System.setOut(printStream);
                    System.out.println("The fibonacci series is as
                            follows:-");
                    fbc(x);

                    break;
                }
            }
            break;
        }
    }

    public static void main(String[] args) throws
            IOException {

        System.out.println("Program executed
                successfully !!");
        readXLSXFile();
    }
}

在同一文件的不同页中打印多个输入值的结果,请按以下步骤进行尝试 在excel文件中为每张工作表填写工作表名称。 例如,假设工作表名称为“testData”


因此,获取同一文件的所有对应的不同工作表名称并写入输出。

向我们展示您到目前为止所做的工作。@LakmalVithanage我已经用代码编辑了我的文章。任何帮助都将不胜感激
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheet("testData");  //Get worksheet of excel file