Как я могу гарантировать, что моя ячейка Excel будет обрабатываться как строка? - PullRequest
2 голосов
/ 18 июля 2011

Я использую Coldfusion для создания базовой таблицы Excel. Я строю таблицу, а затем преобразовываю ее в Excel, используя следующий код:

<cfset fileName = "myFile.xls">
<CFHEADER NAME="Content-Disposition" VALUE="attachment; filename=#fileName#">
<cfcontent type="application/msexcel" reset="true">
<cfoutput>#myExcel#</cfoutput>

Переменная myExcel содержит таблицу HTML.

Моя проблема в том, что некоторые ячейки содержат такие значения, как: 281E47. Какой Excel затем переводит в 2.81E + 49. Как я могу указать в своей таблице HTML, что я хочу, чтобы эти значения отображались буквально в виде текста, а не преобразовывались в число?

Ответы [ 3 ]

1 голос
/ 18 июля 2011

Я не в курсе с ColdFusion, однако, один прием, который вы можете использовать с ячейками Excel, - это префикс значения данных с помощью галочки (например, одиночная кавычка). Если вы сделаете это, значение будет считаться строкой. Так что храните '281E47 в своей таблице.

0 голосов
/ 06 ноября 2011

Этот ответ в другой теме работал для меня:

Экспорт в Excel с неправильным отображением чисел

0 голосов
/ 19 июля 2011

Хотя многим людям это не нравится (для некоторых это совершенно неприемлемо), посмотрите формат mso-number-format.Когда вы создаете свою таблицу, вы можете установить формат ячейки my, установив mso-number-format в вашем css.

Вот пример, который сделает формат учета в Excel:

<cfcontent type="application/vnd.ms-excel">

<style>
    td.accountnum
      {mso-number-format:"_-$* #,##0.00_-;$* (#,##0.00_-);_-$* \" - \"??_-;_-@_-"}
</style>

</head>

<body>
<table>
<tr>
<td class="accountnum">-1</td>
<td class="accountnum">0</td>
<td class="accountnum">1</td>
</tr>
</table>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...