ホームページ > ウェブフロントエンド > jsチュートリアル > IIS サーバー側で ExtJs Excel のエクスポートとダウンロードの問題が発生しました_extjs

IIS サーバー側で ExtJs Excel のエクスポートとダウンロードの問題が発生しました_extjs

WBOY
リリース: 2016-05-16 18:01:59
オリジナル
1647 人が閲覧しました

このプロジェクトは Extjs であり、主に Extjs GridPanel データのエクスポートに焦点を当てています。
Ext.getcmp() メソッドを通じて GridPanel オブジェクトを取得し、オーバーライドされたメソッドを通じて Excel 文字列を取得できます。具体的なメソッドは Baidu で見つけることができます。これは大きな問題ではないはずです。

コードをコピー コードは次のとおりです:

//レポートを出力
関数 ExportReport (タイトル) {
var vExportContent = Ext.getCmp("gridPanel").getExcelXml(null, title);
if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 | | Ext.isSafari3 || Ext.isIE8) {
// var frm = document.createElement('form'); // frm.id = 'frmExtjs'; 'x- 非表示';
// document.body.appendChild(frm);
f.id = "frmExtjs"; .body.appendChild(f);
var i = document.createElement("input");
i.id = "exportContent"; name = "exportContent";
f.appendChild(i);
i.value = vExportContent({
url: 'frmExcel.aspx',
メソッド: 'POST ',
form: Ext.get('frmExtjs'),
isUpload: true,
params: { FileName: title '.xls' }
})
} else {
document.location = 'data:application/vnd.ms-excel;base64,' Base64.encode(vExportContent);
}


上記は仮想提出の方法ですフォームの。しかし、私は多くの方法を試しました。データ投稿後にExcelを生成することができず、生成後のダウンロード方式では実現できないことが判明しました。 (つまり、サーバー側では生成できませんが、ローカルマシン上では生成できます。) 紆余曲折を経て、最終的にデータ解析によるデバッグを思いつきました。データが Web ページに投稿されているかどうかを確認します




コードをコピーします


コードは次のとおりです:
string tmpFileName = "export.xls"; string tmpContent = Request["ExportContent"]; if (Request["FileName"] != "") { tmpFileName = リクエスト["FileName"]; //渡されたファイル名を取得しますか?
tmpFileName = System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(tmpFileName));//中国語のファイル名を処理します
}
Response.Clear ();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename= "" tmpFileName """);
Response.Charset = "";
System.IO.StringWriter tmpSW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tmpHTW = new System.Web .UI.HtmlTextWriter(tmpSW);
tmpHTW.WriteLine(tmpContent);
Response.End();

上記は生成およびダウンロードされた CS ファイルです




後でこのツールを見つけました
具体的な手順は非常に簡単です。
ツールバーでプラグインを開きます

英語ですが問題ありません。書類はすべて英語です。 clip_image002

clip_image004 最近の写真 2 枚

ここでは、投稿後のエラー メッセージを確認できます。

このページは投稿を更新しないと見れないページです。私は長い間これに苦労してきました。今日、ようやく何が問題だったのか分かりました。 エラー メッセージをテキストにコピーして、HTML ファイルを生成します。 clip_image006

clip_image008原因は .net セキュリティ メカニズムであることが判明しました。 web.config の System.Web の後に 2 つの文を追加して完了です。

よし、問題は解決した。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート