cfspreadsheet以d结尾的字母数字值

Dan*_*cuk 7 coldfusion excel cfml

<cfscript>
Workbook = Spreadsheetnew("Workbook");
SpreadSheetSetCellValue(WorkBook, "4D", 1, 1);
// displayed 4
SpreadSheetSetCellValue(WorkBook, "4C", 1, 2);
// displayed 4C
SpreadSheetSetCellValue(WorkBook, "4E", 1, 3);
// displayed 4E
SpreadSheetSetCellValue(WorkBook, "5C", 1, 4);
// displayed 5C
SpreadSheetSetCellValue(WorkBook, "5D", 1, 5);
// displayed 5
SpreadSheetSetCellValue(WorkBook, "4d", 1, 6);
// displayed 4
MYfile = "d:\dw\dwtest\dan\abc.xls";

</cfscript>
<cfspreadsheet action="write" filename="#MYFile#" name="Workbook"  
    sheet=1 overwrite=true>
Run Code Online (Sandbox Code Playgroud)

ColdFusion设置: 版本9,0,1,274733
版企业
操作系统Windows 2003
OS版本5.2

Excel版本 Office 2010版本14.0.6129.5000(32位).

如果您在系统上运行此代码,您会得到相同的结果吗?

更重要的是,如果你得到相同的结果,你知道怎么办吗?

编辑

检查其他有问题的字母:

RowNumber = 1;
for (i = 65; i <= 90; i++){
SpreadSheetSetCellValue(WorkBook, chr(i), RowNumber, 1);
SpreadSheetSetCellValue(WorkBook, "4#chr(i)#", RowNumber, 2);
RowNumber ++;
}
Run Code Online (Sandbox Code Playgroud)

字符串4F也仅显示数字.

Ada*_*ron 3

这里的问题是 POI 将 F 和 D 解释为 Java 具有的单/双精度后缀。请参阅此处的文档。

我想说这是 CF 的一个错误,因为 CFML 没有这些后缀的概念(或者实际上没有单精度或双精度浮点数的概念),因此它应该确保此类字符串在传递给 POI 时被视为字符串