我已经在这个问题上苦苦挣扎了几天。 我有一个xls文件,包含多个工作表,上面有函数。 我想要做的是在第一张纸上插入值,然后从第二张纸中检索结果,但我得到的结果是0.
这是我写的代码
$fileType = 'Excel5';
$fileName = storage_path().'/penssion_simulator_file/test2.xls';
// Read the file
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objReader->setReadDataOnly(true);
echo "Start loading file:</br>";
echo date('H:i:s d/m/Y')."</br>";
$objPHPExcel = $objReader->load($fileName);
echo "End of loading file:</br>";
echo date('H:i:s d/m/Y')."</br>";
PHPExcel_Calculation::getInstance($objPHPExcel)->disableCalculationCache();
PHPExcel_Calculation::getInstance($objPHPExcel)->clearCalculationCache();
echo "Start setting values to file:</br>";
echo date('H:i:s d/m/Y')."</br>";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('B7', (string)date('d/m/Y'))
->setCellValue('B8', (string)'30/05/1984')
->setCellValue('B9', (string)'01/05/2013')
->setCellValue('B10', (integer)20000)
->setCellValue('B11', (string)'ללא בן זוג וילדים (לצורכי ביטוח)')
->setCellValue('B12', (float)5.5)
->setCellValue('B13', (float)6.0)
->setCellValue('B14', (float)8.33)
->setCellValue('B15', '-')
->setCellValue('B16', (string)'גבר')
->setCellValue('B17', (integer)0)
->setCellValue('B18', (integer)0)
->setCellValue('B19', (string)'עתיר חיסכון')
->setCellValue('B20', (float)6.0)
->setCellValue('B21', (float)0.25)
->setCellValue('B22', (integer)67)
->setCellValue('B23', (string)'כן')
->setCellValue('B24', (string)'לא');
echo "End of setting values to file:</br>";
echo date('H:i:s d/m/Y')."</br>";
$objWorksheet = $objPHPExcel->setActiveSheetIndex(1);
echo "Value of cell B6 on sheet 1: ".($objWorksheet->getCell('B6')->getCalculatedValue())."</br>";
// $value = $this->getCellValue($objWorksheet,'B3');
// echo "</br>This is the value og cell B3: ".$value."</br>";
// PHPExcel_Calculation::getInstance()->writeDebugLog = true;
// $this->testFormula($objWorksheet,'B3');
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
echo "Value of cell B7 on sheet 0: ".($objPHPExcel->getActiveSheet()->getCell('B7')->getValue())."</br>";
echo date('H:i:s d/m/Y')."</br>";
// Change the file
die('FIN');
这些是我打印的输出:
开始加载文件 09:03:27 28/01/2015 加载文件结束: 09:04:26 28/01/2015 开始将值设置为文件: 09:04:26 28/01/2015 将值设置为文件结束: 09:04:26 28/01/2015 第1页上的单元格B6的值: 0 表格0上单元格B7的值: 28/01/2015 09:04:30 28/01/2015 FIN
我正在使用laravel,正如我在这篇文章的标题中提到的那样,以及laravel-phpexcel包。
感谢您的帮助!