Это было единственное решение, которое сработало для меня. Никто из обители не работал в «Open Office» и «Libre Office», где работают мои решения. И самое приятное, что если вы скопируете значение, оно не скопирует одинарную кавычку.

даю таблицу HTML, которая будет открыта в виде электронной таблицы в Excel. Какой тег HTML или стиль CSS можно использовать, чтобы «сказать» Excel отображать содержимое ячейки в виде текста?

Ответы на вопрос(7)

исловым форматом). В Excel выдается ошибка «Номер сохранен как текст», что в некоторых случаях может быть неудобно. Чтобы избежать этой проблемы, можно использовать символ ZERO WIDTH SPACE (& # 8203;) в начале поля.

 Gary03 февр. 2016 г., 20:23
Это единственная вещь, которая помогла мне заставить текст в ячейке. Предварительно добавили это к значению и BLAMO! Текст!
 TheStoryCoder26 нояб. 2015 г., 14:54
Оставляет невидимого персонажа, но выглядит лучше!
 user260581709 сент. 2018 г., 17:34
спасибо, это работает для меня (mso-number-format: "\ @"; / * принудительный текст * / НЕТ)
Решение Вопроса

текста, дат и т. Д.

Смотрите мой предыдущий ответ по этому вопросу:HTML в Excel: как настроить Excel для обработки столбцов как чисел?

(скорректированный фрагмент)

Если вы добавите CSS-класс на свою страницу:

.num {
  mso-number-format:General;
}
.text{
  mso-number-format:"\@";/*force text*/
}

И шлепнуть эти классы на вашем ТД, это работает?

<td class="num">34</td>
<td class="num">17.0</td>
<td class="text">067</td>
 Maor Barazany06 нояб. 2017 г., 13:39
блестящий и работает как шарм!
 pojomx05 авг. 2012 г., 01:33
сделал мой день тоже ... почти год спустя, чтобы найти это ... ха-ха Спасибо в любом случае :)
 squarecandy24 мар. 2012 г., 01:01
блестящий! важно для почтовых индексов, которые начинаются с 0
 Slai28 нояб. 2016 г., 14:36
Для тех, кто имеет специальные числовые форматы: вы можете сохранить файл Excel в.htm форматировать и искатьmso-number-format в сгенерированных файлах (или расширенный способ: скопируйте ячейку и получите HTML из буфера обмена). CSS также может быть встроен<td style='mso-number-format:"#,##0"'>2345</td>, но это может сделать файл больше.
 John19 янв. 2011 г., 21:16
Слишком долго искать Google для этого решения ... эти таблицы HTML, чтобы превзойти советы по работе с электронными таблицами, невозможно найти

Отформатируйте поле как текст, как описано в scunliffe. Это имеет проблему зеленого треугольника, как заявил Рапосо.

Используйте & # 8203; как описано Рапосо. Проблема в том, что значение на самом деле не является числом. Это может быть проблемой, если данные передаются в какую-либо систему для обработки.

Добавьте TD как <td> = "067" </ td>. Это та же проблема, что и № 2.

Добавьте TD как <td> = text (067, "000") </ td>. Это также имеет ту же проблему, что и № 2.

Используйте CSS-класс .text3 {mso-number-format: "000";} и добавьте этот класс в TD. Это мое предпочтительное решение, но у него есть проблема, требующая нескольких классов, если у вас есть числа разной длины. Если вы пишете свой заголовок, а затем просматриваете данные, вы должны добавить все возможные классы, прежде чем узнаете, какой из них вам понадобится. Но у этого есть то преимущество, что текст на самом деле является числом, а зеленый треугольник отсутствует.

Попробуйте добавить одинарную кавычку перед вашим значением:

'

Таким образом, ваша клетка станет

<td>'007</td>

Это было единственное решение, которое сработало для меня. Никто из обители не работал в «Open Office» и «Libre Office», где работают мои решения. И самое приятное, что если вы скопируете значение, оно не скопирует одинарную кавычку.

чтобы комментировать или голосовать, но ответ Рапозо мне очень помог. Наша система импортирует отчеты SSRS и запускает их в локальном режиме. Он сохраняет запрос (и) DataSet в базе данных и извлекает их во время выполнения. Однако для экспорта в Excel он просто запускает результирующие данные запроса в объект DataGrid и записывает их непосредственно в поток в виде HTML, устанавливая расширение .xls. Поместить решение Raposo в запрос DataSet отчета:

SELECT someColumn = '&#8203;' + someColumn 
FROM, etc.

и удалив его в выражении поля SSRS:

=Replace(Fields!someColumn.Value, "&#8203;", "")

это единственное, что я нашел, что работает. Спасибо!

неразрывный пробел: &nbsp; до значения<td> элемент.
Пример:<td>&nbsp;0:12:12.185</td>
Вместо:<td>0:12:12.185</td>

 Beqa Bukhradze16 февр. 2019 г., 13:27
лучшее решение, выше не работает спасибо
 Ramazan Binarbasi26 февр. 2019 г., 16:08
Спасли мою жизнь, спасибо :)

как показано ниже

HttpContext.Current.Response.Write("<style>  .txt " + "\r\n" + " {mso-style-parent:style0;mso-number-format:\"" + @"\@" + "\"" + ";} " + "\r\n" + "</style>");
HttpContext.Current.Response.Write("<Td class='txt'>&#8203;");
HttpContext.Current.Response.Write(Coltext);
HttpContext.Current.Response.Write("</Td>");

и у меня работает нормально

Ваш ответ на вопрос