这是我的代码。它存储一个输入值的结果。 我正在考虑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();
}
}
答案 0 :(得分:0)
在同一文件的不同工作表中打印多个输入值的结果,请尝试以下操作 在excel文件中为每个工作表写入工作表名称。 假设例如工作表名称为“testData”,
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheet("testData"); //Get worksheet of excel file
因此,获取相同文件的所有相应的不同工作表名称&写输出。