0

我正在尝试获取查询结果并将其放入 CSV 文件中,然后通过电子邮件发送给用户。CSV 文件中的所有数据都是正确的,但由于某种原因,我也得到了 HTML 元素。这是我的代码:

<cffunction name="ledgerTest" access="remote" >

    <cfquery name="ledgerCheck" datasource="RBDMS_UPDATE">
     SELECT * FROM dbo.OOGNS_Schedules 
    </cfquery>
     <cfoutput>  
                <cfsavecontent variable="myCSV">

                    <div>
                        <table border="1"> 
                            <thead align="center">
                                <th>Job Key</th>
                                <th>INSPECTOR</th>
                                <th>PERMIT USER</th>
                                <th>START DATE</th>
                                <th>END DATE</th>
                            </thead>
                            <cfloop query="ledgerCheck">
                                <tr align="left">
                                    <td>#JobKey#</td>
                                    <td>#Inspector#</td>
                                    <td>#permitUser#</td>
                                    <td>#StartDate#</td>
                                    <td>#EndDate#</td>
                                </tr> 
                            </cfloop>
                        </table>
                    </div>

            </cfsavecontent>
          </cfoutput>  
                <cffile action="write" file="temp/ok.csv" output="#myCSV#" />

</cffunction>

这是生成的 CSV 文件(我涂黑了人们的电子邮件地址):

在此处输入图像描述

我认为问题可能与标签有关,因为没有它我无法从查询中获取数据。如果没有标签,CSV 文件只包含我的代码。然而,无论我将标签移动到哪里,结果都是一样的。

4

2 回答 2

0

您将 HTML 表格写入您调用的文件中.csv。这感觉很不对劲。您可以将其写入具有扩展名的文件.html并在 Excel 中打开它。当 Excel 解释 HTML 表时,这可能会起作用。如果你想要一个 CSV 文件,你应该根据需要编写数据。每列由;(分号)分隔,每行后有一个换行符#chr(13)##chr(10)#

<cfsavecontent variable="myCSV">                 
    <cfloop query="ledgerCheck">#JobKey#;#Inspector#;#permitUser#;#StartDate#;#EndDate##chr(13)##chr(10)#</cfloop>
</cfsavecontent>
于 2020-03-05T16:57:13.450 回答
0

唯一的问题是我使用的是 .csv。我将它从 ok.csv 更改为 ok.xls,它工作正常。

于 2020-03-05T17:03:57.030 回答