使用Replace和coldfusion cfsavecontent将HTML表写入现有的MS Word文档

时间:2016-11-21 15:42:41

标签: replace coldfusion ms-word html-table

我正在使用替换功能使用word文档中的占位符替换数据。我正试着用桌子做同样的事情。我可以将包含表格的页面输出到MS Word,但是当我使用cfsavecontent并尝试替换现有文档时,它不起作用。

代码:

<cfsavecontent variable="rosterTb">
<table border='2' style='width:75%'>  
    <thead>
        <caption><cfoutput><cfif Dept NEQ "">#Dept#:</cfif> Sales Roster</cfoutput><caption>
        <tr>
            <cfloop list='#ArrayToList(qGetEmpData.getColumnNames())#' index='col' >
                <cfif col NEQ "ID">
                    <cfset col = ReplaceNoCase(#col#,"_", " ","all")>
                    <th><cfoutput>#col#</cfoutput></th>
                </cfif>
             </cfloop>
        </tr>
    </thead>
    <tbody>
        <cfloop query = "qGetTableFldList">
        <cfset total = total + #qGetTableFldList.Total#>
        <tr>
            <cfloop list='#ArrayToList(qGetEmpData.getColumnNames())#' index='col' >
                <cfif col NEQ "ID">
                <td>
                    <cfif IsNumeric(qGetEmpData[col][currentrow])>
                         <center>
                             <cfoutput>#qGetEmpData[col][currentrow]#</cfoutput>
                         </center>
                    <cfelse>
                             <cfoutput>#qGetEmpData[col][currentrow]#</cfoutput>
                    </cfif>
                </td>
                </cfif>
            </cfloop>
        </tr>
        </cfloop>
        <cfset x = 1>
        <cfset trtdcolspan = "<tr><td><b>Total Count:</b></td><td colspan = #x#>">
        <center>
            <cfoutput>#trtdcolspan#Total#</td></tr></cfoutput></center>
    </tbody>
</table>
</cfsavecontent> 
<cfset rtf = Replace(rtf,'%rTable%','#rosterTb#',"one") />

%rTable%是文档中我希望放置表格的占位符。

这是word文档中的结果:

<table border='2' style='width:75%'>
    <thead>
        <caption>Sales: Roster</caption>
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
            </tr> 
    </thead> 
    <tbody>
        <tr>
            <td>Richard</td> 
            <td>Smith</td>
        </tr>
        <center>
        <tr> 
            <td><b>Total Count:</b></td>
            <td colspan = 1>6</td>
        </tr>
        </center>
    </tbody>
</table>

我也尝试将表设置为变量,但它似乎不喜欢循环或列名的索引。

<tableborder='2'style='width:75%'>
     <thead>
          <caption>
             <cfoutput><cfif  Dept NEQ  ''>Dept:</cfif>Roster</cfoutput>
          </caption>
          <tr>
             <cflooplist='ID,First Name,Last Name 'index='col'>
                 <cfif col NEQ 'ID'>
                     <th>
                         <cfoutput>First Name</cfoutput>
                     </th>
                 </cfif>
             </cfloop> 
          </tr>
     </thead>
  <tbody>
      <cfloopquery='qGetTableFldList'>
      <cfset total=total+6>
          <tr>
              <cflooplist='ID,FirstName,LastName 'index='col'>
                  <cfif col NEQ 'ID'>
                      <td>
                          <cfif  IsNumeric(qEmpData[col][currentrow])>
                              <center>qEmpData[col][currentrow]</center>
                          <cfelse>
                              qEmpData[col][currentrow]
                          </cfif>
                      </td>
                  </cfif>
              </cfloop>
          </tr>
      </cfloop>
      <cfset x=1>
          <center>
              <cfoutput>
                  <tr>
                       <td><b>Total Count:</b></td><tdcolspan=15>0</td>
                  </tr>
              </cfoutput>
          </center>
    </tbody>
</table>

我非常感谢任何帮助。

0 个答案:

没有答案