我发现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 …
有人可以帮我吗?
第一个for循环遍历行,第二个循环遍历列。因此,对于您的“问题”有很多解决方案。
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])"); }
显然,可以改进此代码。