thinkph で Excel を出力するにはどうすればよいですか?フロントは
thinkphpでExcelをエクスポートするときにテーブル内のデータをバックエンドに転送するにはどうすればよいですか?残るステップは 1 つだけです
サードパーティのクラスを使用してみてください
http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2009/0114/309.html
を置くとはどういう意味ですか?テーブルデータをバックグラウンドに渡します~~~~~
どのような条件に従ってテーブルが出力されますか? Excel をエクスポートして、同じ条件に基づいてデータをクエリすることはできますか?
これで3回目の投稿ですね…
私は今もこの方法を使っています
使えない場合、質問がある場合は、さらに話し合ってください、使用できます
/** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@param $filename 下载的文件名 *@examlpe $stu = M ('User'); $arr = $stu -> select(); exportexcel($arr,array('id','账户','密码','昵称'),'文件名!'); */ function exportexcel($data=array(),$title=array(),$filename='report'){ header("Content-type:application/octet-stream"); header("Accept-Ranges:bytes"); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=".$filename.".xls"); header("Pragma: no-cache"); header("Expires: 0"); //导出xls 开始 if (!empty($title)){ foreach ($title as $k => $v) { $title[$k]=iconv("UTF-8", "GB2312",$v); } $title= implode("\t", $title); echo "$title\n"; } if (!empty($data)){ foreach($data as $key=>$val){ foreach ($val as $ck => $cv) { $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv); } $data[$key]=implode("\t", $data[$key]); } echo implode("\n",$data); } }
何か。フォームのデータを転送するということですか?~~~~~
どのような条件でテーブルが出力されているかを確認して、同じ条件でデータをクエリするために Excel をエクスポートできますか?
私もこのアイデアを考えましたが、テーブル内のデータは配列ではなく、バックグラウンドで使用できないシーケンス ($key} もあります。)
これは 3 回目の投稿ですよね...
まだこの方法です
何か質問があれば、さらに話し合ってください
/** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@param $filename 下载的文件名 *@examlpe $stu = M ('User'); $arr = $stu -> select(); exportexcel($arr,array('id','账户','密码','昵称'),'文件名!'); */ function exportexcel($data=array(),$title=array(),$filename='report'){ header("Content-type:application/octet-stream"); header("Accept-Ranges:bytes"); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=".$filename.".xls"); header("Pragma: no-cache"); header("Expires: 0"); //导出xls 开始 if (!empty($title)){ foreach ($title as $k => $v) { $title[$k]=iconv("UTF-8", "GB2312",$v); } $title= implode("\t", $title); echo "$title\n"; } if (!empty($data)){ foreach($data as $key=>$val){ foreach ($val as $ck => $cv) { $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv); } $data[$key]=implode("\t", $data[$key]); } echo implode("\n",$data); } }
これは 3 番目の投稿です...
私はまだこの方法を使用しています
使用できない場合は、さらに話し合ってください。
すごいです
このメソッドは Excel をエクスポートできます、問題ありません、問題はテーブル内のデータをバックグラウンド $data に渡すことができないことです
スクリーンショットを撮ります
"テーブルのデータをバックグラウンドに転送します"それはおそらくどういう意味ですか
u014244418 ユーザーは死ぬほど不安です、答えは私の目の前にあり、投稿者にはそれは必要ありません
u014244418 ユーザーは死ぬほど不安です、答えは目の前にあり、投稿者には必要ありません
ご飯に行ってきたので、すぐに写真をアップします
テーブル内のデータを Excel にエクスポートし、exportexcel メソッドは 4 階のメソッドです。今度は、このテーブルのデータを渡したいと思います。このメソッドに、最初の値だけを渡してみます。
スクリーンショットを撮ります。
「テーブル内のデータをバックグラウンドに転送します。」それはおそらくあなたが投稿したコードを使用しただけです。タイトルとファイル名に問題はありません。問題はデータです。バックグラウンドで作成したメソッドにテーブル内のデータを渡し、これらのデータを書き込みます。問題は、フロントエンドがデータを渡せないことです
これは 3 番目の投稿です...
私はまだこの方法を使用しています
ご質問があれば、さらに議論してください
お気に入り、ありがとうございます
問題は解決しました。非常に面倒ですが、一部のデータが大きすぎます。あなたの助け。