如何使用冷灌注创建xlsx文件 [英] how to create xlsx files using coldfusion

查看:168
本文介绍了如何使用冷灌注创建xlsx文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

免责声明:我刚入感冒。
我正在尝试创建具有图像和多个选项卡的Excel 2010文档。
我已经能够将其输出到XLS,但是我无法将图像存入文件。

Disclaimer: I am new into coldfusion. I am trying to create an Excel 2010 document with images and multiple tabs. I have been able to get this to output into XLS, but I cannot get the image into the file.

我无法找到完整的如何正确创建XLSx文件的示例。
我更喜欢学习正确的方式,并且开发自己的坏习惯,而不是仅仅是有不良习惯。

I have not been able to find a complete example of how to Properly create an XLSx file. I would prefer to learn the right way and develop my own bad habits later, rather than just have bad habits.

这里是一个例子:

<!--- Make CF export to Excel --->
<!--- This will create a XLS file --->
<!--- <cfheader name="Content-Disposition" value="attachment; filename=#URL.TRNo#_image.xls">
<cfcontent type="application/vnd.msexcel"> --->

<!--- This does not work to create an XLSX file --->
<cfheader name="Content-Disposition" value="inline; filename=#URL.TRNo#_image.xlsx">
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"> 

<cfparam name="URL.TRNo" default="AD0310">

<cfoutput>
    <?xml version="1.0"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
        <ss:Styles>
            <ss:Style ss:ID="Default" ss:Name="Normal">
                <ss:Font ss:Size="11" ss:FontName="Calibri"/>
            </ss:Style>
            <ss:Style ss:ID="Left">
                <ss:Alignment ss:Horizontal="Left"/>
            </ss:Style>
            <ss:Style ss:ID="Center">
                <ss:Alignment ss:Horizontal="Center"/>
            </ss:Style>
            <ss:Style ss:ID="Right">
                <ss:Alignment ss:Horizontal="Right"/>
            </ss:Style>
        </ss:Styles>


        <Worksheet ss:Name="#URL.TRNo# page 1">
            <ss:Table ss:DefaultColumnWidth="15" ss:DefaultRowHeight="15">
                <Row ss:Height="51"><!--- Start Row 1 --->
                    <Cell ss:Index="1" ss:MergeAcross="9">
                        <Data ss:Type="String">Final Test Report</Data>
                    </Cell>
                    <Cell ss:Index="11" ss:MergeAcross="10" ss:StyleID="Center">
                        <Data ss:Type="String"><!--- <img src="http://wwwdev.elmsweb.ford.com/elmsGEN3/SafetyLab/FMVSS/ReportWriter/img/fordLogo_transparent_small.png" height="68" width="181" alt="13"> ---></Data>
                    </Cell>
                    <Cell ss:Index="22" ss:MergeAcross="9" ss:StyleID="Right">
                        <Data ss:Type="String">Confidential</Data>
                    </Cell>
                </Row><!--- End Row 1 --->
                <Row/><!--- Row 2 Blank --->
                <Row><!--- Start Row 3 --->
                    <Cell ss:Index="1" ss:MergeAcross="1" ss:StyleID="Right">
                        <Data ss:Type="String">To:</Data>
                    </Cell>
                    <Cell ss:Index="3" ss:MergeAcross="12">
                        <Data ss:Type="String"></Data>
                    </Cell>
                    <Cell ss:Index="16" ss:MergeAcross="10" ss:StyleID="Right">
                        <Data ss:Type="String">Test Order:</Data>
                    </Cell>
                    <Cell ss:Index="27" ss:MergeAcross="4">
                        <Data ss:Type="String">#URL.TRNo#</Data>
                    </Cell>
                </Row><!--- End Row 3 --->
            </ss:Table>
        </Worksheet>
    </Workbook>
</cfoutput>


推荐答案

我建议使用内置的电子表格功能ColdFusion(第9版首次引入)。以下是 SpreadsheetNew功能的文档。如果将 xmlformat 参数设置为true,它将创建一个.xlsx文件。

I would suggest using the built-in spreadsheet functions of ColdFusion (first introduced in version 9). Here is the documentation for the SpreadsheetNew function. If you set the xmlformat parameter to 'true' it will create an .xlsx file.

有几个示例在网络上(和这里的SO)上如何使用这些ColdFusion功能。 Raymond Camden在这里有一个很好的例子如何生成电子表格并使用 cfcontent 标签将其直接传递给用户。 这是Raymond的另一个例子,建立在第一个例子中。

There are several examples on the web (and here on SO) of how to use these ColdFusion functions. Raymond Camden has a nice example here of how to generate a spreadsheet and deliver it directly to the user using the cfcontent tag. Here is another example from Raymond that builds on the first example.

这篇关于如何使用冷灌注创建xlsx文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆