【发布时间】:2016-10-14 05:20:06
【问题描述】:
我创建了一个冷融合页面,用于将 MYSQL 中的客户列表输出到 CSV 文件中,以便轻松上传到 SalesForce.com
我可以生成包含所有正确信息的文件。但是,当我尝试用 excel 打开它时,我得到了错误: “'SalesForceDailyLeads-20160613125138.csv' 的文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非您信任其来源,否则不要打开它。仍然要打开它吗?”我可以打开它(MAC 的 Excel),但在我看来,CFSpreadsheet 没有创建合法的 .csv 文件,而是制作了 xlsx。
<cfset FileCSV = "SalesForceDailyLeads-#dateformat(getBatch.BATCH,"yyyymmdd")##timeformat(getBatch.BATCH,"HHmmss")#.csv" >
<cfset filename = "/SF/#fileCSV#">
<cfset s = spreadsheetNew() >
<cfset spreadsheetAddRow(s, "FIRST, LAST, MIDDLE, STREET, CITY, ZIP, STATE")>
<cfinclude template="SFgetList.cfm">
<cfset spreadsheetAddRows(s, getList)>
<cfspreadsheet
action="write"
overwrite = "true"
format ="csv"
name ="s"
filename ="#filename#"
>
如果我制作 XLS 文件,我不会遇到像 CSV 那样的问题。这是代码、CFSpreadsheet 或 excel(对于 mac)的问题吗?我可以修复它吗?
【问题讨论】:
-
要修复它,请尝试使用 cffile 而不是 cfspreadsheet。
-
遇到意外行为时,通常最好重新检查the documentation。这似乎证实了您的怀疑:“cfspreadsheet 标签只写入 XLS 格式文件。要写入 CSV 文件,请将您的数据放入 CSV 格式的字符串变量中,然后使用 cffile 标签将变量内容写入文件。” @DanBracuk - 你应该把它作为答案发布。
标签: coldfusion coldfusion-10 cfml railo cfspreadsheet