如何在PHP中读取Excel文件就像文本文件一样

时间:2014-07-03 07:08:16

标签: php html excel

我已经实现了导入文本文件,读取数据并在屏幕上显示,使用相同的代码如何实现Excel工作表导入,读取数据并在屏幕上显示?

我尝试过.txt文件导入的代码:

HTML CODE

<form action="#" method="post" enctype="multipart/form-data">
    <div> 
        <span>Choose file</span> 
        <span>
            <input type="file" class="upload" name="file"  style="width:260px;" >
        </span> 
    </div>
    <label class="fa-btn btn-1 btn-1e">
         <input type="submit" name="submit" value="Upload Data">
     </label>
</form>

PHP代码

    if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
         echo "<p align=center style='color:green'><b>The file ".  basename( $_FILES['file']['name'])." has been uploaded</p>";
         $content = file_get_contents('upload/'.$_FILES["file"]["name"]);
         $lines = explode("\n", $content); // TAKING NEW ROW BY ' \n '
}


    foreach ($lines as $line) {
        $row = explode(":", $line); //IN TEXT FILE COLUMN IS SEPARATED BY ' : '
    ?>
    <tr style='background-color:lightgreen;'>
        <td><?php echo $row[0]; ?></td>
        <td><?php echo $row[1]; ?></td>
        <td> <?php echo $row[2]; ?></td>
        <td><?php echo $row[3]; ?></td>
        <td><?php echo $row[4]; ?></td>
        <td><?php echo $row[5]; ?></td>

}

是否可以以相同的方式显示Excel数据?

更新

正如@Mark Ba​​ker所建议的

处理此list

1 个答案:

答案 0 :(得分:1)

不能将Excel文件(OfficeOpenXML或BIFF格式)读取为文本文件,因为它是具有非线性的非常定义结构的二进制文件。您需要使用PHPExcel等库来读取数据。

但是,使用库可以读取Excel数据并将其显示为HTML表格(如果文件中有多个工作表,则将其显示为表格)。

修改

实施例

include './libraries/PHPExcel/Classes/PHPExcel.php';

$inputFileName = './myExcelFile.xls';
$outputFileType = 'HTML';
$outputFileName = 'php://output';

$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objPHPExcelReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objPHPExcelReader->load($inputFileName);

$objPHPExcelWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $outputFileType);
$objPHPExcel = $objPHPExcelWriter->save($outputFileName);