(Coldfusion)防止提交按钮被导出到 excel 和 table 数据

(Coldfusion) Prevent submit button from being exported to excel with table data

我正在努力让 html table 使用 coldfusion 导出到 excel。我已经 table 成功导出,但我 运行 遇到了 2 个问题。

首先,我用来启动导出的提交按钮被发送到包含 table 数据的 excel 文件。有没有办法阻止正在发布的导出按钮出现在我的 excel 电子表格中?

其次,当打开 excel 文件时,我收到一条错误消息,指出 "The file format and extension of '.xls' don't match..."

如果有人知道任何一个问题的解决方案,请分享。

谢谢

<cfsetting enablecfoutputonly="Yes">

<!---Navigation Logic--->
<cfif isdefined("form.nav")>
<cfswitch expression="#Form.nav#">

<cfcase value="export">
<cfcontent type="application/vnd.ms-excel">
<cfheader name="Content-Disposition" value="attachment; filename=Radio.xls">
</cfcase>

</cfswitch>
</cfif>

<cfoutput>
<table name ="radTable" id="radTable" class="radTable">
<tr><th>Sort</th><th>Date</th><th>Name</th><th>Volume Knob</th>
<th>Channel Knob</th><th>Antenna</th><th>Microphone</th>
<th>Microphone Clip</th><th>Battery</th><th>Battery Clip</th>
</tr>
<cfloop query="sqlRadio" startrow="#rowStart#" endRow="#rowEnd#">
<tr>
<td>#Sort#</td><td>#DateFormat(Date, "mm/dd/yyyy")#</td><td>#eName#</td>
<td>#vKnob#</td><td>#cKnob#</td><td>#Antenna#</td><td>#Microphone#</td>
<td>#mClip#</td><td>#Battery#</td><td>#bClip#</td>
</tr>
<tr><td colspan="10" style="text-align:left">Comments: #Comments#</td></tr>
</cfloop>
</table>
<form name="pageNav" action="results.cfm" method="post">
<input type="hidden" name="rowStart" value="#rowStart#">
<input type="hidden" name="rowEnd" value="#rowEnd#">
<input type="hidden" name="selRad" value="#radName#">
<input type="submit" name="nav" form="pageNav" value="<<">
<input type="submit" name="nav" form="pageNav" value="<">
<input type="submit" name="nav" form="pageNav" value=">">
<input type="submit" name="nav" form="pageNav" value=">>">
<input type="submit" name="nav" form="pageNav" value="export">
</form>
</cfoutput>

您只需将您的表单放入 if 语句中,如下所示:

<cfif NOT (structKeyExists(form, "nav") AND form.nav EQ "export")>
    <form>
       .................
       .................
    </form>
</cfif>

以上代码将确保当用户选择将 table 导出到 excel 时表单(以及任何表单元素)不可用。