[英]PHPExcel set cell value dynamically
这是我获取Excel文件数据的代码...
require_once 'IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load("NAV USER ACCESS Calculation.xlsx");
$objPHPExcel->setActiveSheetIndex(2);
$worksheet = $objPHPExcel->getActiveSheet();
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow(); // e.g. 10
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
echo '<div id="table-cont">
<table border="1">';
for ($row = 1; $row <= $highestRow; ++ $row)
{
echo '<tr>';
for ($col = 0; $col < $highestColumnIndex; ++ $col)
{
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val = $cell->getValue();
$val =$cell->getCalculatedValue();
$val =$cell->getFormattedValue();
$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
echo '<td>' . $val . '</td>';
}
echo '</tr>';
}
echo '</table>
<div id="clock"></div>
</div>';
这是我将表设置为excel的代码,但是我不知道怎么了...
$serverName="192.168.1.253";
$conInfo=array("Database"=>"dbName","UID"=>"sa","PWD"=>"xxxxx");
$con= sqlsrv_connect($serverName,$conInfo);
require_once 'IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load("NAV USER ACCESS Calculation.xlsx");
$objPHPExcel->setActiveSheetIndex(2);
$worksheet = $objPHPExcel->getActiveSheet();
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow(); // e.g. 10
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
echo '<div id="table-cont">
<table border="1">';
$sql= sqlsrv_query($con,"SELECT * FROM dbo.[Active Session]");
while($data=sqlsrv_fetch_array($sql))
{
for ($row = 1; $row <= $highestRow; ++ $row)
{
echo '<tr>';
for ($col = 0; $col < $highestColumnIndex; ++ $col)
{
$cell = $worksheet->setCellValueByColumnAndRow($col, $row);
$val = $cell->getValue();
$val =$cell->getCalculatedValue();
$val =$cell->getFormattedValue();
$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
echo '<td>' . $val . '</td>';
}
echo '</tr>';
}
}
echo '</table>
<div id="clock"></div>
</div>';
应该像
$worksheet = $objPHPExcel->getActiveSheet();
$highestRow = $worksheet->getHighestRow() + 1;
$sql= sqlsrv_query($con,"SELECT * FROM dbo.[Active Session]");
while($data=sqlsrv_fetch_array($sql))
{
$worksheet->fromArray($data, null, 'A' . $highestRow++);
}
然后再保存文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.