使用 phpspreadsheet 在单元格中设置不同的颜色,它会在 android 和 Mac 上得到错误样式
Use the phpspreadsheet to set different colors in a cell, it will get error style on android and Mac
我使用以下代码在单元格中设置不同的颜色并导出它
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$rich_text = new RichText();
$rich_text->createText("P\n");
$text_run = $rich_text->createTextRun("A\n");
$text_run->getFont()->setColor( new \PhpOffice\PhpSpreadsheet\Style\Color( \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_GREEN ) );
$text_run = $rich_text->createTextRun("N\n");
$text_run->getFont()->setColor( new \PhpOffice\PhpSpreadsheet\Style\Color( \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED ) );
$spreadsheet->getActiveSheet()->getCell('A1')->setValue($rich_text);
$sheet->getStyle('A1')->getAlignment()->setWrapText(true);
$obj_writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$obj_writer->save(dirname(__FILE__) . '/test.xlsx');
但是在不同的系统打开文件,我得到不同的结果,例如:
在windows中,看起来很正常:
enter image description here
在移动端(我只是尝试在android中打开它),不显示彩色富文本:
enter image description here
在 Mac 中,彩色富文本有删除线:
enter image description here
所以,是不是因为格式兼容?我需要设置什么吗?
我终于用了两个单元格来显示不同颜色的内容
我使用以下代码在单元格中设置不同的颜色并导出它
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$rich_text = new RichText();
$rich_text->createText("P\n");
$text_run = $rich_text->createTextRun("A\n");
$text_run->getFont()->setColor( new \PhpOffice\PhpSpreadsheet\Style\Color( \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_GREEN ) );
$text_run = $rich_text->createTextRun("N\n");
$text_run->getFont()->setColor( new \PhpOffice\PhpSpreadsheet\Style\Color( \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED ) );
$spreadsheet->getActiveSheet()->getCell('A1')->setValue($rich_text);
$sheet->getStyle('A1')->getAlignment()->setWrapText(true);
$obj_writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$obj_writer->save(dirname(__FILE__) . '/test.xlsx');
但是在不同的系统打开文件,我得到不同的结果,例如:
在windows中,看起来很正常: enter image description here
在移动端(我只是尝试在android中打开它),不显示彩色富文本: enter image description here
在 Mac 中,彩色富文本有删除线: enter image description here
所以,是不是因为格式兼容?我需要设置什么吗?
我终于用了两个单元格来显示不同颜色的内容