Coldfusion 电子表格
我正在使用CFScript创建和保存电子表格。但是,Coldfusion 电子表格,coldfusion,cfspreadsheet,Coldfusion,Cfspreadsheet,我正在使用CFScript创建和保存电子表格。但是,SpreadsheetWrite没有生成文件 <cfscript> ... ... ... spreadsheetWrite(sObj, yourSheet, "yes"); </cfscript> ... ... ... 电子表格(sObj,你的表格,“是”); 它不会产生错误,但也没有文件。如果我从cfscript标记中删除spreadsheetwrite并使用: <
SpreadsheetWrite
没有生成文件
<cfscript>
...
...
...
spreadsheetWrite(sObj, yourSheet, "yes");
</cfscript>
...
...
...
电子表格(sObj,你的表格,“是”);
它不会产生错误,但也没有文件。如果我从cfscript标记中删除spreadsheetwrite并使用:
<cfspreadsheet action = "write" fileName = "#yourSheet#" name = "sObj">
。。。我很好地得到了文件
这不是
SpreadsheetWrite()
的预期用途吗?此外,是否可以像cfdocument
那样直接向浏览器生成电子表格,或者我必须先保存文件?(更新:使用相对路径,它可能会将文件保存到您不期望的地方。请使用绝对路径,这样就不会出现猜谜游戏。)
这对我来说是绝对路径
<cfscript>
yourSheet = "c:/myFile.xls";
sObj = SpreadSheetNew("MySheet");
SpreadsheetAddRow(sObj,"Foo,Bar",1,1);
SpreadSheetWrite(sObj, yourSheet, true);
WriteOutput("Exists?= "& FileExists(yourSheet));
</cfscript>
yourSheet=“c:/myFile.xls”;
sObj=电子表格新建(“MySheet”);
电子表格ADDROW(sObj,“Foo,Bar”,1,1);
电子表格写作(sObj,yourSheet,true);
WriteOutput(“存在?=”&FileExists(yourSheet));
要在浏览器中显示电子表格,请使用电子表格ReadBinary和cfcontent。显然,请使用适当的mime类型和文件扩展名
<cfheader name="Content-Disposition" value="attachment; filename=SomeFile.xls" />
<cfcontent type="application/vnd.msexcel" variable="#SpreadSheetReadBinary(yourSpreadSheetObject)#" />
您是否使用绝对文件路径?您好。不,是相对路径。有一次我遇到了一个“找不到指定的路径”错误,但一旦纠正了,我就没有得到一个文件。我甚至只是尝试将文件名转储到当前目录中,但什么也没有。使用相对路径,它可能会将文件保存到您不希望的位置。改用绝对路径。如果需要,请使用ExpandPath()。很好,我注意到Adobe的示例也使用绝对路径。使用expandPath工作得很好。