>  기사  >  백엔드 개발  >  PHP는 지정된 디렉토리에 Excel 파일을 생성합니다.

PHP는 지정된 디렉토리에 Excel 파일을 생성합니다.

墨辰丷
墨辰丷원래의
2018-06-09 14:18:293777검색

이 글은 지정된 디렉토리에 엑셀 파일을 생성하는 PHP를 주로 소개하고 있으니 관심 있는 분들이 참고하시면 좋을 것 같습니다.

최근 회사에서 PHP를 사용하여 보고서를 생성해야 합니다.

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

Baidu에서 검색해 보니 그럴 수 있는 것 같습니다. 곧 구현되지만 이 파일은 브라우저에서 다운로드되는 위치에 생성됩니다.

생성된 파일을 지정된 디렉터리에 생성하고 싶습니다.

그리고 사진도 넣을 수 있나요?

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);
}

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

PHP 비순차 트리 구현 기술

PHP는 이미지 크기 수정, 워터마킹, 인증 코드 생성, 출력 및 저장 작업을 수행합니다.

PHP는 컬 및 운영 쿠키를 기반으로 게시물을 보내고 요청을 받습니다.

위 내용은 PHP는 지정된 디렉토리에 Excel 파일을 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.