CFspreadsheet добавляет % для форматирования столбца

Я использую CF10 и пытаюсь добавить знак % в электронную таблицу.

У меня возникла проблема с добавлением знака % к записям 5-го столбца. (Только записи, начинающиеся со второй строки (не заголовка), а не пустые ячейки, когда запрос выполнен.

<cftry>

    <cfset objSpreadsheet = SpreadsheetNew()>
    <cfset assocRows = ''>

    <!--- Create and format the header row. --->
    <cfset SpreadsheetAddRow( objSpreadsheet, "Associate Name,Location,Checklists Generated by Associate,Checklists Generated by Selected Location(s),Associate Percentage of Location Total" )>

    <cfset rowNumber = 1 />
    <cfoutput query="GetEmployeeInfo">
        <cfset rowNumber++ />
        <cfset rowList = "'#(rnA eq 1)?assoc_name:''#','#(rnl eq 1)?trans_location:''#','#checklistsByAssocLoc#','#assocChecklistsByLoc#','#DecimalFormat(totalChecklistsByAssocLocPct)#'">
        <!--- Make list of rows --->
        <cfif (rnA eq 1)>
          <cfset assocRows = ListAppend(assocRows, rowNumber)>
        </cfif>
        <cfset SpreadsheetAddRow( objSpreadsheet, rowList)>
        <cfif rnTotAssoc EQ 1>
            <cfset rowNumber++ />
            <cfset rowList = "'Associate Total','','#totalChecklistsByAssoc#','#totalAssocChecklistsByAllFilteredLoc#','#DecimalFormat(totalChecklistsByLocPct)#'" >
            <cfset SpreadsheetAddRow( objSpreadsheet, rowList )>
        </cfif>
    </cfoutput>

    <cfset SpreadSheetSetColumnWidth(objSpreadsheet,1,25)> 
    <cfset SpreadSheetSetColumnWidth(objSpreadsheet,2,25)>
    <cfset SpreadSheetSetColumnWidth(objSpreadsheet,3,25)>
    <cfset SpreadSheetSetColumnWidth(objSpreadsheet,4,25)>
    <cfset SpreadSheetSetColumnWidth(objSpreadsheet,5,25)>
    <!--- Move the line here --->
    <cfset SpreadsheetFormatRow( objSpreadsheet, {bold=true, textwrap="true", alignment="center"}, 1 )>
    <cfloop list="#assocRows#" index="i">
      <cfset SpreadsheetFormatCell(objSpreadsheet, {'bold' : 'true'}, i, 1)>
    </cfloop>

    <cfheader name="Content-Disposition" value="inline; filename=CS_#Dateformat(NOW(),'MMDDYYYY')#.xls"> 
    <cfcontent type="application/vnd.ms-excel" variable="#SpreadsheetReadBinary( objSpreadsheet )#">

    <cfcatch type = "any">
        #rowList#
        <cfabort>
    </cfcatch>
</cftry>

Я попытался добавить: '#DecimalFormat(totalChecklistsByLocPct)# %'", после чего excel не знает правильного формата.

Потом попробовал: <cfset spreadsheetFormatCell( objSpreadsheet, {dataformat: "0.00%"}, 2 )>

Что потом просто через ошибку:

Ошибка проверки параметра для функции SPREADSHEETFORMATCELL.

Будем очень признательны за любую помощь в том, как добавить этот знак% в столбец 5 (а не в заголовок или пустые ячейки после остановки запроса).

ИЗМЕНИТЬ

Также пробовал:

<cfset rowList = "'#(rnA eq 1)?assoc_name:''#','#(rnl eq 1)?trans_location:''#','#checklistsByAssocLoc#','#assocChecklistsByLoc#','#NumberFormat(totalChecklistsByAssocLocPct, '0.00')# %'">

Excel по-прежнему выдает ошибку, говорящую о том, что он отформатирован как текст.


person David Brierton    schedule 26.10.2017    source источник
comment
Первое, что приходит мне в голову, это #numberformat(number, mask)# '%'.   -  person Dan Bracuk    schedule 26.10.2017
comment
@DanBracuk я что-то упустил в своем редактировании? Я все еще получаю проблему с форматом в excel   -  person David Brierton    schedule 26.10.2017
comment
Итак, лист заполняется, но Excel думает, что это текст? Это текст. Кстати, ваша маска числового формата может давать неожиданные результаты для таких значений, как 11,34.   -  person Dan Bracuk    schedule 26.10.2017
comment
В верхнем левом углу ячейки появляется маленькая зеленая штука, и когда вы щелкаете по ячейке, появляется восклицательный знак с надписью the number in this cell is formatted as text or preceded by an apostrophe.   -  person David Brierton    schedule 26.10.2017
comment
Может быть, у нас разные требования, потому что я бы просто принял это. Когда я экспортирую данные в Excel, я рассчитываю, что пользователь каким-то образом их отредактирует. В таком случае я не слишком забочусь о форматировании. Если пользователю это не нравится, он может изменить его.   -  person Dan Bracuk    schedule 26.10.2017
comment
лол, если бы мне было так легко. Если я уберу % и просто вставлю его, Excel все правильно примет. Я просто пытаюсь понять, как сделать его идеальным   -  person David Brierton    schedule 26.10.2017
comment
Какой номер столбца для значения, которое вы пытаетесь отобразить в формате "0.00%"?   -  person rrk    schedule 27.10.2017
comment
номер столбца 5   -  person David Brierton    schedule 27.10.2017
comment
'#DecimalFormat(totalChecklistsByAssocLocPct)#'" и '#DecimalFormat(totalChecklistsByLocPct)#'" находятся в этом столбце, кроме заголовка   -  person David Brierton    schedule 27.10.2017
comment
Попробуйте <cfset spreadsheetFormatColumn( objSpreadsheet, {dataformat: "0.00%"}, 5 )> после завершения циклов.   -  person rrk    schedule 27.10.2017
comment
он добавил %, но теперь десятичная часть была неправильной, и он добавил знак процента только для первых 33 из 73 строк.   -  person David Brierton    schedule 27.10.2017
comment
можно ли пройти через столбец 5 и игнорировать ошибки?   -  person David Brierton    schedule 27.10.2017