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

Query created from Query returned from cfspreadsheet not having proper values

今天我遇到了一个非常奇怪的案例,当时我从一个价差sheet 中读取一个值并尝试根据条件过滤它们并从过滤后的数据创建一个价差sheet。这是我的步骤

  1. 阅读Excelsheet

    <cfspreadsheet action="read" src="#local.sFilePath#"    excludeHeaderRow="true" headerrow ="1" query="local.qExcelData" sheet="1" />
    
  2. 创建馆藏查询

    <cfset local.columnNames = "LoanNumber,Product," />
    <cfset local.qSuccessData = queryNew(local.columnNames,"VarChar,VarChar") />
    
  3. 根据条件过滤 Excel 返回的查询,并将有效的查询添加到新的 Holding 查询中

    <cfloop query="local.qExcelData" >
            <cfif ListFind(local.nExceptionRowList,local.qExcelData.currentrow) EQ 0>
              <cfset queryAddRow(local.qSuccessData) />
              <cfset querySetCell(local.qSuccessData, 'LoanNumber', local.qExcelData['Loan Number']) />
              <cfset querySetCell(local.qSuccessData, 'Product', local.qExcelData['Product']) />
            </cfif>
    </cfloop>
    
  4. 创建新点差sheet

    <cfspreadsheet action="write" query="local.qSuccessData" filename="#local.sTempSuccessFile#" overwrite="true">
    

但是我在 excel sheet

中得到以下内容
Loannumber                           Product
coldfusion.sql.column@87875656we    coldfusion.sql.column@89989ER

请帮助解决这个问题。

我认为查询循环没有正确地将值映射到 Holding-Query。

请按如下方式修改您的循环:

<cfloop query="local.qExcelData" >
    <cfif ListFind(local.nExceptionRowList,local.qExcelData.currentrow) EQ 0>
      <cfset queryAddRow(local.qSuccessData) />
      <cfset querySetCell(local.qSuccessData, 'LoanNumber', local.qExcelData['Loan Number'][currentRow]) />
      <cfset querySetCell(local.qSuccessData, 'Product', local.qExcelData['Product'][currentRow]) />
    </cfif>
</cfloop>