 c47b407e39
			
		
	
	
		c47b407e39
		
	
	
	
	
		
			
			Replace default gridlines with different style. Usable in PDF as well as HTML. Documentation mentioned use of setUseBOM with Html, but that method does not exist, and there is no real reason to support it. Removed it from documentation.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
 | |
| 
 | |
| use PhpOffice\PhpSpreadsheet\Shared\File;
 | |
| use PhpOffice\PhpSpreadsheet\Spreadsheet;
 | |
| use PhpOffice\PhpSpreadsheet\Writer\Html;
 | |
| use PhpOffice\PhpSpreadsheetTests\Functional;
 | |
| 
 | |
| class CallbackTest extends Functional\AbstractFunctional
 | |
| {
 | |
|     public function yellowBody(string $html): string
 | |
|     {
 | |
|         $newstyle = <<<EOF
 | |
| <style type='text/css'>
 | |
| body {
 | |
|     background-color: yellow;
 | |
| }
 | |
| </style>
 | |
| 
 | |
| EOF;
 | |
| 
 | |
|         return preg_replace('@</head>@', "$newstyle</head>", $html);
 | |
|     }
 | |
| 
 | |
|     public function testSetAndReset(): void
 | |
|     {
 | |
|         $spreadsheet = new Spreadsheet();
 | |
|         $sheet = $spreadsheet->getActiveSheet();
 | |
|         $sheet->setCellValue('A1', '1');
 | |
| 
 | |
|         $writer = new Html($spreadsheet);
 | |
|         $html1 = $writer->generateHTMLall();
 | |
|         $writer->setEditHtmlCallback([$this, 'yellowBody']);
 | |
|         $html2 = $writer->generateHTMLall();
 | |
|         $writer->setEditHtmlCallback(null);
 | |
|         $html3 = $writer->generateHTMLall();
 | |
| 
 | |
|         self::assertFalse(strpos($html1, 'background-color: yellow'));
 | |
|         self::assertNotFalse(strpos($html2, 'background-color: yellow'));
 | |
|         self::assertFalse(strpos($html3, 'background-color: yellow'));
 | |
|         self::assertEquals($html3, $html1);
 | |
| 
 | |
|         $writer->setEditHtmlCallback([$this, 'yellowBody']);
 | |
|         $oufil = tempnam(File::sysGetTempDir(), 'phpspreadsheet-test');
 | |
|         $writer->save($oufil);
 | |
|         $html4 = file_get_contents($oufil);
 | |
|         unlink($oufil);
 | |
|         self::assertNotFalse(strpos($html4, 'background-color: yellow'));
 | |
| 
 | |
|         $this->writeAndReload($spreadsheet, 'Html');
 | |
|     }
 | |
| }
 |