如何使用jlx在Java中使用相同的Excel工作表编写数据循环?

时间:2016-12-05 00:05:10

标签: java arrays excel

我有一个代码产生10个结果,我需要将这些结果导出到Excel工作表的一列中。但是,代码仅显示最后第10行的最后一个结果。

鳕鱼显示在我需要在"标签记录"

下的同一列中得到R [i]的地方
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class GetResults{
public static void main(String[] args) throws BiffException, IOException, WriteException{
  int [] R = {1,2,3,4,5,6,7,8,9,10};
  for(int i=0; i<10; i++){
  WritableWorkbook wworkbook;
  wworkbook = Workbook.createWorkbook(new File("output.xls"));
  WritableSheet wsheet = wworkbook.createSheet("First Sheet", 0);
  Label label = new Label(0, 2, "A label record");
  wsheet.addCell(label);
  Number number = new Number(0, 3+i, R[i]);
  wsheet.addCell(number);
  wworkbook.write();
  wworkbook.close();
  }
 }
}

1 个答案:

答案 0 :(得分:1)

您正在重复创建新工作表并使用它覆盖以前的文件。因此,只有最后一次循环迭代的结果才能存活。

将工作表和文件创建移到循环之外。每次循环迭代都应该只将单元格添加到同一张单页中。

适当的缩进可能会使这更加明显。