一尘不染

阅读XLSX工作表以使用PHPExcel馈送MySQL表

mysql

我发现PHPExcel库非常适合用PHP操作Excel文件(读,写等)。

但是文档中没有任何地方解释 如何读取XLSX工作表来馈送MySQL表

对不起这个愚蠢的问题,但我的工作需要它,但在网络上找不到任何答案。

一个小例子可能会很有帮助。

非常感谢。

更新 :

我回答我的问题:

我在文档中找到的唯一可以帮助我的代码是读取Excel文件并将其显示在HTML表中:

`require_once 'phpexcel/Classes/PHPExcel.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load("edf/equipement.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

$highestRow = $objWorksheet->getHighestRow(); 
$highestColumn = $objWorksheet->getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

echo '<table border="1">' . "\n";
for ($row = 1; $row <= $highestRow; ++$row) {
  echo '<tr>' . "\n";

  for ($col = 0; $col <= $highestColumnIndex; ++$col) {
    echo '<td>' . $objWorksheet->getCellByColumnAndRow($col, $row)->getValue() . '</td>' . "\n";
  }

  echo '</tr>' . "\n";
}
echo '</table>' . "\n";`

我知道我可以使用循环来馈送我的MySQL表,但是我不知道如何…我不了解OOP …

有人可以帮我吗?


阅读 322

收藏
2020-05-17

共1个答案

一尘不染

第一个for循环遍历行,第二个循环遍历列。因此,对于您的“问题”有很多解决方案。

例如,您可以填充一个数组并为每一行创建一个插入语句。如下:

$rows = array();
for ($row = 1; $row <= $highestRow; ++$row) {
  for ($col = 0; $col <= $highestColumnIndex; ++$col) {
    $rows[$col] = mysql_real_espace_string($objWorksheet->getCellByColumnAndRow($col, $row)->getValue());
  }

  mysql_query("INSERT INTO your_table (col1,col2) VALUES ($rows[1],$rows[2])");
}

显然,可以改进此代码。

2020-05-17