движок руля jsreport и рецепт xlsx: как заполнить ячейку цветом - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь заполнить ячейку "красным" или "зеленым" в зависимости от его значения; Это то, что я пробовал до сих пор:

{{#xlsxAdd 'xl/worksheets/sheet1.xml' "worksheet.conditionalFormatting"}}
    <conditionalFormatting sqref="G7:M7">
        <cfRule type="cellIs" dxfId="0" priority="1" operator="notBetween">
            <formula>{{productObj.min}}</formula>
            <formula>{{productObj.max}}</formula>
        </cfRule>
    </conditionalFormatting>
{{/xlsxAdd}}
{{#xlsxAdd 'xl/worksheets/sheet1.xml' "worksheet.conditionalFormatting"}}
    <conditionalFormatting sqref="G7:M7">
        <cfRule type="cellIs" dxfId="2" priority="1" operator="between">
            <formula>{{productObj.min}}</formula>
            <formula>{{productObj.max}}</formula>
        </cfRule>
    </conditionalFormatting>
{{/xlsxAdd}}

, но кажется, что условие notBetween всегда соответствует ячейке, но после того, как я загружаю файл, затем изменяю значение ячейки, условия начинают работать правильно.

Я не знаю, рассматривает ли отчет js мои цифры как strings, так как изменение значения после загрузки файла работает отлично.

- - ОБНОВЛЕНИЕ ---

Обнаружил эту проблему: https://github.com/jsreport/jsreport-html-to-xlsx/issues/7

Это была проблема с jsreport, он сам по себе для добавления ' перед моими номерами, который вызвал условную рендеринг провалиться. но все же я был бы признателен за правильный способ заполнить ячейку "НЕ" условным форматированием, поэтому я оставлю вопрос

--- END UPDATE ---

Я также пытался чтобы заполнить stati c цветом, но это не сработало:

 {{#xlsxReplace "xl/styles.xml" "styleSheet.fills"}}
    <fills count="5">
        <fill>
            <patternFill patternType="none"/>
        </fill>
        <fill>
            <patternFill patternType="lightGray"/>
        </fill>
        <fill>
            <patternFill patternType="solid">
                <fgColor rgb="FFBFBFBF"/>
                <bgColor rgb="FFBFBFBF"/>
            </patternFill>
        </fill>
        <fill>
            <patternFill patternType="solid">
                <fgColor rgb="FFFF0000"/>
                <bgColor rgb="FFFF0000"/>
            </patternFill>
        </fill>
        <fill>
            <patternFill patternType="solid">
                <fgColor rgb="FF00FF00"/>
                <bgColor rgb="FF00FF00"/>
            </patternFill>
        </fill>
    </fills>
{{/xlsxReplace}}
// then adding the cell like this:
 <c t="inlineStr" fillId="3" ><is><t>{{val}}</t></is></c>

, но все еще не выполняя работу, я даже попытался добавить dxfs вместо fills, если кто-то может помочь мне узнать что я делаю не так?!

...