使用Coldfusion SpreadsheetWrite和cfscript创建多个工作表

Gre*_*reg 2 coldfusion

我想使用CF9,SpreadsheetWrite和cfscript创建一个包含两张表的excel文件.就像是:

var data= spreadsheetNew( 'data' );
var key= spreadsheetNew( 'key');
spreadsheetAddRow( data, dataInfo );
spreadsheetAddRow( key, keyInfo );      
spreadsheetWrite( data, filePath );
spreadsheetWrite( key, filePath );
Run Code Online (Sandbox Code Playgroud)

我找不到解释如何在一个文件中组合多个工作表的文档.这是我发现的.

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSe9cbe5cf462523a0-7b585809122c5a12c54-7fff.html

它声明可以"将多个工作表写入单个文件".但这是否意味着一次不止一张.您可以使用标签完成此操作,但我需要使用cfscript.

<cfspreadsheet action="update"  filename = "filePath" sheetname = "key" > 
Run Code Online (Sandbox Code Playgroud)

如何使用cfscript编写上述基于标记的调用?

Lei*_*igh 5

是的,从文档中不太清楚.SpreadsheetNew使用单个工作表创建工作簿.要添加其他工作表,请使用SpreadSheetCreateSheet函数.在您可以操作新工作表之前,必须使用SpreadSheetSetActiveSheet激活.以下是使用两个工作表创建工作簿的快速示例:

<cfscript>
    // Create new workbook with one worksheet. 
    // By default this worksheet is active
    Workbook = SpreadsheetNew("Sheet1");
    // Add data to the currently active sheet
    SpreadSheetAddRow(Workbook, "Apples");
    SpreadSheetAddRow(Workbook, "Oranges");


    //Add second worksheet, and make it active
    SpreadSheetCreateSheet(Workbook, "Sheet2");
    // Add data to the second worksheet
    SpreadSheetSetActiveSheet(Workbook, "Sheet2");
    SpreadSheetAddRow(Workbook, "Music");
    SpreadSheetAddRow(Workbook, "Books");

    //Finally, save it to a file
    SpreadSheetWrite(Workbook, "c:/path/to/yourFile.xls", true);
</cfscript>
Run Code Online (Sandbox Code Playgroud)

旁注,我不推荐使用<cfspreadsheet action="update">.最后我记得有点儿马车.