mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-16 04:56:34 +00:00
4a8f2a8f0c
It currently always uses PHP_EOL, which, of course, works, but you get slightly different results in Windows and Unix. User can now set line ending to `\n` or `\r\n` to ensure consistent results regardless of environment. Default remains PHP_EOL. We already do this for CSV.
46 lines
1.6 KiB
PHP
46 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Writer\Tcpdf;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class MergedCellTest extends TestCase
|
|
{
|
|
public static function testMergedCell(): void
|
|
{
|
|
$spreadsheet = new Spreadsheet();
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
$target = 'A1:A2';
|
|
$sheet->mergeCells($target);
|
|
$sheet->setCellValue('A1', 'Planning');
|
|
$sheet->setSelectedCells('D1');
|
|
$sheet->setCellValue('A4', 'Edge');
|
|
$sheet->setShowGridlines(false);
|
|
$writer = new Tcpdf($spreadsheet);
|
|
$writer->setLineEnding("\n");
|
|
$html = $writer->generateHtmlAll();
|
|
$html = (string) preg_replace('/^\s+/m', '', $html);
|
|
$expectedArray = [
|
|
'<tr>',
|
|
'<td rowspan="2" style="vertical-align:bottom; color:#000000; font-family:\'Calibri\'; font-size:11pt; text-align:left; width:42pt">Planning</td>', // row 1 has cell
|
|
'</tr>',
|
|
'<tr>',
|
|
'<td> </td>', // row 2 with only merged cell
|
|
'</tr>',
|
|
'<tr>',
|
|
'<td style="width:42pt"> </td>', // row 3 no cell
|
|
'</tr>',
|
|
'<tr>',
|
|
'<td style="vertical-align:bottom; color:#000000; font-family:\'Calibri\'; font-size:11pt; text-align:left; width:42pt">Edge</td>', // row 4 has cell
|
|
'</tr>',
|
|
];
|
|
$expectedString = implode("\n", $expectedArray);
|
|
self::assertStringContainsString($expectedString, $html);
|
|
$spreadsheet->disconnectWorksheets();
|
|
}
|
|
}
|