В настоящее время у меня есть документ Excel с большим количеством форматирования (например, курсивом, полужирным шрифтом и подчеркиванием) в нескольких ячейках.Я создал пользовательское веб-приложение для копирования и вставки этих стилизованных данных, чтобы они могли оставаться стилизованными в пользовательском интерфейсе.
Сначала я подумал об использовании элемента <textarea/>
, но понял, что это не сохранитмоделирование.Проработав мой Google-Fu, я натолкнулся на то, как добавить атрибут contenteditable
, чтобы сказать <div>
, а затем пользователь может использовать команду + B для полужирного текста и т. Д. В базовой строке просто есть простые HTML-теги <b>
или <I>
, который отлично справляется со всем.Кроме того, казалось, что они могут копировать и вставлять из Excel, и это сохранит стиль.Эта идея была обнаружена здесь: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content
К сожалению, при копировании и вставке фактическая строка, которая хранится, содержит много разметки Excel (я думаю, xhtml) ... которая затем будет отправлена на сервер.и создаст много других проблем / хлопот.
ex:
This is going to be a big long text Item.
Somethings will be bold.
Other things will be italiciszed.
Lets see if when I copy it into the interface, we actually run into any issues….....
Я ожидал:
This is going to be a big long text Item.
<b>Somethings will be bold.</b>
<I>Other things will be italiciszed.</I>
Lets see if when I copy it into the interface, we actually run into any issues….....
Вместо этого я получил:
<style>
<!--table
{mso-displayed-decimal-separator:"\.";
mso-displayed-thousand-separator:"\,";}
@page
{margin:.75in .7in .75in .7in;
mso-header-margin:.3in;
mso-footer-margin:.3in;}
.font0
{color:black;
font-size:12.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Calibri, sans-serif;
mso-font-charset:0;}
.font5
{color:black;
font-size:12.0pt;
font-weight:700;
font-style:normal;
text-decoration:none;
font-family:Calibri, sans-serif;
mso-font-charset:0;}
.font6
{color:black;
font-size:12.0pt;
font-weight:400;
font-style:italic;
text-decoration:none;
font-family:Calibri, sans-serif;
mso-font-charset:0;}
tr
{mso-height-source:auto;}
col
{mso-width-source:auto;}
br
{mso-data-placement:same-cell;}
td
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:black;
font-size:12.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Calibri, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border:none;
mso-background-source:auto;
mso-pattern:auto;
mso-protection:locked visible;
white-space:nowrap;
mso-rotate:0;}
-->
</style>
<table border="0" cellpadding="0" cellspacing="0" width="87" style="width: 65pt;">
<colgroup><col width="87" style="width:65pt">
</colgroup><tbody><tr height="21" style="height:16.0pt">
<!--StartFragment-->
<td height="21" width="87" style="height:16.0pt;width:65pt">This is going to be a
big long text Item. <font class="font5">Somethings will be bold.</font><font class="font0"> </font><font class="font6">Other things will be italiciszed.
Lets see if when I copy it into the interface, we actually run into any
issues….....</font></td>
<!--EndFragment-->
</tr>
</tbody></table>
Я подумал, может быть, пытаясь разобрать сегмент между <StartFragment></EndFragment>
и затем пытаться удалить все «лишние» HTML-теги ... но потом я увидел, как комментарии стиля ссылаются на CSSпредметы наверху.У кого-нибудь есть элегантный способ производства того, что я ожидал?