但是如果我早一点找到它,这个解决方案会很有帮助。但是,这里有一个基本函数调用,它应该允许将任意数量的查询放入带有多个选项卡的excel工作表中 <cffunction name="QueriesToXLS" access="public">

但是如果我早一点找到它,这个解决方案会很有帮助。但是,这里有一个基本函数调用,它应该允许将任意数量的查询放入带有多个选项卡的excel工作表中 <cffunction name="QueriesToXLS" access="public"> ,excel,coldfusion,spreadsheet,Excel,Coldfusion,Spreadsheet,但是如果我早一点找到它,这个解决方案会很有帮助。但是,这里有一个基本函数调用,它应该允许将任意数量的查询放入带有多个选项卡的excel工作表中 <cffunction name="QueriesToXLS" access="public"> <cfargument name="queryArr" required="true"><!--- An Array of Query Objects ---> <cfargument name="s

但是如果我早一点找到它,这个解决方案会很有帮助。但是,这里有一个基本函数调用,它应该允许将任意数量的查询放入带有多个选项卡的excel工作表中

<cffunction name="QueriesToXLS" access="public">
    <cfargument name="queryArr" required="true"><!--- An Array of Query Objects --->
    <cfargument name="sheetNameArr" required="false"><!--- Optional sheet names to use instead of "Sheet1","Sheet2",... --->
    <cfset tempPath = GetTempDirectory() & CreateUuid() & ".xls"><!--- Creaete a Temp XLS File --->
    <cfset counter = 1>
    <cfloop array="#ARGUMENTS.queryArr#" index="i">
        <cfset sheetName = "Sheet#counter#">
         <cfif isDefined("ARGUMENTS.sheetNameArr")>
            <cfset sheetName = ARGUMENTS.sheetNameArr[counter]>
        </cfif>
        <cfspreadsheet action="update" filename="#tempPath#" query="i" sheetName="#sheetName#"/>
        <cfset counter += 1>
    </cfloop>
    <cfreturn SpreadsheetRead(tempPath)>
</cffunction>


<cfset xlsData = QueriesToXLS(
    [query1,query2],
    ["Details","Summary"]
)>

<cfheader name="content-disposition" value="attachment; filename=export.xls">
<cfcontent type="application/msexcel" variable="#spreadsheetReadBinary(xlsData)#" reset="true">


您正在使用哪个版本的ColdFusion?您正在使用哪个版本的ColdFusion?
<cffunction name="QueriesToXLS" access="public">
    <cfargument name="queryArr" required="true"><!--- An Array of Query Objects --->
    <cfargument name="sheetNameArr" required="false"><!--- Optional sheet names to use instead of "Sheet1","Sheet2",... --->
    <cfset tempPath = GetTempDirectory() & CreateUuid() & ".xls"><!--- Creaete a Temp XLS File --->
    <cfset counter = 1>
    <cfloop array="#ARGUMENTS.queryArr#" index="i">
        <cfset sheetName = "Sheet#counter#">
         <cfif isDefined("ARGUMENTS.sheetNameArr")>
            <cfset sheetName = ARGUMENTS.sheetNameArr[counter]>
        </cfif>
        <cfspreadsheet action="update" filename="#tempPath#" query="i" sheetName="#sheetName#"/>
        <cfset counter += 1>
    </cfloop>
    <cfreturn SpreadsheetRead(tempPath)>
</cffunction>


<cfset xlsData = QueriesToXLS(
    [query1,query2],
    ["Details","Summary"]
)>

<cfheader name="content-disposition" value="attachment; filename=export.xls">
<cfcontent type="application/msexcel" variable="#spreadsheetReadBinary(xlsData)#" reset="true">