(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 时表单(以及任何表单元素)不可用。
我正在努力让 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 时表单(以及任何表单元素)不可用。