用PHP產生excel檔案到指定目錄_php執行個體

來源:互聯網
上載者:User
最近公司要產生報表,用PHP產生。

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");

我百度了下,貌似這個很快能夠實現,但是這個檔案卻是產生在在瀏覽器下載的地方,

我想把產生的檔案產生到指定的目錄,這樣能否實現呢?

還有,可以往裡面插入圖片嗎?

PHPExcel是英文的,看了半天沒看懂。有沒有直接產生的例子看啊?

下面我們附上例子:

/** +---------------------------------------------------------- * 匯入所需的類庫 同java的Import * 本函數有緩衝功能 +---------------------------------------------------------- * @param string $class 類庫命名空間字串 * @param string $baseUrl 起始路徑 * @param string $ext 匯入的副檔名 +---------------------------------------------------------- * @return boolen +---------------------------------------------------------- */function import($class, $baseUrl = '', $ext='.class.php') {  static $_file = array();  $class = str_replace(array('.', '#'), array('/', '.'), $class);  if ('' === $baseUrl && false === strpos($class, '/')) {    // 檢查別名匯入    return alias_import($class);  }  if (isset($_file[$class . $baseUrl]))    return true;  else    $_file[$class . $baseUrl] = true;  $class_strut = explode('/', $class);  if (empty($baseUrl)) {    if ('@' == $class_strut[0] || APP_NAME == $class_strut[0]) {      //載入當前項目應用類庫      $baseUrl = dirname(LIB_PATH);      $class = substr_replace($class, basename(LIB_PATH).'/', 0, strlen($class_strut[0]) + 1);    }elseif ('think' == strtolower($class_strut[0])){ // think 官方基底類別庫      $baseUrl = CORE_PATH;      $class = substr($class,6);    }elseif (in_array(strtolower($class_strut[0]), array('org', 'com'))) {      // org 第三方公用類庫 com 企業公用類庫      $baseUrl = LIBRARY_PATH;    }else { // 載入其他項目應用類庫      $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1);      $baseUrl = APP_PATH . '../' . $class_strut[0] . '/'.basename(LIB_PATH).'/';    }  }  if (substr($baseUrl, -1) != '/')    $baseUrl .= '/';  $classfile = $baseUrl . $class . $ext;  if (!class_exists(basename($class),false)) {    // 如果類不存在 則匯入類庫檔案    return require_cache($classfile);  }}/*** 匯出EXCEL表格* @param array $data 資料,二維數組,每條資料一條記錄* @param array $title 每列資料的欄位名,一唯數組,必須和資料順序一致(可省略)* @param string $filename excel名稱* @param array $field 需要指定匯出的資料欄位,排序必須和title一致,就是和查出資料的數組key值*/function exportExcel($data='',$title='',$filename='excel',$field=array()){  if(!$data || !is_array($data)) return false;  if($filename=='') $filename='excel';  if($field && is_array($field)){//只要匯出指定欄位,且按這個順序匯出    $dateNew=array();    foreach ($data as $k=>$v){      foreach ($field as $fkey){        $dateNew[$k][$fkey]=$v[$fkey];      }    }    $data=$dateNew;  }  import("@.ORG.Util.ExcelXml");//調用匯出excel類  $xls = new ExcelXml('UTF-8', false, 'Sheet1');  $xls->addArray($data,$title);  $xls->generateXML($filename);}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.