ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 3.2 PHPExcel インポートおよびエクスポート ファイルは、関連する問題を解決するために使用できません。
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';$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');
などです。
この記事は初心者向けの議論と学習のため、気に入らない場合は避けてください。調和のとれた社会を築きましょう。一緒に!