首页 > 后端开发 > php教程 > php操作带有中文内容的Excel文件及文件导出

php操作带有中文内容的Excel文件及文件导出

墨辰丷
发布: 2023-03-31 06:40:02
原创
1492 人浏览过

本篇文章主要介绍php操作带有中文内容的Excel文件及文件导出,感兴趣的朋友参考下,希望对大家有所帮助。

本文实例讲述了php导出中文内容excel文件类,具体如下:

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

<?php

class toExcel{

 public $link = null;

 function __construct(){

 

 /***************************************************************************

 * $mapping:数组格式头信息$map=array(&#39;No&#39;,&#39;Name&#39;,&#39;Email&#39;,&#39;Age&#39;);

 * $datalist:数据库查出来的结果集

 * $fileName:Excel文件名称

 * return:Excel格式文件

 **************************************************************************/

 public function toExcel($mapping,$datalist,$fileName) {

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

  header("Content-Disposition:filename=".iconv(&#39;utf-8&#39;, &#39;gb2312&#39;, $fileName).".xls");

  echo&#39;<html xmlns:o="urn:schemas-microsoft-com:office:office"

  xmlns:x="urn:schemas-microsoft-com:office:excel"

  xmlns="[url=http://www.w3.org/TR/REC-html40]http://www.w3.org/TR/REC-html40[/url]">

  <head>

  <meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT">

  <meta http-equiv=Content-Type content="text/html; charset=UTF-8">

  <!--[if gte mso 9]><xml>

  <x:ExcelWorkbook>

  <x:ExcelWorksheets>

  <x:ExcelWorksheet>

  <x:Name></x:Name>

  <x:WorksheetOptions>

  <x:DisplayGridlines/>

  </x:WorksheetOptions>

  </x:ExcelWorksheet>

  </x:ExcelWorksheets>

  </x:ExcelWorkbook>

  </xml><![endif]-->

  </head>

  <body link=blue vlink=purple leftmargin=0 topmargin=0>&#39;;

  echo&#39;<table border="0" cellspacing="0" cellpadding="0">&#39;;

  echo&#39;<tr>&#39;;

  if(is_array($mapping)) {

   foreach($mapping as $key=>$val)

   echo"<td style=&#39;background-color:#09F;font-weight:bold;&#39;>".$val."</td>";

  }

  echo&#39;</tr>&#39;;

  foreach($datalist as $k=>$v){

   echo&#39;<tr>&#39;;

   foreach($v as $key=>$val){

    if(is_numeric($val) && strlen($val)>=14){

     echo"<td style=&#39;vnd.ms-excel.numberformat:@&#39;>".$val."</td>"; //大于14位的数字转换成字符串输出(如身份证)

    }else{

     echo"<td>".$val."</td>";

    }

   }

   echo&#39;</tr>&#39;;

  }

  echo&#39;</table>&#39;;

  echo&#39;</body>&#39;;

  echo&#39;</html>&#39;;

 }

}

$map=array(&#39;No&#39;,&#39;Name&#39;,&#39;Email&#39;);

$datal=array(array(1, &#39;管理员&#39;, &#39;admin@163.com&#39;), array(2, &#39;member&#39;, &#39;member@163.com&#39;));;

$csv=new toExcel;

$csv->toExcel($map,$datal,"dataexport");

?>

登录后复制

方法二

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?php

header("Content-Type: application/vnd.ms-execl");

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

header("Pragma: no-cache");

header("Expires: 0");

/*first line*/

$data1= "中文测试";

$data1=mb_convert_encoding($data1,"GB2312","UTF-8");

echo $data1."\t";

echo "world"."\t";

echo "\t\n";

/*start of second line*/

echo "this is second line"."\t";

echo "Hi,pretty girl"."\t";

echo "\t\n";

?>

登录后复制

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP实例分析了mysql事务处理的使用技巧

php基于curl实现多线程抓取

php创建链表及针对链表节点的增加、删除、更新与遍历

以上是php操作带有中文内容的Excel文件及文件导出的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板