import org.apache.poi.hssf.usermodel.HSSFWorkbook; //导入方法依赖的package包/类
public void createFile(List> listList, File file) {
StringReader reader = new StringReader();
try {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet1 = workbook.createSheet("Cycle1");
// Heading
HSSFRow heading = sheet1.createRow(0);
for(int j = 0; j < listList.size();j++){
List list = new ArrayList(listList.get(j));
heading.createCell(0+j*13).setCellValue("DNA");
heading.createCell(1+j*13).setCellValue("LifeExpectancy");
heading.createCell(2+j*13).setCellValue("Height");
heading.createCell(3+j*13).setCellValue("Width");
heading.createCell(4+j*13).setCellValue("Speed");
heading.createCell(5+j*13).setCellValue("Flight");
heading.createCell(6+j*13).setCellValue("OptTemperature");
heading.createCell(7+j*13).setCellValue("NumOffspring");
heading.createCell(8+j*13).setCellValue("PairChance");
heading.createCell(9+j*13).setCellValue("Carnivorous");
heading.createCell(10+j*13).setCellValue("#Environment");
List uniqueDnaSequence = getAllDnaSequences(list);
for (int i = 0; i < uniqueDnaSequence.size(); i++) {
HSSFRow row = sheet1.getRow(i+1);
if(row == null){
row= sheet1.createRow(i+1);
}
int allelLength = properties.getAllelLength();
row.createCell(0+j*13).setCellValue(uniqueDnaSequence.get(i));
row.createCell(1+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 1, allelLength));
row.createCell(2+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 2, allelLength));
row.createCell(3+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 3, allelLength));
row.createCell(4+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 4, allelLength));
row.createCell(5+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 5, allelLength));
row.createCell(6+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 6, allelLength));
row.createCell(7+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 7, allelLength));
row.createCell(8+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 8, allelLength));
row.createCell(9+j*13).setCellValue(reader.readHexStringToInt(uniqueDnaSequence.get(i), 9, allelLength));
row.createCell(10+j*13).setCellValue(j);
}
sheet1.autoSizeColumn(0+j*11);
}
FileOutputStream out = new FileOutputStream(file);
workbook.write(out);
out.close();
workbook.close();
System.out.println("Files outputted to c:/EvolutionOutputs");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}