0
我使用phpexcel從xlsx輸入數據到mysql數據庫。 我的excel文件具有使用公式計算出的值,對例如:excel公式到mysql數據庫使用phpexcel
= SUM(J21:J24)
我phpexcel腳本運行良好,然而,在Excel文件示出了使用式數據「上傳後爲0。
我的PHP腳本如下:
<?php
$connect = mysqli_connect("localhost", "root", "", "unhrd_fund_balance");
include ("PHPExcel/IOFactory.php");
$html="<table border='1'>";
$objPHPExcel = PHPExcel_IOFactory::load('sample2.xlsx');
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
{
$highestRow = $worksheet->getHighestRow();
for ($row=2; $row<=$highestRow; $row++)
{
$html.="<tr>";
$ini = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(0, $row)->getValue());
$progkey = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(1, $row)->getValue());
$grantkey = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(2, $row)->getValue());
$tod = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(3, $row)->getValue());
$tdd = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(4, $row)->getValue());
$fund = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(5, $row)->getValue());
$orderkey = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(6, $row)->getValue());
$budgetalloc = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(7, $row)->getValue());
$precommit = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(8, $row)->getValue());
$commit = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(9, $row)->getValue());
$actuals = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(10, $row)->getValue());
$totalcommit = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(11, $row)->getValue());
$availablebudget = mysqli_real_escape_string($connect,$worksheet->getCellByColumnAndRow(12, $row)->getValue());
$query = "insert into fund_balances(INITIATIVE, FUNDED_PROG_KEY, GRANT_KEY, TOD, TDD, FUND, ORDER_KEY, BUDGET_ALLOC, PRE_COMMIT, COMMIT, ACTUALS, TOTAL_COMMIT,AVAILABLE_BUDGET) values('".$ini."','".$progkey."','".$grantkey."','".$tod."','".$tdd."','".$fund."','".$orderkey."','".$budgetalloc."','".$precommit."','".$commit."','".$actuals."','".$totalcommit."','".$availablebudget."')";
mysqli_query($connect, $query);
$html.= '<td>'.$ini.'</td>';
$html .= '<td>'.$progkey.'</td>';
$html .= '<td>'.$grantkey.'</td>';
$html .= '<td>'.$tod.'</td>';
$html .= '<td>'.$tdd.'</td>';
$html .= '<td>'.$fund.'</td>';
$html .= '<td>'.$orderkey.'</td>';
$html .= '<td>'.$budgetalloc.'</td>';
$html .= '<td>'.$precommit.'</td>';
$html .= '<td>'.$commit.'</td>';
$html .= '<td>'.$actuals.'</td>';
$html .= '<td>'.$totalcommit.'</td>';
$html .= '<td>'.$availablebudget.'</td>';
$html .= "</tr>";
}
}
$html .= '</table>';
echo $html;
echo '<br />Data Inserted';
?>
在上面的代碼中,「$報表」使用Excel公式,並在數據庫空。
您正在創建一個包含這些值的HTML表。是'''。$ actuals。'''也顯示爲'$實際'0?或者是其他東西?什麼例如?另外,什麼樣的字段數據類型是MySQL表中的'ACTUALS'字段? –
該表格顯示其中的公式,而不是零。 – compcrk
ACTUALS是Excel表格中計算值的公式 – compcrk