Привет, у меня проблема. У меня есть файл Excel. Я восстановил данные из этого файла, затем я создал функцию для проверки наличия патча на другом листе или не все работает хорошо до ... тогда я хочуотображать перед каждым патчем «Да», если патч существует, иначе «нет», но проблема в том, что при создании выходного файла он отображает все патчи «нет», даже если патчи существуют
это код:
//Create Other rows and cells with data
for (int i = 0; i < patches.size(); i++) {
if (patches.get(i).getOrigin_Environment().endsWith("MT22")) {
Row roww = sheet_outputMT22.createRow(i+1);
roww.createCell(0).setCellValue(patches.get(i).getVaFxNumber());
roww.createCell(1).setCellValue(patches.get(i).getVaVersion());
roww.createCell(2).setCellValue(patches.get(i).getVaPackage());
roww.createCell(3).setCellValue(patches.get(i).getVaLevmat());
roww.createCell(4).setCellValue(patches.get(i).getOrigin_Environment());
roww.createCell(5).setCellValue(patches.get(i).getVaSrcCode());
roww.createCell(6).setCellValue(patches.get(i).getInstalled());
} else if (patches.get(i).getOrigin_Environment().endsWith("DV46")) {
Row rowww = sheet_outputDV46.createRow(i+1);
rowww.createCell(0).setCellValue(patches.get(i).getVaFxNumber());
rowww.createCell(1).setCellValue(patches.get(i).getVaVersion());
rowww.createCell(2).setCellValue(patches.get(i).getVaPackage());
rowww.createCell(3).setCellValue(patches.get(i).getVaLevmat());
rowww.createCell(4).setCellValue(patches.get(i).getOrigin_Environment());
rowww.createCell(6).setCellValue(patches.get(i).getVaSrcCode());
}
}
try {
FileOutputStream fileOut = new FileOutputStream("heroes_output.xls");
workbook_output.write(fileOut);
fileOut.close();
workbook_output.close();
LOGGER.log(Level.INFO, "Output excel file generated successfuly");
} catch (Exception e) {
// TODO: handle exception
LOGGER.log(Level.SEVERE, e.getMessage());
}
}
public static void initializeOutputFile() {
// Create outputWorkbook
sheet_outputMT22 = workbook_output.createSheet("MT22");
sheet_outputDV46 = workbook_output.createSheet("DV46");
// create row
Row headerRow = sheet_outputMT22.createRow(0);
Row headerRoww = sheet_outputDV46.createRow(0);
// Creating cells
for (int i = 0; i < columns.length; i++) {
Cell cell = headerRow.createCell(i);
Cell cellDv46 = headerRoww.createCell(i);
cellDv46.setCellValue(columns[i]);
cell.setCellValue(columns[i]);
}
// Resize all columns to fit the content size
for (int i = 0; i < columns.length; i++) {
sheet_outputMT22.autoSizeColumn(i);
sheet_outputDV46.autoSizeColumn(i);
}
}
// Create RF80 List
public static List<String> createRF80List(Sheet envARF80_sheet){
for (int rowNumberr = 2; rowNumberr <= envARF80_sheet.getLastRowNum(); rowNumberr++) {
HSSFRow row1 = (HSSFRow) envARF80_sheet.getRow(rowNumberr);
HSSFCell cell_NUMOD = row1.getCell(0);
Cell cell_NUMODI = row1.getCell(0);
if (cell_NUMODI == null) {
cell_NUMODI = new StreamingCell(4, row1.getRowNum());
}
double number1 = cell_NUMODI.getNumericCellValue();
String RF80CELL = new Double(number1).toString();
listRF80.add(RF80CELL) ;
}
return listRF80 ;
}
//Create Patches List
public static List<Patch> createPatches(Sheet validation_sheet) {
String ins;
for (int rowNumber = 2; rowNumber <= validation_sheet.getLastRowNum(); rowNumber++) {
HSSFRow row = (HSSFRow) validation_sheet.getRow(rowNumber);
HSSFCell cell = row.getCell(3);
HSSFCell cell2 = row.getCell(4);
HSSFCell cell3 = row.getCell(12);
if (cell != null && cell2 != null) {
// do something with the cell
if (cell.getStringCellValue().endsWith("Y") && cell2.getStringCellValue().endsWith("MT22") ) {
HSSFCell cell_vafxnumber = row.getCell(0);
HSSFCell cell_VaVersion = row.getCell(1);
HSSFCell cell_VaPackage = row.getCell(2);
HSSFCell cell_VaLevmat = row.getCell(3);
Cell cell_VaSrcCode = row.getCell(12);
if (cell_VaSrcCode == null) {
cell_VaSrcCode = new StreamingCell(12, row.getRowNum());
}
Cell cell_Origin_Environment = row.getCell(4);
if (cell_Origin_Environment == null) {
cell_Origin_Environment = new StreamingCell(4, row.getRowNum());
}
double number = cell_vafxnumber.getNumericCellValue();
String number_string = new Double(number).toString();
String VaVersion = cell_VaVersion.getStringCellValue();
String VaPackage = cell_VaPackage.getStringCellValue();
String VaLevmat = cell_VaLevmat.getStringCellValue();
String Origin_Environment = cell_Origin_Environment.getStringCellValue();
String VaSrcCode = cell_VaSrcCode.getStringCellValue();
String installed = verifExistingPatch(listRF80);
Patch patchh = new Patch(number_string, VaPackage, VaVersion, VaLevmat, Origin_Environment, VaSrcCode , installed);
patches.add(patchh);
}
}
}
return patches;
}
public static String verifExistingPatch(List<String> listRF80 ) {
String exist = "" ;
for(int i = 0 ; i<patches.size() ; i++) {
for(int j =0 ; j<listRF80.size() ; j++)
if(patches.get(i).getVaFxNumber().contains(listRF80.get(j))) {
exist = "Yes" ;
System.out.println(patches.get(i).getVaFxNumber() + " Le patche est installes " + exist) ;
}else if (!patches.get(i).getVaFxNumber().contains(listRF80.get(j))) {
exist="No";
}
}
return exist;
}