содержимое cfspreadsheet в ячейках на нескольких строках

Мы работаем с cfspreadsheet и имеем лист данных от клиента, который содержит содержимое, занимающее несколько строк в одной конкретной ячейке. Некоторое содержимое было отформатировано, поэтому часть содержимого выделена полужирным шрифтом, а часть содержимого состоит из нескольких строк.

Что мне интересно, так это... есть ли способ с помощью cfspreadsheet обрабатывать содержимое, состоящее из нескольких строк, и сохранять форматирование при его импорте в нашу базу данных? IE сохранить текст жирным шрифтом и разрывы строк? Или для этого потребуются регулярные выражения?

заранее спасибо


person user125264    schedule 29.10.2013    source источник
comment
Что произойдет, если прочитать содержимое ячейки с возвратом каретки в переменную, а затем записать обратно в ячейку?   -  person Dan Bracuk    schedule 29.10.2013


Ответы (1)


Вам не нужно делать ничего особенного для обработки многострочных значений ячеек. Любые разрывы строк внутри ячейки представлены как chr(10). Чтобы отобразить их на html-странице, просто замените chr(10) разрывом строки html:

#replace( theImportedCellValue, chr(10), "<br>", "all")#

Что касается форматирования, вы не можете извлечь информацию о форматировании ячеек с помощью встроенных тегов или функций. Вам нужно будет использовать базовую библиотеку POI для извлечения этой информации. Имейте в виду, электронные таблицы не сохраняют форматирование в формате html. Поэтому для перевода его в html-термины <b> или <strong> потребуется код низкого уровня.

Общий процесс будет включать в себя перебор отдельных ячеек и получение RichTextString для каждого из них. Затем перебираем все «прогоны форматирования» объекта, чтобы определить, где начинается и заканчивается полужирный текст.

person Leigh    schedule 29.10.2013