php excel文件在线预览(走过的坑)

本文介绍了PHP中处理Excel在线预览的几种方法,包括利用微软Office365服务、phpExcel扩展解析为HTML、通过OpenOffice转换为PDF和SWF,以及读取数据直接返回给前端。在实践中,phpExcel解析图片时可能出错,OpenOffice的配置涉及Windows和Linux系统的组件服务设置,转换CSV文件时可能出现乱码问题。
摘要由CSDN通过智能技术生成


首先感谢以往分享相关问题的小伙伴,从中收货很多部分内容也是引用了前人的内容,希望对后来的人有帮助。

1.已经布好的服务如微软的Office365等平台服务

	 实例:http://technet.microsoft.com/zh-cn/library/jj219456(v=office.15).aspx  只需要将自己文件地址传进去即可
	 这种处理方式虽然方便,但是对于公司的数据资源的保护不利,并且这些在线转换服务是收费的,如果这方面无所谓的话推荐使用。

2.通过phpExcel扩展进行excel文件解析直接输出html

不推荐:
通过文件后缀名switch case 方式创建createReader读取,这种方式不能准确的判断文件类型导致经常会读取错误,这一点很重要。
当excel中有图片解析报错未解决如果有同学解决了这个问题希望能分享出来

	set_time_limit(0);
	require dirname(dirname(__FILE__)) . '../../common/comp/excel/PHPExcel.php'; //更改为你的phpexcel文件地址     
	$sFileUrl=>''// 你文件的地址
	$sFileType = PHPExcel_IOFactory::identify($sFileUrl);//获取文件类型
	$objReader = PHPExcel_IOFactory::createReader($sFileType);//创建读取
	$objWriteHtml=new PHPExcel_Writer_HTML($objReader->load($sFileUrl, 'UTF-8'));//加载内容
	echo $objWriteHtml->save("php://output");//输出html文件到页面

3通过openoffice进行文件解析转换->pdf->swf

首先安装oppenoffice服务并且后台启用服务,windows平台需要安装完openOffice后,在开始–运行中输入Dcomcnfg打开组件服务。在组件服务—计算机—我的电脑—DCOMP配置中,选择openoffice service manager右键属性->安全 全部添加组或用户名Everyone,属性->标识 选择交互式用户,linux系统配置自行查找一下相对windows要简单很多(此步骤解决报错)

执行命令:
soffice -headless-accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard
成功后即在后台运行了该软件。

如果是php5.4.5以前版本,需要在php.ini里把com.allow_dcom = true打开,即去掉前面的分号。如果是以后版本,需要在php.ini 里增加一行扩展extension=php_com_dotnet.dll,然后检查php的ext目录中是否存在该dll文件,如果没有请自行下载对应版本的dll。然后重启apache

下面是通过p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值