ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 3.2 PHPExcel インポートおよびエクスポート ファイルは、関連する問題を解決するために使用できません。

ThinkPHP 3.2 PHPExcel インポートおよびエクスポート ファイルは、関連する問題を解決するために使用できません。

WBOY
WBOYオリジナル
2016-06-13 11:58:08882ブラウズ

ThinkPHP 3.2 PHPExcel インポートおよびエクスポート ファイルのサードパーティ クラス ライブラリを使用して問題を解決することはできません

ThinkPHP3.2 は、いわゆる名前空間である namesapce を使用するため、インポート時に多くの友人にさまざまな問題が発生します。 Baidu で多くの質問を検索しましたが、最新バージョンの ThinkPHP と PHPExcel では解決できなかったので、最終的にコードを見つけました。この問題の解決策が必要な場合は、ここにマークを付けてください。


PHPExcel が圧縮された後のファイルに Classes フォルダー PHPExcel と PHP ファイル PHPExcel.php を ThinkPHPLibraryVendor ディレクトリに配置し、コントローラーに次のように記述します。

インポート コードの例:

public function importExcel(){

vendor('PHPExcel');

$PHPExcel = new PHPExcel( );

$saveFile = '/mnt/www/tp/Application/Home/Controller/test.xlsx';


$PHPReader = new PHPExcel_Reader_Excel2007 (); if(!$ PHPReader->canRead($saveFile)){

echo 'Excel なし';

$PHPExcel = $PHPReader->load($saveFile); 

$currentSheet = $PHPExcel->getSheet(0); 

/**最大列を取得する*/

$allColumn = $currentSheet->getHighestColumn(); 

/**最大行を取得する*/

$allRow = $currentSheet->getHighestRow();

$return = array();

$i=0;

for($currentRow = 2;$currentRow

for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){

$count = ord($currentColumn) - 65;

$val = $currentSheet->getCellByColumnAndRow($count,$currentRow)->getValue ();

}

$i++;

}

}


导出实例代:

public function exportExcel(){

ベンダー('PHPExcel');

$objExcel = new PHPExcel();

//ドキュメントのプロパティを設定

$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');

$objActSheet = $objExcel->getActiveSheet();

$key = ord("A");

$objActSheet-&g t ;setCellValue("A1", 'test1');

$objActSheet->setCellValue("A2", 'test2');

$objActSheet->setCellValue("B1" , 'test3');

$objActSheet->setCellValue("B2", 'test4');

$outfile = "test.xls";

// exploer

header("Content-Type: application/download");

header('Content-Disposition:inline;filename= "'.$outfile.'"');

header("Content-Transfer-Encoding: binary");

header("Cache-Control: must-revalidate、post-check=0、pre-check=0");

header("Pragma: no-cache");

$objWriter->save('php://output');

exit;

}


とにかく、試してみました。信じるか信じないかについては、私は信じます。


追伸: 実際には何もありません。ファイルをインポートした後に新しいものをすべて追加するだけで、作業は非常に簡単であることがわかりました。


PS: サードパーティのクラス ライブラリ (クラス ライブラリがこのように終わっていない場合、TP の命名メソッドは .class.php で終わります)、それを「Think」に入れてください。 /Library/Vender にアクセスし、vendor() メソッドを使用してそれを呼び出します。たとえば、Vendor フォルダーに PHPExcel.php ファイルがある場合、必要なのは Vendor('PHPExcel'); です。 Vendor フォルダー PHPExcel の価格照会フォルダーがあり、test.php ファイルが含まれています。必要なのは、vendor('PHPExcel.test');

などです。


この記事は初心者向けの議論と学習のため、気に入らない場合は避けてください。調和のとれた社会を築きましょう。一緒に!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。