Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Парсинг определенных столбцов


Автор: juchok 1.11.2012, 14:49
Подстажите, пожалуйста, как осуществить парсинг определенных столбцов в таблице, если изначально номер столбца неизвестен?
Есть таблица в Excel
user posted image
Нужно на основании заголовков в таблице принять решение парсить столбец или нет.
Если название столбца invisible, то его парсить не нужно. 
В результате парсинга и преобразования должна получиться такая таблица 
user posted image

Средствами Apache POI пытаюсь сделать так 
Код

int totalRows = sheet.getPhysicalNumberOfRows();
Element excelfileElement = document.addElement("excelfile");
        for (int i = 0; i < totalRows; i++) {
            Element catalogElement = excelfileElement.addElement("catalog");
            for (int j = 0; j < 4; j++) {  //4 столбца
                Row row = sheet.getRow(0);
                
                String columnNumber = ImportHelper.loadCellValue(row.getCell(j));
                if (columnNumber.equalsIgnoreCase("invisible")) {
                    break;
                } else if (columnNumber.equalsIgnoreCase("text")) {
                    Element textElement = catalogElement.addElement("text");
                    String text = ImportHelper.loadCellValue(row.getCell(j));
                    textElement.addText(text);
                }
                else if (columnNumber.equalsIgnoreCase("word")){
                    Element wordElement = catalogElement.addElement("word");
                    String word = ImportHelper.loadCellValue(row.getCell(j));
                    wordElement.addText(word);
                }
                else if(columnNumber.equalsIgnoreCase("visible")){
                    Element visibleElement = catalogElement.addElement("visible");
                    String visible = ImportHelper.loadCellValue(row.getCell(j));
                    visibleElement.addText(visible);
                }

            }


но ничего не выходит

Автор: Akina 1.11.2012, 15:05
Что в твоём понимании "парсинг"? ибо ты это слово явно понимаешь не так, как оно определено в словарях.

Автор: juchok 1.11.2012, 15:31
Цитата(Akina @ 1.11.2012,  15:05)
Что в твоём понимании "парсинг"? ибо ты это слово явно понимаешь не так, как оно определено в словарях.

Нужно считать значения из таблицы в Excel'е в XML-файл. Нужно считать все столбцы кроме одного, где написано hidden/
Конечная таблица уже после преобразования через XSLT в HTML, конечно, будет иметь другой вид. Я просто показал наглядно ЧТО должно остаться

Автор: Akina 1.11.2012, 15:43
Цитата(juchok @  1.11.2012,  16:31 Найти цитируемый пост)
Нужно считать значения из таблицы в Excel'е в XML-файл. Нужно считать все столбцы кроме одного, где написано hidden/

Считывают - извините, в память. В XML - экспортируют. Будьте любезны вести себя как специалист, и соблюдать абсолютную точность формулировок.

Первый вопрос - что мешает удалить (или скрыть) этот столбец в файле Экселя, после чего воспользоваться штатным сохранением в формат XML?

Автор: Lipetsk 1.11.2012, 15:55
Задумайтесь, у вас i не используется!

Автор: Akina 1.11.2012, 16:05
Цитата(Lipetsk @  1.11.2012,  16:55 Найти цитируемый пост)
 у вас i не используется!

А нафига его использовать?

Автор: juchok 1.11.2012, 16:30
Цитата(Akina @ 1.11.2012,  15:43)
Цитата(juchok @  1.11.2012,  16:31 Найти цитируемый пост)
Нужно считать значения из таблицы в Excel'е в XML-файл. Нужно считать все столбцы кроме одного, где написано hidden/

Считывают - извините, в память. В XML - экспортируют. Будьте любезны вести себя как специалист, и соблюдать абсолютную точность формулировок.

Первый вопрос - что мешает удалить (или скрыть) этот столбец в файле Экселя, после чего воспользоваться штатным сохранением в формат XML?

Буду стараться изо всех сил, к сожалению, насколько мне известно, специалистами, не рождаются и моментально ими не становятся, увы.

Есть задание - экспортировать данные в соответствии с заголовками таблицы, используя библиотеку Apache POI. 

Автор: baldina 1.11.2012, 16:45
Цитата(juchok @  1.11.2012,  14:49 Найти цитируемый пост)
Подстажите, пожалуйста, как осуществить парсинг определенных столбцов в таблице, если изначально номер столбца неизвестен?

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

Автор: Akina 1.11.2012, 17:22
Цитата(juchok @  1.11.2012,  17:30 Найти цитируемый пост)
Есть задание - экспортировать данные в соответствии с заголовками таблицы, используя библиотеку Apache POI. 

Есть там методы удаления столбца и экспорта в XML? Если есть (а я думаю - они имеются) - найдите столбец, не подлежащий парсингу (собсно необходимый код уже есть в первом посте), удалите его, экспортируйте остаток, после чего закройте книгу без сохранения изменений.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)