Coldfusion cfspreadsheet无法向使用查询结果创建的对象添加行

Coldfusion cfspreadsheet无法向使用查询结果创建的对象添加行,coldfusion,coldfusion-10,cfspreadsheet,Coldfusion,Coldfusion 10,Cfspreadsheet,“excelFileQuery”包含一个查询 <cfset spreadsheetAddRows(s, excelFileQuery)> <cfset spreadsheetAddRows(s,"#volunteeralias# Export Report (#dateformat(now(),'mmmm d, yyyy')# at #timeformat(now(),'h:mm tt')#)",1,1)> <cfheader name="content-dispo

“excelFileQuery”包含一个查询

<cfset spreadsheetAddRows(s, excelFileQuery)>
<cfset spreadsheetAddRows(s,"#volunteeralias# Export Report (#dateformat(now(),'mmmm d, yyyy')# at #timeformat(now(),'h:mm tt')#)",1,1)>
<cfheader name="content-disposition" value="attachment; filename=myexcel.xlsx">
<cfcontent type="application/msexcel" variable="#spreadsheetReadBinary(s)#" reset="true">


但在生成文件时,将显示查询中的行,而不是第二行。我做错了吗

我不太确定您的目标,但需要一个查询或数组。因此,第二条语句应该以数组而不是字符串的形式传递。如果您喜欢使用字符串,则必须改用函数

如果您的目标是在查询结果之后追加最后一个字符串,那么首先将该字符串转换为数组。此外,删除行/列编号,以便将数据追加到查询结果后的第一个空行

<cfset spreadsheetAddRows(s, excelFileQuery)>
<cfset spreadsheetAddRows(s, ["#volunteeralias# Export Report (#dateformat(now(),'mmmm d, yyyy')# at #timeformat(now(),'h:mm tt')#)"] )>
...

...

如果您想在它前面加上前缀(作为标题),请执行相同的操作,但显然您需要交换这两个语句。

我不太确定您的目标,但需要一个查询或数组。因此,第二条语句应该以数组而不是字符串的形式传递。如果您喜欢使用字符串,则必须改用函数

如果您的目标是在查询结果之后追加最后一个字符串,那么首先将该字符串转换为数组。此外,删除行/列编号,以便将数据追加到查询结果后的第一个空行

<cfset spreadsheetAddRows(s, excelFileQuery)>
<cfset spreadsheetAddRows(s, ["#volunteeralias# Export Report (#dateformat(now(),'mmmm d, yyyy')# at #timeformat(now(),'h:mm tt')#)"] )>
...

...

如果要将其作为标题进行前置,请执行相同的操作,但显然需要交换这两条语句。

您可能会发现将额外数据附加到查询对象而不是电子表格中更容易。@DanBracuk yes。我是按照那个程序做的。但是我们只是想避免创建新的查询并在其中迭代数据,这样性能会更好。谢谢您的帮助。您可能会发现将额外的数据附加到查询对象而不是电子表格更容易。@DanBracuk yes。我是按照那个程序做的。但是我们只是想避免创建新的查询并在其中迭代数据,这样性能会更好。谢谢你的帮助。