目次
Excel がサーバー上で生成されるのか、どのようなリンクが返されるのか、そして ajax はどのようにタグを使用してダウンロードするのかがまだわかりません。

PHPExcelについて質問する

Jun 23, 2016 pm 01:55 PM
phpexcel

最近プロジェクトに取り組んでいますが、ページテーブルのデータはデータベースから直接クエリされるのではなく、計算やその他の処理を通じて取得されるため、クエリ処理後のテーブルデータをクライアントのExcelにエクスポートする必要があります。ページにはボタンがあり、onclick イベントは ajax を使用して必要なパラメーターをサーバーに渡します。exportexcel.php ファイルはパラメーターを受け取り、データベースにクエリを実行して処理し、最後に phpexcel を使用して Excel ファイルにエクスポートします。
そこで問題が発生します。テスト後、ajax が実行されたことがわかりましたが、ブラウザーはエクスポートされた Excel ファイルをダウンロードするためのウィンドウをポップアップせず、まったく応答しません。 ajax を使用してパラメータをexportexcel.phpに渡し、ダウンロードおよび保存ウィンドウをポップアップ表示するにはどうすればよいですか?
ajax コード
関数 Excel(url1,params)
{
atch(trymicrosoft){試してみてください
}catch(othermicrosoft){
var xhr = false; }
}
}
var url=url1+"? "+"&r ="+Math.random();
xhr.open("POST",url,true); //readyState=1
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded") );
xhr.send(params); If(xhr.readyState== 4 &&
どうすればよいか専門家のアドバイスをください。数日間悩んでいますが、解決策が見つかりません




ディスカッションへの返信(解決策)

ファイルストリームはajaxで受信されたため、当然ダウンロードは行われません。ダウンロードが表示されます
ajaxリクエストを受信した後、サーバーでExcelファイルを生成し、ajaxによって渡される接続のみをAまたはIFRAMEに返してマークを付けることができますダウンロード

まだ理解できません、Excelはサーバー上で生成されます、どのようなリンクが返されますか、Ajax タグを使用してダウンロードするにはどうすればよいですか?

ajax を使用せず、接続を使用してパラメーターを渡す場合、これは機能しますか?

関数 execl の機能は、?? を結合して url1 に送信することです。
get???? に変更して頂ければダウンロード可能です

function excel(url1,params){   	window.location = url1+"?"+ url1+"?"+"&r="+Math.random() + params;}
ログイン後にコピー


またはモデレータが提供する方法を使用してください。 Excel が ? より大きい場合、Excel が生成されるまでダウンロードする前に待つ必要があります。ファイル ストリームを使用すると、ファイル ストリームを 1 つずつ生成できます。
視聴機器が必要ですか?

訂正、????。

すごいです


Excel がサーバー上で生成されるのか、どのようなリンクが返されるのか、そして ajax はどのようにタグを使用してダウンロードするのかがまだわかりません。



例如?求后,需要返回一?execl
phpexecl有?savetofile的方法的,用??,然後?生成一?execl文件。

之後把??文件的路?,例如http://www.example.com/excel/a.xls 返回?js,js 再用window.location ?用下?就可以。

3楼 楼主的回复:
如果你不用 ajax,而用连接传递参数,这样会做吗?


不会做,还有就是,我运行环境是IE9下,get方法行不通,ie9使用get方法没反应,post方法就能成功运行,这是我测试发现的。

6楼 fdipzone的回复:
例如?求后,需要返回一?execl
phpexecl有?savetofile的方法的,用??,然後?生成一?execl文件。


我试了,phpexcel没有savetofile方法,我的是最新版phpexcel从官网下载的。另外是先试试你在 5楼 说的方法,多谢指导!

function excel(url1,params){        window.location = url1+"?"+"&r="+Math.random() + "&" + params; }
ログイン後にコピー

再问个问题,修改excel函数后,在php咋接收参数啊,这样就不使用ajax了吧,那我在php还能post得到参数吗?

是没有 savetofile 方法
但是有 save 方法

function excel(url1,params){                window.location = url1+"?"+params+"&r="+Math.random() ; } 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

改用这个方法的确能弹出下载窗口了,但为什么在php使用$_GET['bbsty']接收不到url传递的参数?谁能帮帮我,在线等。。。

function excel(url1,params){                window.location = url1+"?"+params+"&r="+Math.random() ; } 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

改用这个方法的确能弹出下载窗口了,但为什么在php使用$_GET['bbsty']接收不到url传递的参数?谁能帮帮我,在线等。。。



function excel(url1,params){                window.location = url1+"?"+params+"&r="+Math.random() ; } 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

改用这个方法的确能弹出下载窗口了,但为什么在php使用$_GET['bbsty']接收不到url传递的参数?谁能帮帮我,在线等。。。




你??的??有bbsty??如果其他??可以,??不行,估?是??名?了。

alert(url1+"?"+params+"&r="+Math.random()); 看看有什?。

有的,我在function excel里alert(url1+"?"+params+"&r="+Math.random()); 查看是正常的,

print_r($_REQUEST);输出什么?

有的,我在function excel里alert(url1+"?"+params+"&r="+Math.random()); 查看是正常的,


txtdate 和 dev 用$_GET都能拿到? 只有bbsty不行? ??奇怪

txtdate 、dev 、bbsty用$_GET都不能接收到,print_r($_REQUEST);什么也没有,是很奇怪,就是get接收不到,一个参数都收不到

贴出 ExportToExcel.php 可省去数据库操作和excel生成部分的代码

你的 ajax 是 post 方式发送数据的,显然这个程序不会有读取 get 方式数据的代码

改用这个函数后,就不使用ajax了,button的onclick事件就是function excel(url1,params)

<td width="18%" align="left"><input type="button" name="export" id="export" value="导出" style="cursor:hand" onClick="exportExcel()">          <script language="javascript">             function exportExcel()		    {				var txtdate= document.getElementById("txtdate").value;				var bbsty= document.getElementById("bbsty").value;				var dev= document.getElementById("dev").value;				//定义url				var url="ExportToExcel.php";        				//定义参数        				var params="txtdate="+txtdate+"&bbsty="+bbsty+"&dev="+dev;       				//调用ajax 进行交互				//excel(url,params); 				//alert(url+"?"+params+"&r="+Math.random());				window.location = url+"?"+params+"&r="+Math.random();			}          </script>          </td>
ログイン後にコピー

ExportToExcel.php关键接收代码就几行,剩下代码是操作数据库并处理结果,和生成excel的
$bbsty= $_GET['bbsty'];	$dev= $_GET['dev'];	$days= (int)date('t',strtotime($_GET['txtdate']));  //获取查询月份的总天数	/*echo "<script>alert("+$dev+")</script>";exit;*/
ログイン後にコピー

可能我的运行环境有关,get方法使用不了。多谢二位的指导,让我学到很多东西,不过我分不多,见谅了

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 Jul 28, 2023 pm 10:01 PM

完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 はじめに: Excel ファイルは、大量のデータや統計分析を処理する際のデータの保存と交換のための一般的な形式としてよく使用されます。 PHP 拡張機能 PHPExcel を使用すると、Excel ファイルの読み取り、書き込み、変更を簡単に行うことができ、Excel データを効果的に処理できます。この記事では、PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法とコード例を紹介します。 1.PHPExcをインストールする

PHP 開発: PHPExcel を使用して Excel ファイルを処理する PHP 開発: PHPExcel を使用して Excel ファイルを処理する Jun 15, 2023 pm 03:45 PM

デジタル時代の到来により、データは私たちの日常生活や仕事において最も重要な部分となり、Excel ファイルはデータ処理のための重要なツールの 1 つになりました。 PHP開発者の多くは仕事でデータ処理や操作でExcelファイルを使用する場面に遭遇することが多いと思います。この記事では、PHPExcelライブラリを使ってExcelファイルを加工する方法と注意点を紹介します。 PHPエクセルとは何ですか? PHPExcel は PHP クラスです

phpexcelを使ってExcelファイルをCSVファイルに変換して開く方法 phpexcelを使ってExcelファイルをCSVファイルに変換して開く方法 Mar 27, 2023 pm 04:16 PM

PHPEXCEL は、Excel ファイルの読み書きのための優れた PHP クラス ライブラリであり、PHP を使用して Excel ファイルを読み書きできるようにする非常に十分な API を提供します。場合によっては、Excel ファイルを CSV ファイルに変換して使用する必要があることがあります。そこで、この記事ではPHPEXCELクラスライブラリを使ってExcelファイルをCSVファイルに変換して開く方法を中心に説明します。

phpexcel が PHP 開発者の間で注目される理由 phpexcel が PHP 開発者の間で注目される理由 Mar 27, 2023 pm 06:15 PM

PHPExcel は、Microsoft Excel ファイルを処理するためのオープン ソースの PHP ライブラリであり、Excel ファイルの読み取り、作成、変更、保存ができます。これは、データ分析、レポート生成、データのインポートとエクスポートなどのタスクを処理するために使用できる、強力で高度にカスタマイズ可能なツールです。この記事では、なぜ PHPExcel が PHP 開発者の間で注目されているのかを紹介します。

PHPExcel を使用して Excel ファイルを処理するにはどうすればよいですか? PHPExcel を使用して Excel ファイルを処理するにはどうすればよいですか? Jun 01, 2023 pm 02:01 PM

PHPExcel は、Microsoft Excel (.xls および .xlsx) ファイルを処理するためのオープンソース PHP ライブラリです。 Excel ファイルの読み取り、書き込み、操作が可能で、豊富な関数とメソッドを提供します。 PHP プロジェクトで PHPExcel ライブラリを使用すると、Excel ファイルを迅速かつ簡単に処理し、データのインポート、エクスポート、データ処理などの機能を実装できます。この記事では、PHPExcelを使ってExcelファイルを加工する方法を紹介します。 1. PHPExcel をインストールするには、次を使用します。

PHP および PHPExcel を使用して Excel ファイルを作成する PHP および PHPExcel を使用して Excel ファイルを作成する May 11, 2023 am 08:40 AM

今日の急速な情報転送の時代では、データの処理とストレージの重要性がますます高まっています。 Excel テーブルはさまざまなデータを統合でき、簡単に分析および処理できるため、多くの人にとって Excel テーブルの使用が最初の選択肢になります。 Excel テーブルの作成をより効率的に完了するには、PHP と PHPExcel という 2 つの強力なツールを使用できます。この記事では、PHPとPHPExcelを使ってExcelファイルを作成する方法を紹介します。 1. まず PHPExcel をインストールします

PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 Jul 02, 2023 pm 02:28 PM

PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 概要: Web 開発では、Excel ファイルの処理は一般的かつ重要なタスクです。 PHPExcel は、Excel ファイルの読み書きに役立つ強力で使いやすい PHP ライブラリです。この記事では、MySQL データベースを操作するための PHPExcel および PHPExcel_IOFactory ライブラリを使用する方法を紹介します。ステップ1

PHP開発スキル: PHPExcelを使用してMySQLデータベースを操作する方法 PHP開発スキル: PHPExcelを使用してMySQLデータベースを操作する方法 Jul 02, 2023 pm 12:21 PM

PHP開発スキル:PHPExcelを使ったMySQLデータベースの操作方法 インターネットの発展に伴い、データベースには大量のデータが格納され、インポート、エクスポート、加工などの操作が必要になります。 PHP 開発において、PHPExcel は、Excel ファイルとの対話を簡素化し、データのインポートとエクスポートを実現できる強力なライブラリです。この記事では、PHPExcelを使ってMySQLデータベースを操作し、データのインポート・エクスポート機能を実装する方法を紹介します。 PHPExcelのインストールと設定

See all articles