Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ячейка содержит код HTML - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Ячейка содержит код HTML (Формулы/Formulas)
Ячейка содержит код HTML
Tomatos Дата: Вторник, 17.12.2019, 09:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день!
Вопрос следующий, если в ячейку вставить HTML код (через спец. вставку Текст в формате Unicode) <html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html>, то в ячейке теги отображаться не будут, а слово bold будет выделено жирным шрифтом. Проблема в том, что есть у меня шаблон и часть ячеек в нем заполнено именно с помощью HTML кода. Но как можно увидеть это в Excel? Сейчас сохраняю в формат XML и в нем теги html видны. Может есть какие то еще способы понять, содержит ли лист обычный текст или еще имеют место быть вставки кода HTML? Поиск в гугл особых результатов не дал
 
Ответить
СообщениеДобрый день!
Вопрос следующий, если в ячейку вставить HTML код (через спец. вставку Текст в формате Unicode) <html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html>, то в ячейке теги отображаться не будут, а слово bold будет выделено жирным шрифтом. Проблема в том, что есть у меня шаблон и часть ячеек в нем заполнено именно с помощью HTML кода. Но как можно увидеть это в Excel? Сейчас сохраняю в формат XML и в нем теги html видны. Может есть какие то еще способы понять, содержит ли лист обычный текст или еще имеют место быть вставки кода HTML? Поиск в гугл особых результатов не дал

Автор - Tomatos
Дата добавления - 17.12.2019 в 09:46
bmv98rus Дата: Вторник, 17.12.2019, 10:14 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Tomatos, не понятен вопрос. Вся структура листов с строится на XML и тегах
вот значение ячейки
[vba]
Код
    <Cell ss:StyleID="s62"><ss:Data ss:Type="String"
      xmlns="http://www.w3.org/TR/REC-html40"><Font html:Color="#000000">This is a test. Will this text be </Font><B><Font
        html:Color="#000000">bold</Font></B><Font html:Color="#000000"> or </Font><I><Font
        html:Color="#000000">italic</Font></I></ss:Data></Cell>
[/vba]

Получено оно так [vba]
Код
activesheet.cells(1,1).value( xlRangeValueXMLSpreadsheet )
[/vba] естесвенно я убрал лишнее. И оно отличается от того что вставлялось <html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html> и также будет выглядеть если ввести просто текст и отформатировать его руками инструментами excel.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 17.12.2019, 10:16
 
Ответить
СообщениеTomatos, не понятен вопрос. Вся структура листов с строится на XML и тегах
вот значение ячейки
[vba]
Код
    <Cell ss:StyleID="s62"><ss:Data ss:Type="String"
      xmlns="http://www.w3.org/TR/REC-html40"><Font html:Color="#000000">This is a test. Will this text be </Font><B><Font
        html:Color="#000000">bold</Font></B><Font html:Color="#000000"> or </Font><I><Font
        html:Color="#000000">italic</Font></I></ss:Data></Cell>
[/vba]

Получено оно так [vba]
Код
activesheet.cells(1,1).value( xlRangeValueXMLSpreadsheet )
[/vba] естесвенно я убрал лишнее. И оно отличается от того что вставлялось <html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html> и также будет выглядеть если ввести просто текст и отформатировать его руками инструментами excel.

Автор - bmv98rus
Дата добавления - 17.12.2019 в 10:14
Tomatos Дата: Вторник, 17.12.2019, 12:00 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus,
Есть Excel шаблон с метками для подмены значений, например [ПОЛЕ_1] и [ПОЛЕ_2] и метод который читает значение в ячейке, дак вот, метку [ПОЛЕ_1] этот метод читает, а [ПОЛЕ_2], которое вставлено с помощью HTML-кода, он прочитать не может. Как то визуально это в шаблоне не видно, увидел только отличие, когда сохранил в XML. Для того, что бы прочитать [ПОЛЕ_2] нужно использовать другой метод.
Поэтому и ищу способы увидеть, что ячейка создавалась с помощью вставки HTML-кода, а не простого ввода текста.
Похоже, это кто то развлекался из консультантов в далеком 2012 году, создавая шаблон, но стало интересно
 
Ответить
Сообщениеbmv98rus,
Есть Excel шаблон с метками для подмены значений, например [ПОЛЕ_1] и [ПОЛЕ_2] и метод который читает значение в ячейке, дак вот, метку [ПОЛЕ_1] этот метод читает, а [ПОЛЕ_2], которое вставлено с помощью HTML-кода, он прочитать не может. Как то визуально это в шаблоне не видно, увидел только отличие, когда сохранил в XML. Для того, что бы прочитать [ПОЛЕ_2] нужно использовать другой метод.
Поэтому и ищу способы увидеть, что ячейка создавалась с помощью вставки HTML-кода, а не простого ввода текста.
Похоже, это кто то развлекался из консультантов в далеком 2012 году, создавая шаблон, но стало интересно

Автор - Tomatos
Дата добавления - 17.12.2019 в 12:00
bmv98rus Дата: Вторник, 17.12.2019, 12:46 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Tomatos, файл с примером нет желания выложить и что хотите делать конкретно на примере показать.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеTomatos, файл с примером нет желания выложить и что хотите делать конкретно на примере показать.

Автор - bmv98rus
Дата добавления - 17.12.2019 в 12:46
Tomatos Дата: Вторник, 17.12.2019, 14:13 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus,
lv_cell_val = lo_cell->get_attribute( name = 'value' ). по каждой ячейке пробегается методом (это код ABAP) и для всех ячеек данный метод возвращает значение, которое записано в ячейке, например, для ячейки ( 2, 2 ) вернется значение [KNAAMRU]. Но когда происходит считывание значения в ячейке (7, 2) метод возвращает пусто, тогда как там содержится строка "Период: с [ПОЛЕ 02] г. по [ПОЛЕ 03] г.", которая и должна вернуться.

Если же читать ячейку ( 7, 2 ) методом
lo_cell->get_xml_element( EXPORTING name = 'html_data'
insert = ''
RECEIVING node = lo_html_data ). то значение выбирается. Методы указываю для наглядности, что визуально в шаблоне разницы между метками не видно, но по факту читать значение в ячейках нужно по разному
К сообщению приложен файл: Shablon.xlsx (9.5 Kb)


Сообщение отредактировал Tomatos - Вторник, 17.12.2019, 14:22
 
Ответить
Сообщениеbmv98rus,
lv_cell_val = lo_cell->get_attribute( name = 'value' ). по каждой ячейке пробегается методом (это код ABAP) и для всех ячеек данный метод возвращает значение, которое записано в ячейке, например, для ячейки ( 2, 2 ) вернется значение [KNAAMRU]. Но когда происходит считывание значения в ячейке (7, 2) метод возвращает пусто, тогда как там содержится строка "Период: с [ПОЛЕ 02] г. по [ПОЛЕ 03] г.", которая и должна вернуться.

Если же читать ячейку ( 7, 2 ) методом
lo_cell->get_xml_element( EXPORTING name = 'html_data'
insert = ''
RECEIVING node = lo_html_data ). то значение выбирается. Методы указываю для наглядности, что визуально в шаблоне разницы между метками не видно, но по факту читать значение в ячейках нужно по разному

Автор - Tomatos
Дата добавления - 17.12.2019 в 14:13
bmv98rus Дата: Вторник, 17.12.2019, 14:54 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Tomatos, Тут вопрос скорее не к excel
В указанных ячейках
<rs:data>
<z:row Col1="[KNAAMRU]"/>
</rs:data>
и
<rs:data>
<z:row Col1="Период: с [ПОЛЕ 02] г. по [ПОЛЕ 03] г."/>
</rs:data>

а вот как с этим работает Ваш парсер - это вопрос к парсеру.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеTomatos, Тут вопрос скорее не к excel
В указанных ячейках
<rs:data>
<z:row Col1="[KNAAMRU]"/>
</rs:data>
и
<rs:data>
<z:row Col1="Период: с [ПОЛЕ 02] г. по [ПОЛЕ 03] г."/>
</rs:data>

а вот как с этим работает Ваш парсер - это вопрос к парсеру.

Автор - bmv98rus
Дата добавления - 17.12.2019 в 14:54
Tomatos Дата: Среда, 18.12.2019, 08:43 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus,
Используя activesheet.cells(1,1).value( xlRangeValueXMLSpreadsheet ) получаю

<Cell ss:StyleID="m530690164"><Data ss:Type="String">[KNAAMRU]</Data></Cell>

и

<Cell ss:StyleID="m530690244"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">Период: с [ПОЛЕ 02]<Font
html:Color="#3366FF"> </Font><Font>г. по [ПОЛЕ 03] г.</Font></ss:Data></Cell>

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

Вопрос был в том, что визуально смотря на лист Excel я не вижу различий, пока не посмотрю на конкретную ячейку с помощью value( xlRangeValueXMLSpreadsheet ).
И возможно, со стороны Excel есть какая то стандартная настройка, позволяющая отобразить различия между ячейками, заполненными обычным текстом и HTML кодом.
Ваш вариант value( xlRangeValueXMLSpreadsheet ) меня полностью устраивает, за что Вам большое спасибо.
 
Ответить
Сообщениеbmv98rus,
Используя activesheet.cells(1,1).value( xlRangeValueXMLSpreadsheet ) получаю

<Cell ss:StyleID="m530690164"><Data ss:Type="String">[KNAAMRU]</Data></Cell>

и

<Cell ss:StyleID="m530690244"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">Период: с [ПОЛЕ 02]<Font
html:Color="#3366FF"> </Font><Font>г. по [ПОЛЕ 03] г.</Font></ss:Data></Cell>

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

Вопрос был в том, что визуально смотря на лист Excel я не вижу различий, пока не посмотрю на конкретную ячейку с помощью value( xlRangeValueXMLSpreadsheet ).
И возможно, со стороны Excel есть какая то стандартная настройка, позволяющая отобразить различия между ячейками, заполненными обычным текстом и HTML кодом.
Ваш вариант value( xlRangeValueXMLSpreadsheet ) меня полностью устраивает, за что Вам большое спасибо.

Автор - Tomatos
Дата добавления - 18.12.2019 в 08:43
bmv98rus Дата: Среда, 18.12.2019, 10:21 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Tomatos, рад что помогло, но учтите, форматирование ячейки средствами Excel, то есть выделение части символов жирным , цветом …. короче все что относится к тексту, также преобразуется в HTML теги.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеTomatos, рад что помогло, но учтите, форматирование ячейки средствами Excel, то есть выделение части символов жирным , цветом …. короче все что относится к тексту, также преобразуется в HTML теги.

Автор - bmv98rus
Дата добавления - 18.12.2019 в 10:21
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Ячейка содержит код HTML (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!