我怎样才能确保我的Excel单元格将被视为一个string?

我正在使用Coldfusion来创build一个基本的Excel电子表格。 我生成一个表,然后使用以下代码将其转换为Excel:

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

“myExcel”variables包含一个HTML表格。

我的问题是,一些单元格包含值,如:281E47。 哪个Excel然后翻译成2.81E + 49。 我怎么能指定,在我的HTML表格,我希望这些值作为文本字面显示,而不是转换成数字?

我对ColdFusion并不熟悉,但是,您可以在Excel单元格中使用的一个技巧是在数据值前添加一个勾号(例如单引号)。 如果你这样做,该值将被视为一个string。 所以把281E47存放在你的桌子上。

虽然有很多人不喜欢它(某些人是专有的),但是请查阅mso-number-format。 当你build立你的表时,你可以设置单元格的格式,我在你的css中设置mso-number-format。

这里是一个将在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> 

对另一个线程的这个答案为我工作:

导出到Excel不能正确显示数字