ホームページ  >  記事  >  毎日のプログラミング  >  PHPExcel データインポート (グラフィックとテキスト)

PHPExcel データインポート (グラフィックとテキスト)

藏色散人
藏色散人転載
2019-07-06 10:40:3117790ブラウズ

PHPExcel データインポート (グラフィックとテキスト)

PHPExcel は、Excel から Excel データを簡単かつ効率的に読み取り、データを Excel にエクスポートするのに役立つ PHP クラス ライブラリです。

関連ビデオ コース: 「PHP Excel のクイック コントロール - PhpSpreadsheet

最初に圧縮パッケージをダウンロードします:

http://www.php.cn/xiazai/leiku/1491

解凍後、次のようになります。

作成ルート ディレクトリのテスト。PHP は Excel のコンテンツを読み取るために使用されます。Excel ファイルのコンテンツは次のとおりです。

test.php コードは次のようになります。

<?php
header("content-type:text/html;charset=utf8");
include &#39;./Classes/PHPExcel/IOFactory.php&#39;;//引入PHPExcel类
$inputFileName = &#39;./test.xls&#39;;//读取的excel文件
date_default_timezone_set(&#39;PRC&#39;);
// 读取excel文件
try {
    $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
    die(&#39;加载文件发生错误:"&#39;.pathinfo($inputFileName,PATHINFO_BASENAME).&#39;": &#39;.$e->getMessage());
}
$sheet = $objPHPExcel->getSheet(0);
$data=$sheet->toArray();//该方法读取不到图片 图片需单独处理
$imageFilePath=&#39;./images/&#39;.date(&#39;Y-m-d&#39;).&#39;/&#39;;//图片在本地存储的路径
if (! file_exists ( $imageFilePath )) {
    mkdir("$imageFilePath", 0777, true);
}
//处理图片
foreach($sheet->getDrawingCollection() as $img) {
    list($startColumn,$startRow)= PHPExcel_Cell::coordinateFromString($img->getCoordinates());//获取图片所在行和列
    $imageFileName = $img->getCoordinates() . mt_rand(100, 999);
    switch($img->getMimeType()) {
        case &#39;image/jpg&#39;:
            $imageFileName.=&#39;.jpg&#39;;
            imagejpeg($img->getImageResource(),$imageFilePath.$imageFileName);
            break;
        case &#39;image/gif&#39;:
            $imageFileName.=&#39;.gif&#39;;
            imagegif($img->getImageResource(),$imageFilePath.$imageFileName);
            break;
        case &#39;image/png&#39;:
            $imageFileName.=&#39;.png&#39;;
            imagepng($img->getImageResource(),$imageFilePath.$imageFileName);
            break;
    }
    $startColumn = ABC2decimal($startColumn);//由于图片所在位置的列号为字母,转化为数字
    $data[$startRow-1][$startColumn]=$imageFilePath.$imageFileName;//把图片插入到数组中

}
print_r($data);die;
function ABC2decimal($abc){
    $ten = 0;
    $len = strlen($abc);
    for($i=1;$i<=$len;$i++){
        $char = substr($abc,0-$i,1);//反向获取单个字符

        $int = ord($char);
        $ten += ($int-65)*pow(26,$i-1);
    }
    return $ten;
}

上記のコードは画像のみを処理し、画像のパスが配列に挿入されます。データをデータベースに保存する必要がある場合は、挿入をループして自分で処理できます。印刷結果は次のとおりです。以下のとおりであります: ################

以上がPHPExcel データインポート (グラフィックとテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。