【问题标题】:PHPExcel convert XLS to CSV with special charactersPHPExcel 使用特殊字符将 XLS 转换为 CSV
【发布时间】:2015-11-20 03:51:48
【问题描述】:

我在使用 PHPExcel 类将包含特殊字符的 XLS 文件转换为 CSV 文件时遇到了一个小问题。

例如,名称“Kévin”在 CSV 生成的文件中给出了“Kévin”。

这是我当前使用 PHPExcel 的 PHP 代码:

$excel_readers = array(
        'Excel5' , 
        'Excel2003XML' , 
        'Excel2007'
        );

        require_once('classes/PHPExcel.php');

        $reader = PHPExcel_IOFactory::createReader('Excel5');
        $reader->setReadDataOnly(true);

        $path = $_FILES['file']['tmp_name'];
        $excel = $reader->load($path);

        $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
        $writer->save('temp/absences.csv');

        echo 'File saved to csv format';

【问题讨论】:

    标签: php mysql csv converter phpexcel


    【解决方案1】:
    <?php
    
    /**
        Convert excel file to csv
    */
    
    //Various excel formats supported by PHPExcel library
    $excel_readers = array(
        'Excel5' , 
        'Excel2003XML' , 
        'Excel2007'
    );
    
    require_once('PHPExcel180/Classes/PHPExcel.php');
    require_once('PHPExcel180/Classes/PHPExcel/Writer/CSV.php');
    
    $reader = PHPExcel_IOFactory::createReader('Excel5');
    $reader->setReadDataOnly(false);
    
    $path = 'file.xls';
    $excel = $reader->load($path);
    
    $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
    $writer->setUseBOM(true);
    $writer->save('data.csv');
    
    echo 'File saved to csv format';
    ?>
    

    PHPExcel_1.8.0_doc 库使用代码

    从一个xls转换为csv时去除特殊字符,代码结束

    【讨论】:

      【解决方案2】:

      电子表格内容将保存在编码为 UTF-8 的 CSV 文件中

      您也可以告诉 CSV Writer 编写 BOM

      $writer->setUseBOM(true);
      

      但要由读取该文件的应用程序来正确地将其视为 UTF-8 数据。像 MS Excel 这样的应用程序本身应该可以正确处理它,但是像记事本这样的文本编辑器不会识别 UTF-8 数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-13
        • 2016-04-25
        • 1970-01-01
        • 2011-06-14
        • 1970-01-01
        • 2013-03-08
        • 1970-01-01
        • 2013-11-07
        相关资源
        最近更新 更多