在PHPExcel上发布.csv文件

rhy*_*rhy 4 php csv phpexcel

我在读取.csv文件时遇到PHPExcel问题.

我想从.csv文件中获取值,但问题是来自特定行的数据被视为单个单元格.

继承我的代码:

        include 'Classes/PHPExcel/IOFactory.php';
        $inputFileType = 'CSV';
        $inputFileName = $_FILES['file']['tmp_name'];
        $objReader = PHPExcel_IOFactory::createReader($inputFileType);
        $objPHPExcel = $objReader->load($inputFileName);

        $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

        $table = "<table border=1><tr><td>first</td><td>middle</td><td>last</td><td>email</td>";

        for ($x = 2; $x <= count($sheetData); $x++){
            foreach ($sheetData[$x] as $data){
                $first = $sheetData[$x]['A'];
                $middle = $sheetData[$x]['B'];
                $last = $sheetData[$x]['C'];
                $email = $sheetData[$x]['D'];   
            }

            $table .= "<tr><td>" . $first ."</td><td>" . $middle . "</td><td>" . $last . "</td><td>" . $email . "</td></tr>";

        }

        $table .= "</table>";

        echo $table;
Run Code Online (Sandbox Code Playgroud)

它正在处理.xls.xlsx文件,我得到了我想要的所需输出.

小智 7

这很好用:

$objReader->setDelimiter("\t"); 
Run Code Online (Sandbox Code Playgroud)

但是,当你不是100%确定它的标签或逗号是否分开时,似乎无法添加BOTH,例如$objReader->setDelimiter("\t",);哪些是必需的.当您打开Excel并转到导入CSV时,实际的屏幕上的步骤允许您指定多个分隔符,这将是很酷的.

这是你正在使用PHP Office的东西吗?

另外,这里有两个链接,可帮助您使用PHP查找文件是否以逗号,制表符或管道分隔 - 安静一个聪明的解决方案:

如何找出csv文件字段是否以制表符分隔或以逗号分隔

我该如何检测文本文件中使用的分隔符?