如何使用cakephp将.xls转换为.csv

时间:2013-06-18 13:26:50

标签: csv cakephp-2.0 xls xlsx

我是cakephp的新手,我需要使用cakephp2.0将“.xls”文件转换为“.csv”文件。我试过服用PhpExcel,即使它不起作用。

1 个答案:

答案 0 :(得分:0)

首先下载Spreadsheet_Excel_Reader类,将其保存在供应商文件夹

在启动控制器类之前添加以下内容

App::uses('Vendor', 'excel_reader'); 

在函数内部

  public function createcsvfromxls() {

    $data = new Spreadsheet_Excel_Reader(WWW_ROOT . 'pathtofile.xls', true);
     ob_clean();
    if ($filename = tempnam(sys_get_temp_dir(), "csv")) {
        if ($file = fopen($filename, "w")) {
            fputcsv($file, array('column 1', 'column 2'));
        }
        $exeldata = $data->sheets['0']['cells'];
        foreach ($exeldata as $key => $val) {
            fputcsv($file, array('columonedata', 'colum2data'));
        }
    }


    fclose($file);
    header("Content-Type: application/xls");
    header("Content-Disposition: attachment;Filename=DHAProviderdetails.csv");
    header("charset: UTF-8");
    echo readfile($filename);
    unlink($filename);
    exit;
  }

试试这个