使用PHPExcel 在线预览excel(补齐excel不能预览的锅)

本来最好的是转成pdf,但是没成功,只能曲线救国了

经过一系列测试之后,还是宣布不算很成功,会受excel版本,和内容影响,不支持图片

最新方法:https://blog.csdn.net/qq_27229113/article/details/82353909

1.网上下载一个PHPExcel.php 百度很多 2. 控制器 controller(最好的是自己用composer安装引入)

set_time_limit(0);
require dirname(dirname(__FILE__)) . '../../common/comp/excel/PHPExcel.php'; //更改为你的phpexcel文件地址     
$filePath =>Yii::$app->request->post('path')
// Create new PHPExcel object
$objReader =new \PHPExcel_Reader_Excel5();
//$objReader =new \PHPExcel_Reader_Excel2007();
$objWriteHtml=new \PHPExcel_Writer_HTML($objReader->load($filePath));
echo $objWriteHtml->save("php://output");

注:

$objReader =new \PHPExcel_Reader_Excel5();
//$objReader =new \PHPExcel_Reader_Excel2007();

这两个方法看自己情况选择,结果会之间返回图片,或许这里有点坑,后面有解决的方法,自行参考

view 页面我只简单写

registerJsFile(Yii::$app->request->baseUrl . '/resources/js/jquery.min.js', ['position' => View::POS_HEAD]);
$this->registerJS("
    //预览
    $('.data_table').on('click', '.preview_icon', function(){
        $('#fileIframe').attr('src',$(this).attr('url'));
        $('.quotation_iframe_bg,.quotation_iframe').show();
    });
    $('.quotation_iframe_bg,.iframe_close').click(function(){
        $('.quotation_iframe_bg,.quotation_iframe').hide();
    });
");
?>

//预览 链接

预览


如果自己觉得样式不好看,或者不符合业务的话,去phpexcel里面修改样式(类里面样式是拼合起来的,我用api写接口就必须修改下,不然样式不好看)

如果有更好的方法请告知下博主

PHP调用OpenOffice实现word/ppt转PDF-附带demo,地址:https://blog.csdn.net/qq_27229113/article/details/81984394

你可能感兴趣的:(php,yii2)