Страницы: 1
RSS
Конвертация текста в ячейке в html формат
 
Здравствуйте!
Подскажите, пожалуйста!
Есть большая таблица с описаниями. И эти описания нужно перевести в HTML формат в этой же таблице в соседний столбцец.
Как это можно сделать?
 
qwas72, есть множество решений на тему excel range to html,
например http://dailydoseofexcel.com/archives/2015/02/13/converting-an-excel-range-to-html-the-hard-way/
 
Думаю, нужно не совсем это,
а посимвольное считывание форматирования отдельных символов внутри ячейки, и формирование HTML на основании форматирования внутри ячейки
А это посложнее будет, и тут готовые решения мне не попадались
 
соглашусь с Игорь, но qwas72, Вы не хотете показать пример?
По вопросам из тем форума, личку не читаю.
 
Доброе время суток
Цитата
Игорь написал:
формирование HTML на основании форматирования внутри ячейки
Игорь, для одиночной ячейки можно воспользоваться примитивным переводом данных формата ячейки из XML в HTML (Владимир ZVI в своё время подсказал как это делается)
Код
Public Function CellTextToHtml(ByVal thisCell As Range) As Variant
    Dim pReg As Object, sText
    If thisCell.Count = 1 Then
        Set pReg = CreateObject("VBScript.RegExp")
        pReg.Pattern = "<ss:Data[^>]*>(.*?)</ss:Data>"
        sText = Replace$(Replace$(thisCell.Value(xlRangeValueXMLSpreadsheet), vbLf, " "), vbCr, " ")
        sText = pReg.Execute(sText)(0).SubMatches(0)
        CellTextToHtml = Application.Trim(Replace$(sText, "html:", ""))
    Else
        CellTextToHtml = CVErr(xlErrValue)
    End If
End Function

Примитивность здесь в том, что тэг Font в Html5 уже не поддерживается. Плюс, Replace$(sText, "html:", "") костыльно. Ну, или писать полноценный трасформер xslt. Получившийся Html вроде отображается в том же виде (ну, за исключением базового определения шрифта, конечно - это требует дополнения).
Скрытый текст
 
Цитата
БМВ написал:
соглашусь с  Игорь , но  qwas72 , Вы не хотете показать пример?
Показываю пример.
 
qwas72, Вы бы хоть одно "Описание HTML" заполнили вручную, а та что есть показали, а что надо - нет.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Так понятней?
 
qwas72, примерно так
Код
="<p>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;СИМВОЛ(10);"<br />"&СИМВОЛ(10));"®";"&reg;")&"</p>"

Почему <br /> а не <br> ?
Вставка ";" в конце нумерованных строк не относится к преобразованию в HTML, это обработка текста.
 
Казанский Спасибо!
 
Цитата
Казанский написал:
Почему  <br />
Так определено в стандарте xhtml, чтобы html удовлетворял требованиям к xml, правда, он не взлетел. Html5 эти требования игнорирует.
 
Андрей VG, спасибо.
 
а как можно сделать это наоборот? например внутри ячейки пишу html, а отображает как будет выглядеть на сайте.
ганж хаз бин оверед ундер брайн.
 
А наоборот сделать - в другой теме
Страницы: 1
Наверх