1

現在、CF バージョン 9.0.1 を使用していSpreadsheetAddImageますが、作成中のスプレッドシートに画像を適切に挿入する機能を取得するのに問題があります。エラー メッセージは表示されません。画像がスプレッドシートに表示されないだけです。また、画像を見つけたり返したりする際の問題も除外しました (cfimage writetobrowser 属性を使用してテストしました)。

また、スプレッドシートからすべてのデータと書式設定を取り除き、そのセルの内容を上書きするものを除外しました。画像付きの空白のスプレッドシートを取得できるかどうかを確認するためだけに。

以下のサンプルコードを参照してください。

<cfset sObj = SpreadsheetNew()>
<!--- <cfimage source="pathtomyimage.jpg" name="image"> --->
<cfset image_var = ImageRead("pathtomyimage.png")>

<cfset SpreadsheetAddRow(sObj, "")>
<cfset SpreadsheetAddImage(sObj,image_var,"png","1,1,1,1")>

...

<cffile action="readbinary" file="#dest_loc#" variable="export_file">
<cffile action="delete" file="#dest_loc#">

<cfheader name="Content-Disposition" value="inline; filename=#file_name#.xls">
<cfcontent type="application/vnd.msexcel" variable="#toBinary(export_file)#">

フィードバックをいただければ幸いです。ありがとう。

4

1 に答える 1

4

コードを実行したところ、anchor寸法が小さすぎると画像が表示されないことがわかりました。(SpreadSheetReadBinaryスプレッドシートをディスクに書き込む代わりに使用しましたが、違いはありません)。ドキュメントからこの例を試してください。画像が見える場合は、寸法に問題があることを示しています。これを修正するには、アンカーのサイズを大きくするか、画像関数を使用して画像のサイズを縮小します。

<cfchart format="png" name="image_var"> 
    <cfchartseries type="line"> 
        <cfchartdata item="Point1" value="-50"> 
        <cfchartdata item="Point2" value="-25"> 
        <cfchartdata item="Point3" value="1"> 
    </cfchartseries> 
</cfchart> 

<cfset sObj = SpreadsheetNew()>
<cfset SpreadsheetAddRow(sObj, "")>
<cfset SpreadsheetAddImage(sObj,image_var,"png","1,1,7,6")>
<cfheader name="Content-Disposition" value="inline; filename=testFile.xls">
<cfcontent type="application/vnd.msexcel" variable="#SpreadSheetReadBinary(sObj)#">
于 2013-07-18T22:03:30.013 に答える