PHPExcel xls文件读取和HTML显示

时间:2016-04-13 11:55:42

标签: php html excel google-chrome

我正在使用这个PHPExcel lib而浪费时间。 我的代码受到了lib中可用的模型的广泛启发。

+任务是:

- 用PHP读取* .xls文件

- 在HTML

中的导航器中显示它

目前,我只能成功读取文件(使用PHPExcel_IOFactory实例的“createReader”方法)。但是对于HTML显示,我有一个非常好的废话。在尝试代码修正时给出了这个错误:

  

“致命错误:未捕获异常'PHPExcel_Calculation_Exception'   消息'RéaliséS03!P374 - > RéaliséS03!P374 - >公式错误:   出乎意料,'“

以下是代码:

<?phperror_reporting(E_ALL);
set_time_limit(0);
date_default_timezone_set('Europe/London');
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/');

/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>PHPExcel Reader Example #02</title>

</head>
<body>

<h1>Chargement fichier Facturation</h1>

<?php

$inputFileName = '../Docs_PDC/FACTURATION_Janvier.xls';

echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using PHPExcel_Reader_Excel5<br />';
$objReader = new PHPExcel_Reader_Excel5();
//  $objReader = new PHPExcel_Reader_Excel2007();
//  $objReader = new PHPExcel_Reader_Excel2003XML();
//  $objReader = new PHPExcel_Reader_OOCalc();
//  $objReader = new PHPExcel_Reader_SYLK();
//  $objReader = new PHPExcel_Reader_Gnumeric();
//  $objReader = new PHPExcel_Reader_CSV();
$objPHPExcel = $objReader->load($inputFileName);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
$objWriter->save('Facturation.html'); 


echo '<hr />';

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);

$filename = "DownloadReport";
$table    = $_POST['table'];

// save $table inside temporary file that will be deleted later
$tmpfile = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile, $table);

// insert $table into $objPHPExcel's Active Sheet through $excelHTMLReader
$objPHPExcel     = new PHPExcel();
$excelHTMLReader = PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader->loadIntoExisting($tmpfile, $objPHPExcel);
$objPHPExcel->getActiveSheet()->setTitle('Facturation'); // Change sheet's     title if you want

unlink($tmpfile); // delete temporary file because it isn't needed anymore

header('Content-Type: application/vnd.openxmlformats-   officedocument.spreadsheetml.sheet'); // header for .xlxs file
header('Content-Disposition: attachment;filename='.$filename); // specify  the download file name

exit;


?>
<body>

如果有人有任何想法,我将永远感激他(或她;))

我在这上面挖了一点,我注意到了:因为提出异常 PHPExcel尝试在参数中解析具有Excel引用值(如“P $ 7”)的公式。引用的值不是数字,它只是一个列名。 那么,是否有可能在某些领域禁用PHPExcel的公式求解?或者还有其他方法来解决这个问题吗?

0 个答案:

没有答案