PHP 5.3并使用PHPExcel Library 1.7.8
我想做一个phpeup的phpexcel版本。我在1 dir中有两个已通过php上传的xls文件。
DIR / fileA.xls DIR / fileB.xls
我需要根据fileA col1值的加入每行引入一个值。
我有
fileA.xls
===========================
emp_no. fname lname
===========================
1 Sam Smith
5 Lea Crosby
7 Harlan Myers
---------------------------
fileB.xls
===========================
test_number emp_no. score
===========================
1 1 98
16 5 64
14 7 76
---------------------------
我需要
创建一个新的fileC.xls或重写fileA.xls(追加新的'得分COl?)
===========================
emp_no. fname lname newCol_score
===========================
1 Sam Smith 98
5 Lea Crosby 64
7 Harlan Myers 76
---------------------------
似乎这么简单但我已经谷歌搜索了3个小时,没有。找到一个类似的帖子,但那个人想要在单独的工作表中的新数据。我需要在相同的工作表中引入“得分”作为新文件或仅附加到fileA.xls。只有1个包含所有数据的工作表。
感谢您提供任何帮助或帮助....
答案 0 :(得分:0)
将工作簿fileA.xls和fileB.xls加载到不同的PHPExcel对象$ objPHPExcelA和$ objPHPExcelB中。 然后,您可以使用addExternalSheet()方法将$ objPHPExcelB中的工作表复制为$ objPHPExcelA中的新工作表
$objPHPExcelA->addExternalSheet($objPHPExcelB->getActiveSheet());
然后您可以在新列中使用实际的VLOOKUP()公式。
替代方法是如上所述加载两个工作簿,循环遍历$ objPHPExcelA中读取emp_no列的行;然后在$ objPHPExcelB中逐行循环遍历emp_no列,直到找到匹配项,然后从$ objPHPExcelB的该行中的score列中读取值以存储在$ objPHPExcelA的新列中;重复,直到所有员工都得到更新。