我正在尝试获取单元格的字体颜色值,但它总是返回黑色 我用几种不同格式的文件(xls和xlsx)测试了它 这是我的代码:
$inputFileType = PHPExcel_IOFactory::identify(self::PRODUCTS_FILE);
$oExcelReader = PHPExcel_IOFactory::createReader($inputFileType);
$oExcelReader->setReadDataOnly(true);
$oExcel = $oExcelReader->load(self::PRODUCTS_FILE);
$worksheetsCollection = $oExcel->getAllSheets();
$products = array();
foreach($worksheetsCollection as $oWorksheet) /** @var \PHPExcel_Worksheet $oWorksheet */ {
$rows = $oWorksheet->toArray();
unset($rows[0]);
if (!empty($rows)) {
foreach ($rows as $key => $row) {
$color = $oWorksheet->getStyle('A' . ($key + 1))->getFont()->getColor()->getRGB();
var_dump($color, 'A' . ($key + 1));
这有什么问题?
答案 0 :(得分:1)
出了什么问题
$oExcelReader->setReadDataOnly(true);
您告诉PHPExcel只读取单元格的原始内容,而不来读取任何样式信息,如字体颜色等。
这意味着根本没有从文件中读取字体颜色,因此获取所用颜色的任何请求都只返回电子表格的默认颜色,即黑色
如果您需要颜色信息, 不 告诉PHPExcel只检索电子表格数据