>  기사  >  php教程  >  利用PhpExcel读取Excel中文件

利用PhpExcel读取Excel中文件

WBOY
WBOY원래의
2016-06-06 20:08:061331검색

?phpini_set("display_errors",1);ini_set('include_path', ini_get('include_path').';F://sources//PHPExcel_1.7.8-with_documentation-msoffice_format//Classes//');//设置此页面包含路径include 'PHPExcel.php';include 'PHPExcel/IOFactory.php';defin

<?php ini_set("display_errors",1);
ini_set('include_path', ini_get('include_path').';F://sources//PHPExcel_1.7.8-with_documentation-msoffice_format//Classes//');//设置此页面包含路径
include 'PHPExcel.php';
include 'PHPExcel/IOFactory.php';
define('EXCEL_EXTENSION_2003', "xls");
define('EXCEL_EXTENSION_2007', "xlsx");
$fileName2003 = "f://Standard_Format_File1.xls";
$fileName2007 = "f://Standard_Format_File1.xlsx";
$fileName = $fileName2003;
//$fileName = $fileName2007;
if(getExtendFileName($fileName) == EXCEL_EXTENSION_2003)
{
	$reader = PHPExcel_IOFactory::createReader('Excel5');
}
else if(getExtendFileName($fileName) == EXCEL_EXTENSION_2007)
{
	$reader = new PHPExcel_Reader_Excel2007();
}
$PHPExcel = $reader->load($fileName);
$worksheet = $PHPExcel->getActiveSheet();
$imageInfo = extractImageFromWorksheet($worksheet,"f://");
print_r($imageInfo);
function getExtendFileName($file_name) {
	$extend = pathinfo($file_name);
	$extend = strtolower($extend["extension"]);
	return $extend;
}
function extractImageFromWorksheet($worksheet,$basePath){
	$result = array();
	$imageFileName = "";
	foreach ($worksheet->getDrawingCollection() as $drawing) {
		$xy=$drawing->getCoordinates();
		$path = $basePath;
		// for xlsx
		if ($drawing instanceof PHPExcel_Worksheet_Drawing) {
			$filename = $drawing->getPath();
			$imageFileName = $drawing->getIndexedFilename();
			$path = $path . $drawing->getIndexedFilename();
			copy($filename, $path);
			$result[$xy] = $path;
			// for xls
		} else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
			$image = $drawing->getImageResource();
			$renderingFunction = $drawing->getRenderingFunction();
			switch ($renderingFunction) {
				case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG:
					$imageFileName = $drawing->getIndexedFilename();
					$path = $path . $drawing->getIndexedFilename();
					imagejpeg($image, $path);
					break;
				case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF:
					$imageFileName = $drawing->getIndexedFilename();
					$path = $path . $drawing->getIndexedFilename();
					imagegif($image, $path);
					break;
				case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG:
					$imageFileName = $drawing->getIndexedFilename();
					$path = $path . $drawing->getIndexedFilename();
					imagegif($image, $path);
					break;
				case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT:
					$imageFileName = $drawing->getIndexedFilename();
					$path = $path . $drawing->getIndexedFilename();
					imagegif($image, $path);
					break;
			}
			$result[$xy] = $imageFileName;
		}
	}
	return $result;
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.