我在Excelbundle
库中安装了PhpExcel
。我想读取我发现这个功能的excel文件。
我该如何使用它?有什么建议吗?
public function xlsAction()
{
$filenames = "your-file-name";
$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject($filenames);
foreach ($phpExcelObject ->getWorksheetIterator() as $worksheet) {
echo 'Worksheet - ' , $worksheet->getTitle();
foreach ($worksheet->getRowIterator() as $row) {
echo ' Row number - ' , $row->getRowIndex();
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
foreach ($cellIterator as $cell) {
if (!is_null($cell)) {
echo ' Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue();
}
}
}
}
}
答案 0 :(得分:5)
我的建议是"阅读文档"并开始攻击它。根据我的经验,使用excel是非常复杂和耗时的,所以不要期望其他人在线解决您的问题。
好像你正在谈论这个包: https://github.com/liuggio/ExcelBundle
它有很好的文档,甚至是完整的例子(参见"假控制器")。
答案 1 :(得分:0)
使用PHPExcel,可以很容易地阅读Excel文档。
参见我的例子:
$dir = $this->getContainer()->getParameter("kernel.root_dir") . "/../../data/import/";
$file_name = "my_excel_file.xlsx";
$excel = $this->getContainer()->get('phpexcel')->createPHPExcelObject($dir . DIRECTORY_SEPARATOR . $file_name);
$sheet = $excel->getActiveSheet();
$row = 0;
while ($sheet->getCellByColumnAndRow(1, $row)->getValue()) {
$data = $sheet->getCellByColumnAndRow(2, $row)->getValue(); // get value from nth line and 2nf column
//do stuff -- see doc for functions on $sheet
}