> php教程 > php手册 > 用PHP生成excel文件到指定目录

用PHP生成excel文件到指定目录

WBOY
풀어 주다: 2016-06-13 09:00:21
원래의
824명이 탐색했습니다.

用PHP生成excel文件到指定目录

   这篇文章主要介绍了用PHP生成excel文件到指定目录的相关资料,需要的朋友可以参考下

  最近公司要生成报表,用PHP生成。

  header("Content-type:application/vnd.ms-excel");

  header("Content-Disposition:attachment;filename=test_data.xls");

  我百度了下,貌似这个很快能够实现,但是这个文件却是生成在在浏览器下载的地方,

  我想把生成的文件生成到指定的目录,这样能否实现呢?

  还有,可以往里面插入图片吗?

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

  下面我们附上例子:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

/**

+----------------------------------------------------------

* 导入所需的类库 同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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿