Я применил правило условного форматирования для столбца B на листе Excel. Когда я пытаюсь получить условные стили этой конкретной ячейки, я получаю пустой массив. Я использую приведенный ниже код для получения условных стилей.
$conditionalStyles = $PHPExcelObj->getActiveSheet()->getStyle('B4')->getConditionalStyles();
Я использовал setReadDataOnly (false), чтобы получить всю информацию о стиле.
Ниже приведен код, который я использую для создания объекта читателя.
$PHPExcelObj = new PHPExcel;
$InputFileType = PHPExcel_IOFactory::identify($path);
$ObjReader = PHPExcel_IOFactory::createReader($InputFileType);
$ObjReader->setReadDataOnly(false);
$PHPExcelObj->setActiveSheetIndex(0);
$conditionalStyles = $PHPExcelObj->getActiveSheet()->getStyle('B4')->getConditionalStyles();
Я не мог понять, что я делаю не так. Любые выводы будут очень полезны. Спасибо
Edit1:
Исходный файл был .xls. После того, как я сохранил его как файл .xlsx, я смог получить условные стили. Метод getConditionalStyles () работает только с файлами .xlsx?
Edit2:
Даже с файлом .xlsx он только частично показывает условные стили. Для некоторых ячеек, даже если есть правило условного стиля, оно не отображается.
Может ли кто-нибудь дать какую-нибудь идею, как мне этого добиться. Моя цель — получить информацию о стиле ячеек, такую как background-color, font-weight и all. Существуют ли какие-либо другие библиотеки чтения Excel, которые я могу использовать помимо PHPExcel?
Попробуйте это без getStyle:
$conditionalStyles = $PHPExcelObj->getActiveSheet()->getConditionalStyles('B4');
Других решений пока нет …