我正在使用 php 并使用 simplexlsx.class 读取 excel 文件。我可以获得每行的所有值。但是,我不知道如何获取每个单元格的值,以便将这些值保存在数据库中。
我尝试了以下代码来打印每个单元格的值。但这只是为了打印。
for($j=1; $j <= $xlsx->sheetsCount();$j++){
echo '<pre>';
print_r( $xlsx->rowsEx($j) );
echo '</pre>';
}
$xlsx->rowsEx($j)是数组形式[name, value, href]。我只对值(value)感兴趣。这是 simplexlsx.class 中用于 rowsEx 的代码。
function rowsEx( $worksheet_id = 1 ) {
$rows = array();
$curR = 0;
if (($ws = $this->worksheet( $worksheet_id)) === false)
return false;
foreach ($ws->sheetData->row as $row) {
foreach ($row->c as $c) {
list($curC,) = $this->_columnIndex((string) $c['r']);
$rows[ $curR ][ $curC ] = array(
'name' => (string) $c['r'],
'value' => $this->value($c),
'href' => $this->href( $c ),
);
}
$curR++;
}
return $rows;
}
我应该如何获取值?非常感谢您的帮助。谢谢。
最佳答案
代码应读取单元格并将其插入数据库。如果您想查看 $r
中的内容,可以取消注释 var_dump
行。请注意,代码不会检查数据是否可以安全地插入数据库。
$mysql = mysql_connect('localhost', 'mysql_user', 'mysql_password');
list($num_cols, $num_rows) = $xlsx->dimension();
foreach( $xlsx->rows() as $r ) {
//var_dump($r);
$sql = "INSERT INTO `aTable` (`col1`, `col2`, `col3`)
VALUES ('" . $r[0] . "', '" . $r[1] . "', '" . $r[2] . "')";
mysql_query($sql);
}
mysql_close($mysql);
关于php - 如何获取excel文件中每个单元格的值,然后将其保存到mysql数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13332234/