- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHPExcel笔记, mpdf导出由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
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
|
##导入类库
require
'PHPExcel/Classes/PHPExcel.php'
;
require
'PHPExcel/Classes/PHPExcel/Writer/Excel5.php'
;
//非07格式的写出类
##基础属性设定
$objPHPExcel
= \PHPExcel_IOFactory::load(
'a.xls'
);
//读入指定excel文件
$objPHPExcel
->setActiveSheetIndex(0);
//指定活动工作表
$objPHPExcel
->getActiveSheet()->getDefaultStyle()->getFont()->setName(
'宋体'
);
$objPHPExcel
->getProperties()->setTitle(
'xxx'
);
##单元格编辑
$objPHPExcel
->getActiveSheet()->setCellValue(
'A3'
,
'xxx'
);
//设定A3单元格值为xxx
##单元格绘图
$objDrawing
=
new
\PHPExcel_Worksheet_Drawing();
$objDrawing
->setPath(
'a.jpg'
);
//指定图片路径。若要远程图片需PHPExcel/Classes/PHPExcel/Worksheet/Drawing.php:106处file_exists换成file_get_contents
$objDrawing
->setCoordinates(
'A4'
);
//指定在A4单元格绘图
$objDrawing
->setName(
'Photo'
);
$objDrawing
->setDescription(
'Photo'
);
$objDrawing
->setHeight(120);
$objDrawing
->setWidth(100);
$objDrawing
->setOffsetX(7);
$objDrawing
->setOffsetY(7);
$objDrawing
->setWorksheet(
$objPHPExcel
->getActiveSheet());
##excel文件浏览器下载导出
$filename
=
'a.xls'
;
$encoded_filename
= rawurlencode(
$filename
);
$ua
=
$_SERVER
[
"HTTP_USER_AGENT"
];
header(
'Content-type: application/vnd.ms-excel'
);
if
(preg_match(
"/MSIE/"
,
$ua
) || preg_match(
"/Trident\/7.0/"
,
$ua
) || preg_match(
"/Edge/"
,
$ua
)) {
header(
'Content-Disposition: attachment; filename="'
.
$encoded_filename
.
'"'
);
}
else
if
(preg_match(
"/Firefox/"
,
$ua
)) {
header(
"Content-Disposition: attachment; filename*=\"utf8''"
.
$filename
.
'"'
);
}
else
{
header(
'Content-Disposition: attachment; filename="'
.
$filename
.
'"'
);
}
header(
"Pragma:no-cache"
);
header(
"Expires:0"
);
$objWriter
= PHPExcel_IOFactory::createWriter(
$objPHPExcel
,
'Excel5'
);
$objWriter
->save(
'php://output'
);
##excel文件html显示(可用于调试)
$objWriter
=
new
\PHPExcel_Writer_HTML(
$objPHPExcel
);
$objWriter
->save(
'php://output'
);
|
利用mpdf库从phpexcel导出pdf文件 。
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
|
$filename
=
'a.pdf'
;
$encoded_filename
= rawurlencode(
$filename
);
$rendererName
= \PHPExcel_Settings::PDF_RENDERER_MPDF;
//指定通过mpdf类库导出pdf文件
$rendererLibraryPath
=
'PHPExcel/MPDF57'
;
//指定你下载的mpdf类库路径
if
(!\PHPExcel_Settings::setPdfRenderer(
$rendererName
,
$rendererLibraryPath
)) {
die
(
'Please set the $rendererName and $rendererLibraryPath values'
.
PHP_EOL .
' as appropriate for your directory structure'
);
}
header(
'Content-type: application/pdf'
);
if
(preg_match(
"/MSIE/"
,
$ua
) || preg_match(
"/Trident\/7.0/"
,
$ua
) || preg_match(
"/Edge/"
,
$ua
)) {
header(
'Content-Disposition: attachment; filename="'
.
$encoded_filename
.
'"'
);
}
else
if
(preg_match(
"/Firefox/"
,
$ua
)) {
header(
"Content-Disposition: attachment; filename*=\"utf8''"
.
$file_name
.
'"'
);
}
else
{
header(
'Content-Disposition: attachment; filename="'
.
$file_name
.
'"'
);
}
header(
"Pragma:no-cache"
);
header(
"Expires:0"
);
$objWriter
=
new
\PHPExcel_Writer_PDF(
$objPHPExcel
);
$objWriter
->setPreCalculateFormulas(false);
$objWriter
->save(
'php://output'
);
##############################
##pdf导出失败的一些错误解决方法
##############################
##1 pdf中文乱码问题
PHPExcel/Classes/PHPExcel/Writer/PDF/mPDF.php:105处加两行设定:
$pdf
->useAdobeCJK = true;
$pdf
->SetAutoFont(AUTOFONT_ALL);
##2 类库里面多处preg_replace调用使用了元字符e,而部分低版本php不支持正则表达式e元字符
e元字符的不当使用并导致pdf报错的触发点在类库里面大概有五六处吧,
由于e元字符是一个shell下的子进程php调用,所以报错信息不会反馈到当前php进程中,故即便你配置了错误打印到屏幕, 页面也不会显示报错信息, 必须查看php报错日志
查看php报错日志,把提示的preg_replace中元字符e的调用替换为preg_replace_callback形式的调用
##3 部分版本phpexcel类库有单元格样式判断错误
lib/PHPExcel/Classes/PHPExcel/Writer/HTML.php:1236处加个
if
判断
if
(!
$this
->_useInlineCss) {
$cssClass
.=
' style'
.
$pSheet
->getCell(
$endCellCoord
)->getXfIndex();
|
。
最后此篇关于PHPExcel笔记, mpdf导出的文章就讲到这里了,如果你想了解更多关于PHPExcel笔记, mpdf导出的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
OkHttp的作用 OkHttp is an HTTP client。 如果是HTTP的方式想得到数据,就需要我们在页面上输入网址,如果网址没有问题,就有可能返回对应的String字符串,如果这个地址
Record 一个重要的字符串算法,这是第三次复习。 通过总结我认为之所以某个算法总是忘记,是因为大脑始终没有认可这种算法的逻辑(也就是脑回路)。 本篇主要讲解从KMP的应用场景,
SQL 注入基础 【若本文有问题请指正】 有回显 回显正常 基本步骤 1. 判断注入类型 数字型 or 字符型 数字型【示例】:
标签: #Prompt #LLM 创建时间:2023-04-28 17:05:45 链接: 课程(含JupyterNotebook) , 中文版 讲师: An
Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于
VulnStack-红日靶机七 概述 在 VulnStack7 是由 5 台目标机器组成的三层网络环境,分别为 DMZ 区、第二层网络、第三层网络。涉及到的知识点也是有很多,redis未授权的利用
红日靶机(一)笔记 概述 域渗透靶机,可以练习对域渗透的一些知识,主要还是要熟悉 powershell 语法,powershell 往往比 cmd 的命令行更加强大,而很多渗透开源的脚本都是 po
八大绩效域详细解析 18.1 干系人绩效域 跟干系人所有相关的活动. 一、预期目标 ①与干系人建立高效的工作关系 ②干系人认同项目目标 ③支持项目的干系人提高
18.3 开发方法和生命周期绩效域 跟开发方法,项目交付节奏和生命周期相关的活动和职能. 一、预期目标: ①开发方法与项目可交付物相符合; ②将项目交付与干系人价值紧密
18.7 度量绩效域 度量绩效域涉及评估项目绩效和采取应对措施相关的活动和职能度量是评估项目绩效,并采取适当的应对措施,以保持最佳项目绩效的过程。 一、 预期目标: ①对项目状况
pygraphviz 安装,windows系统: 正确的安装姿势: Prebuilt-Binaries/PyGraphviz at master · CristiFati/Prebuilt-Binar
今天给大家介绍IDEA开发工具如何配置devtools热加载工具。 1、devtools原理介绍 spring-boot-devtools是spring为开发者提供的热加载
一 什么是正则表达式 // 正则表达式(regular expression)是一个描述字符模式的对象; // JS定义RegExp类表示正则表达式; // String和RegExp都定义了使用
目前是2022-04-25 23:48:03,此篇博文分享到互联网上估计是1-2个月后的事了,此时的OpenCV3最新版是3.4.16 这里前提是gcc,g++,cmake都需要安装好。 没安装好的,
一、概述 1、Flink 是什么 Apache Flink is a framework and distributed processing engine for stateful comput
一、window 概述 Flink 通常处理流式、无限数据集的计算引擎,窗口是一种把无限流式数据集切割成有限的数据集进行计算。window窗口在Flink中极其重要。 二、window 类型 w
一、触发器(Trigger) 1.1、案例一 利用global window + trigger 计算单词出现三次统计一次(有点像CountWindow) 某台虚拟机或者mac 终端输入:nc -
一、时间语义 在Flink 中涉及到三个重要时间概念:EventTime、IngestionTime、ProcessingTime。 1.1、EventTime EventTime 表示日志事
一、概述 以wordcount为例,为什么每次输入数据,flink都能统计每个单词的总数呢?我们都没有显示保存每个单词的状态值,但是每来一条数据,都能计算单词的总数。事实上,flink在底层维护了每
一、概述 checkpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因(如 异常退出)出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保 证应用流图状
我是一名优秀的程序员,十分优秀!