php导出word和pdf文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php导出word和pdf文件相关的知识,希望对你有一定的参考价值。

如何荣php导处word和pdf文件带有中文,和图片,并且保存的名称为中文名称

1首先下一个phpexcel

2下载完成的是一个压缩文件,解压放到你的项目目录里

3.下面进入代码;

4.
//引入PHPExcel库文件(路径根据自己情况)
include './phpexcel/Classes/PHPExcel.php';
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');

//填充表头信息
for($i = 0;$i < count($tableheader);$i++)
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");


5.
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++)
$j = 0;
foreach ($data[$i - 2] as $key=>$value)
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;



6.
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,

8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。
参考技术A <?php
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//有了这些,可以把带html标签的html源码导入到word里,并且可以保持html的样式。
/*
<STYLE>
BR.page page-break-after: always
</STYLE>
在<head>部分加这个是为了实现打印的时候分页
*/
$wordStr = '<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<STYLE>
BR.page page-break-after: always
</STYLE>
</head><body>';

$wordStr = "<b>hello</b><p>this is html code</p>";

$wordStr .= '</body></html>';
//防止导出乱码
$file = iconv("utf-8", "GBK", $filename);

header("Content-Type: application/doc");
header("Content-Disposition: attachment; filename=" . $file . ".doc");
echo $wordStr;
?>

<?php
header("Content-type:application/pdf");

// 文件将被称为 downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// PDF 源在 original.pdf 中
readfile("original.pdf");
?>
参考技术B 链接:http://pan.baidu.com/s/1dFv7Eud

密码:o4k6
生成word例子,
链接:http://pan.baidu.com/s/1geVLlcf

密码:v5ah
生成pdf例子
我自己的例子,下了看看就知道了!

参考技术C <?php
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//有了这些,可以把带html标签的html源码导入到word里,并且可以保持html的样式。
/*
<STYLE>
BR.page page-break-after: always
</STYLE>
在<head>部分加这个是为了实现打印的时候分页
*/
$wordStr = '<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<STYLE>
BR.page page-break-after: always
</STYLE>
</head><body>';

$wordStr = "<b>hello</b><p>this is html code</p>";

$wordStr .= '</body></html>';
//防止导出乱码
$file = iconv("utf-8", "GBK", $filename);

header("Content-Type: application/doc");
header("Content-Disposition: attachment; filename=" . $file . ".doc");
echo $wordStr;
?>
<?php
header("Content-type:application/pdf");

// 文件将被称为 downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// PDF 源在 original.pdf 中
readfile("original.pdf");
?>

<html>
<body>

...
...
参考技术D 链接:http://pan.baidu.com/s/1dFv7Eud

密码:o4k6
生成word例子,
链接:http://pan.baidu.com/s/1geVLlcf

密码:v5ah
生成pdf例子
我自己的例子,下了看看就知道了!

以上是关于php导出word和pdf文件的主要内容,如果未能解决你的问题,请参考以下文章

vue中实现html页面导出word和pdf的办法

POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)

POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)

网页表单导出word和pdf格式

LatexPPT画图,导出emf格式,word插入emf文件并导出pdf,pdf裁剪并导出eps文件,latex插入eps文件

PHPWord基于ThinkPHP6的Word模板处理和导出PDF文件的带源码 | 答读者问