我在读取.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查找文件是否以逗号,制表符或管道分隔 - 安静一个聪明的解决方案:
| 归档时间: |
|
| 查看次数: |
12882 次 |
| 最近记录: |