我試圖弄清楚爲什麼在使用setCellValueByColumnAndRow
與PHPExcel時結果不受影響。getCellValueByColumnAndRow-> getCalculatedValue()不工作PHPExcel?
我做錯了什麼?
該第一版本設置結果爲整數0(具有兩種不同的方法試圖獲取計算的值)使用字母和字符時設置它的工作原理爲預期值
//Version 1 - generating incorrect result (should 77*5 = 385, but is 0)
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, 1, '=A2*5'); //A1
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 1, 77); //A2
echo '<br /> Value A1= ' . $objPHPExcel->getActiveSheet()-
>getCellByColumnAndRow(0,1)->getValue();
echo '<br />Value A2= ' . $objPHPExcel->getActiveSheet()-
>getCellByColumnAndRow(1,1)->getValue();
echo '<br />Result=' . $objPHPExcel->getActiveSheet()-
>getCellByColumnAndRow(0,1)->getCalculatedValue();
echo '<br />Result=' . $objPHPExcel->getActiveSheet()->getCell("A1")-
>getCalculatedValue();
echo '<br /><br />';
該第二版本:
//Version 2 - generating correct result (77*5 = 385)
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setCellValue("A1", '=A2*5'); //A1
$objPHPExcel->getActiveSheet()->setCellValue("A2", 77); //A2
echo '<br />Value A1= ' . $objPHPExcel->getActiveSheet()->getCell("A1")-
>getValue();
echo '<br />Value A2= ' . $objPHPExcel->getActiveSheet()->getCell("A2")-
>getValue();
echo '<br />Result=' . $objPHPExcel->getActiveSheet()->getCell("A1")-
>getCalculatedValue();
echo '<br />Result=' . $objPHPExcel->getActiveSheet()-
>getCellByColumnAndRow(0,1)->getCalculatedValue();
輸出版本1:
Value A1= =A2*5
Value A2= 77
Result=0
Result=0
輸出版本2:
Value A1= =A2*5
Value A2= 77
Result=385
Result=385
這是PHPEXcel錯誤或我,我只是做錯了什麼?
我想使用setCellValueByColumnAndRow
的原因是我有一個這樣的數組,它是從一個post請求中創建的,我想重新計算數組的改變值:(上面版本1和版本2的例子用於測試它的方式與PHPExcel工作,沒有任何與此數組)
array
0 =>
array (size=2)
1 => string '6000' (length=4)
2 => string '=A2*5' (length=5)
1 =>
array (size=2)
1 => string '60009' (length=5)
2 => string '=A2*5' (length=5)
2 =>
array (size=2)
1 => string '7000' (length=4)
2 => string '=A3*5' (length=5)
....
UPDATE: 這不是重複PHPExcel setCellValueByColumnAndRow not writing data to spreadsheet,因爲這個問題已經無關公式計算的結果。實際值是在我的問題中設置到單元格中的,但是在使用getCellValueByColumnAndRow
獲取計算值時似乎不起作用。我不認爲我的問題和被標記爲可能重複的問題之間存在關聯。我也改變了這個問題的標題,以便更清楚地說明實際問題。
可能d [PHPExcel的setCellValueByColumnAndRow不寫入數據到電子表格](http://stackoverflow.com/questions/11468606/phpexcel-setcellvaluebycolumnandrow-not-writing-data-to-spreadsheet) –
@Deep 3015 - 這不是重複的,因爲這個問題與公式計算的結果無關。 – bestprogrammerintheworld