PHP Excel Word 文件转 HTML输出

复制代码
ob_end_clean();
$filePath = './123.xls';
//$filePath = './123.docx';
$savePath = './123.html'; //这里记得将文件名包含进去



//excel 转html 单个Sheet
$fileType = \PHPExcel_IOFactory::identify($filePath); //文件名自动判断文件类型
$objReader = \PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($filePath);
$objWriter = new \PHPExcel_Writer_HTML($objPHPExcel);
$objPHPExcel = $objReader->load($filePath);
$sheetIndex = $objPHPExcel->getSheetCount();
//dump($sheetIndex);exit;
$objWriter->setSheetIndex(0); //可以将括号中的0换成需要操作的sheet索引
//$objWriter->save($savePath); //保存为html文件
$objWriter->save('php://output');



//excel 转html 多个Sheet
/*$a = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath);
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Html($a);
$writer->writeAllSheets();
$hdr = $writer->generateHTMLHeader();
$sty = $writer->generateStyles(false); // do not write <style> and </style>
$newstyle = '<style type="text/css">'.$sty.'</style>';
echo preg_replace('@</head>@', "$newstyle\n</head>", $hdr);
echo $writer->generateHTMLAll();
$writer->save('php://output');*/



/*word docx  转HTML输出
$objReader = \PhpOffice\PhpWord\IOFactory::createReader();
$objPHPFile = $objReader->load($filePath);
$objPHPFile->setDefaultFontName('Times New Roman');
$objPHPFile->setDefaultFontSize(16);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($objPHPFile, 'HTML');
$html = $objWriter->getContent();
//取head标签内容
preg_match("/<head>(.*)<\/head>/si",$html,$match);
$head = trim($match[0]);
$count = strpos($head,"</head>");
$str = substr_replace($head,"",$count,strlen('</head>'));
$str2 = $str.'<style>img{display: block;margin: 20px auto;}</style></head>';
$strer = preg_replace("/<head>(.*)<\/head>/si",$str2,$html);
return $strer;
//$objWriter->save('php://output');*/
复制代码

 

posted @   怪-人  阅读(1427)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示