0

CFScript を使用してスプレッドシートを作成および保存しています。ただし、SpreadsheetWriteファイルは生成されません。

<cfscript>
     ...
     ...
     ...
     spreadsheetWrite(sObj, yourSheet, "yes");
</cfscript>

エラーにはなりませんが、ファイルもありません。cfscript タグから Spreadsheetwrite を削除して使用すると、次のようになります。

<cfspreadsheet action = "write" fileName = "#yourSheet#" name = "sObj">

...ファイルは問題なく取得できます。

これは の使用目的ではありませんでしたSpreadsheetWrite()か? また、スプレッドシートをブラウザに直接出力することは可能cfdocumentですか?それとも、最初にファイルを保存する必要がありますか?

4

1 に答える 1

2

更新:相対パスを使用すると、予期しない場所にファイルが保存される可能性があります。推測ゲームがないように絶対パスを使用してください。)

これは、絶対パスを使用して機能します。

<cfscript> 
    yourSheet = "c:/myFile.xls";
    sObj = SpreadSheetNew("MySheet");
    SpreadsheetAddRow(sObj,"Foo,Bar",1,1); 
    SpreadSheetWrite(sObj, yourSheet, true);
    WriteOutput("Exists?= "& FileExists(yourSheet));
</cfscript>

ブラウザでスプレッドシートを表示するには、SpreadSheetReadBinary と cfcontent を使用します。もちろん、適切な MIME タイプとファイル拡張子を使用してください。

<cfheader name="Content-Disposition" value="attachment; filename=SomeFile.xls" />
<cfcontent type="application/vnd.msexcel" variable="#SpreadSheetReadBinary(yourSpreadSheetObject)#" />    
于 2011-07-07T18:27:27.157 に答える