我创建了一个冷聚变页面,将客户端列表从MYSQL输出到CSV文件中,以便轻松上传到SalesForce.com。cfspreadsheet另存为.csv,Excel表示“FILE.csv的文件格式和扩展名不匹配”。
我可以生成包含所有正确信息的文件。但是,当我尝试用excel打开它时,出现以下错误: “SalesForceDailyLeads-20160613125138.csv”的文件格式和扩展名不匹配,文件可能损坏或不安全。打开它,你想不想打开它?“我可以打开它(excel for MAC),但在我看来,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(for mac)的问题吗?我可以修复它吗?
为了解决这个问题,请尝试使用CFFILE代替cfspreadsheet。 –
遇到意外行为时,通常需要重新检查[文档](https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-r-s/cfspreadsheet.html)。它似乎证实了你的怀疑:*“cfspreadsheet标签只写入XLS格式文件。要编写CSV文件,请将数据放入CSV格式的字符串变量中,并使用cffile标签将变量内容写入文件中。”* @ DanBracuk - 你应该把它作为答案。 – Leigh