for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
use PhpOffice\PhpSpreadsheet\Shared\File;
use PhpOffice\PhpSpreadsheet\Writer\Html as HtmlWriter;
use PHPUnit\Framework\TestCase;
class HtmlTestDifferentConditionalFormattings extends TestCase
{
private string $outfile = '';
protected function tearDown(): void
if ($this->outfile !== '') {
unlink($this->outfile);
$this->outfile = '';
}
public function testColourScaleHtmlOutput(): void
$this->outfile = File::temporaryFilename();
$file = 'tests/data/Writer/Html/HtmlTestDifferentConditionalFormattings.xlsx';
$reader = new XlsxReader();
$spreadsheet = $reader->load($file);
$writer = new HtmlWriter($spreadsheet);
$writer->setConditionalFormatting(true);
$file = 'zip://';
$file .= $this->outfile;
$file .= '#xl/styles.xml';
$data = str_replace(["\r", "\n"], '', $writer->generateHtmlAll());
$expected = ' <table border=\'0\' cellpadding=\'0\' cellspacing=\'0\' id=\'sheet0\' class=\'sheet0 gridlines\'> <col class="col0" /> <col class="col1" /> <col class="col2" /> <col class="col3" /> <col class="col4" /> <col class="col5" /> <col class="col6" /> <tbody> <tr class="row0"> <td class="column0 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">1</td> <td class="column1 style1 n">2</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style1 n">1</td> <td class="column5 style1 n">2</td> <td class="column6 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">3</td> </tr> <tr class="row1"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row2"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row3"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row4"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row5"> <td class="column0 style2 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">2025/01/01</td> <td class="column1 style2 n">2020/01/01</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row6"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve vaan</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style1 n">1</td> <td class="column6 style0"> </td> </tr> <tr class="row7"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s">terve vaan</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style1 n">2</td> <td class="column6 style0"> </td> </tr> <tr class="row8"> <td class="column0 style3 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">#DIV/0!</td> <td class="column1 style1 s">moi</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style1 n">3</td> <td class="column6 style0"> </td> </tr> <tr class="row9"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">moi</td> <td class="column1 style3 s">#DIV/0!</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">4</td> <td class="column6 style0"> </td> </tr> <tr class="row10"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column1 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">terve</td> <td class="column2 style1 s">moi</td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row11"> <td class="column0 style1 s" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">moi</td> <td class="column1 style1 s">terve</td> <td class="column2 style1 s">terve</td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> <tr class="row12"> <td class="column0 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#000000;font-family:\'Arial\';font-size:11pt;background-color:#B7E1CD;">12</td> <td class="column1 style1 n">10</td> <td class="column2 style0"> </td> <td class="column3 style0"> </td> <td class="column4 style0"> </td> <td class="column5 style0"> </td> <td class="column6 style0"> </td> </tr> </tbody></table>';
self::assertStringContainsString($expected, $data, 'colour scale');
$spreadsheet->disconnectWorksheets();