Редактировать расстояние не повторяется в листах в Excel - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь выяснить расстояние редактирования строк и столбцов, которое выглядит как именованные таблицы.Я могу достичь только для одного из столбцов, когда я пытаюсь повторить, что он дает мне те же значения, которые я не могу понять, где именно я делаю ошибку.

public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub

        File src = new File("C:\\Users\\coldisplay.xlsx");
        FileInputStream file = new FileInputStream(src);
        Workbook workbook = new XSSFWorkbook(file);
        Sheet sheet1 = workbook.getSheetAt(0);
        int rows = sheet1.getPhysicalNumberOfRows();

        for (int sheetNumber = 1; sheetNumber < rows; sheetNumber++) {
            String sheetName = sheet1.getRow(0).getCell(sheetNumber).getStringCellValue();
            workbook.createSheet();
            Sheet sheet2 = workbook.getSheetAt(sheetNumber);
            workbook.setSheetName(sheetNumber, sheetName);

            Row verticalRow = sheet2.createRow(0);

            for (int Readingrowindex = 1; Readingrowindex < rows; Readingrowindex++) {
                String ah = sheet1.getRow(Readingrowindex).getCell(1).getStringCellValue();
                sheet2.createRow(Readingrowindex).createCell(0).setCellValue(ah);
                verticalRow.createCell(Readingrowindex).setCellValue(ah);
            }

            for (int outIndex = 1; outIndex < rows; outIndex++) {
                for (int index = 1; index < rows; index++) {

                    String row10 = sheet2.getRow(outIndex).getCell(0).getStringCellValue();
                    String row01 = sheet2.getRow(0).getCell(index).getStringCellValue();
                    int len1 = row10.length();
                    int len2 = row01.length();
                    int[][] dp = new int[len1 + 1][len2 + 1];

                    for (int i = 0; i <= len1; i++) {
                        dp[i][0] = i;
                    }

                    for (int j = 0; j <= len2; j++) {
                        dp[0][j] = j;
                    }

                    for (int i = 0; i < len1; i++) {
                        char c1 = row10.charAt(i);
                        for (int j = 0; j < len2; j++) {
                            char c2 = row01.charAt(j);
                            if (c1 == c2) {
                                dp[i + 1][j + 1] = dp[i][j];
                            } else {
                                int replace = dp[i][j] + 1;
                                int insert = dp[i][j + 1] + 1;
                                int delete = dp[i + 1][j] + 1;
                                int min = replace > insert ? insert : replace;
                                min = delete > min ? min : delete;
                                dp[i + 1][j + 1] = min;
                            }
                        }
                    }
//                  System.out.println(row10 + "\t" + row01 + "\t" + dp[len1][len2]);
                    sheet2.getRow(outIndex).createCell(index).setCellValue(dp[len1][len2]);
                    FileOutputStream fout = new FileOutputStream(src);
                    workbook.write(fout);
                }
            }
        }

This is the main input file

I am able to acheive this when i click on PRODUCT_NAME but when I click on product_tracking number I am getting the same output as product_number I want something to get like [![I wnat this to be interated I dont know what I am missing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...