coldfusion - 如何修复 cfspreadsheet 中存储为文本的数字

标签 coldfusion coldfusion-10 cfspreadsheet

我正在 cfspreadsheet (Coldfusion 10) 中制作 Excel 单元格格式作为数字,但是当它转换为 Excel 时,它会在单元格中显示警告

Number Stored as Text.

我可以知道如何解决这个问题吗?因为我需要数字格式。这是我的代码:

<cfscript> 
  theSheet = SpreadsheetNew("Order Details 1");
  SpreadsheetAddRow(theSheet, "NO,VENDOR, PART NUMBER, PART NAME, PSI, LEAD TIME, ,N-5, N-4, N-3,N-2, N-1, N, N+1, N+2, N+3, N+4, PACKING MONTH, PRODUCTION MONTH ,MONTH,YEAR",5,1);
  myFormat2=StructNew();
  myFormat2.bold=false;

  SpreadsheetFormatRow(theSheet,myFormat2,6);
  SpreadsheetAddRows(theSheet,getROW);
  SpreadsheetFormatColumn(theSheet,{dataformat="0"},5);
  SpreadsheetFormatColumn(theSheet,{alignment="right"},5);
  SpreadsheetFormatCellRange (theSheet,{font="Calibri"}, 7, 1, 2006, 17);
</cfscript>

根据评论更新:

示例查询值为50,数据类型为number。我的查询是这样的。

SELECT psi||'%' FROM  vendor 

我认为这是因为数据类型是数字并与 % 连接,这就是它存储为文本的原因。

最佳答案

Shawn said in the comments ,如果查询值包含“%”(或附加一个),则它不是数字。它是一个字符串,这就是它无法按预期工作的原因。

-- returns a string
SELECT  numericColumnName ||'%' FROM tableName

相反,查询应返回原始数值:

  SELECT  numericColumnName FROM tableName

然后使用 {dataformat='0"%"'} 设置电子表格单元格的格式。请注意嵌套引号,以防止 Excel 将值乘以 100 以使其成为百分比。

SpreadsheetFormatColumn(theSheet,{dataformat='0"%"'}, colNumber);

Runnable Example

更新:

But now when I tried to sum with other value from other cell lets say column E1=50% , column D1=8 it will come to 58 instead of 8.5

哦...这与仅用“%”显示 50 不同。听起来您确实希望单元格值为 0.50(而不是 50),但将其显示为 50%。为此,请将查询中的值除以 100。

 SELECT NumericColumnName / 100.0 AS NumericColumnName FROM tableName

然后将电子表格单元格格式设置为“0%”

 SpreadsheetFormatColumn(theSheet,{dataformat="0%"}, colNumber);

Runnable Example

关于coldfusion - 如何修复 cfspreadsheet 中存储为文本的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54087074/

相关文章:

coldfusion - 带有 ColdFusion 10/11 的 IIS 8/8.5 上的错误 500

coldfusion - 使用 CFSpreadsheet 应用条件格式

javascript - 如何使用 ColdFusion 将表单输入保存到 session 变量中?

jquery - 传递超过 1 个表单字段

html - ColdFusion 处理 HTML5 &lt;input type ="file"multiple ="multiple"/>

iis - ColdFusion/IIS/重定向限制?

coldfusion - 对于include_once,是否有相当于PHP 的ColdFusion?

coldfusion - 从 cfspreadsheet 返回的查询创建的查询没有正确的值

coldfusion - SpreadsheetFormatRows 格式颜色 ColdFusion

coldfusion - 如何访问多个单词的查询列?