在尝试电子表格来创建多个查询生成电子表格,下面的代码只生成一行数据,而不是整个电子表格:创建来自多个查询
<cfset filenametouse = 'Usage_Report' />
<cfset theDir = GetDirectoryFromPath(GetCurrentTemplatePath()) />
<cfset theFile = theDir & filenametouse & ".xls" />
<cflock name="fileActionSentItems" type="exclusive" timeout="30" throwontimeout="true">
<cfset SpreadsheetObj = spreadsheetNew()>
<cfset fcol = {}>
<cfset fcol.dataformat = "@">
<cfset SpreadsheetAddRow(SpreadsheetObj, "Part Number, Description, Allocated, On Hand, Pending Receipt, Job Count, Qty Needed, Qty Issued, Order Count, Qty Ordered, Qty Shipped")>
<cfoutput>
<cfset SpreadsheetAddRows(SpreadsheetObj,"#getParts.partnum#, #getParts.partdescription#, #getParts.allocated#, #getParts.onhand#, #receiptdata.recqty#, #jobdata.JobCount#, #jobdata.QtyNeeded#, #jobdata.qtySent#, #orderdata.ordercount#, #orderdata.ordered#, #orderdata.shipqty#")>
</cfoutput>
<cfset SpreadsheetFormatColumn(SpreadsheetObj,fcol,11)>
<cfspreadsheet action="write" filename="#theFile#" name="SpreadsheetObj" sheetname="Sheet1" overwrite="true" />
</cflock>
的spreadsheetAddRows不创建数据填充行。我没有正确地做什么?
这确实有帮助,但最后7列从查询以外的部分获取数据。我如何合并它们? – aparker81 2012-02-07 19:30:22
为什么不只是做一个JOIN并且在一个查询中提取所有需要的值?您可以通过调用两次SpreadsheetAddRows单独输出它们,每次查询一次,或者将两个查询拼接在一起,但只有在两个查询具有相同记录数时 - 才能以完全相同的顺序。否则,结果可能会错位。 – Leigh 2012-02-07 19:58:21
...或者做一个查询查询来获取所有的数据到一个查询对象中。 – ale 2012-02-07 20:07:47