我正在努力使用coldfusion将html表导出到excel。我已经成功导出了表,但我遇到了两个问题。
首先,我用来启动导出的提交按钮被发送到带有表数据的excel文件。有没有办法阻止发布的导出按钮显示在我的Excel电子表格中?
其次,打开excel文件时,我收到一条错误消息,指出“.xls'的文件格式和扩展名不匹配......”
如果有人知道这两个问题的解决方案,请分享。
由于
<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>
答案 0 :(得分:0)
您需要将表单放在if语句中:
<cfif NOT (structKeyExists(form, "nav") AND form.nav EQ "export")>
<form>
.................
.................
</form>
</cfif>
当用户选择将表格导出为Excel时,上述代码将确保表单(以及任何表单元素)不可用。