エクスポート機能

エクスポートの処理過程および実行用のサンプルについて説明します。

エクスポート処理について

  1. アプリケーションはエクスポートのためのデータ(command、export data、style)を一定のサイズで分割し、分割データ(chunked data)をnexacro-xeniサーバーに順次送信します。

  2. nexacro-xeniサーバーでは送信されたデータをcommandにより保存されるファイルStreamとして構成します。

  3. 指定されたパスに任意のフォルダを生成し、Streamを指定された名前のファイルとして生成します。

  4. 生成されたファイルのurlをアプリケーションに送信し、ファイルをダウンロードできるようにします。

  5. urlをリクエストします。

  6. Excelファイルを送信します。

  7. 生成したファイルは設定によって管理/削除されます。

nexacro-xeniでExcelファイルのエクスポート実行の流れ

実行用のサンプル

nexacroのGridコンポーネントのデータをExcelファイルとしてエクスポートする方法を説明します。

nexacroの画面

1

以下のサンプル画面では、[Export]ボタンをクリックすると、Gridの内容がnexacro-xeniに分割送信されます。

part1_03_02

2

nexacro-xeniで作業が完了すると、自動的にファイルがダウンロードされますが、ブラウザによって以下のようなダイアログが表示されることがあります。

part1_03_03

3

ダウンロードされたファイルを確認します。

part1_03_04

nexacroのソースコード

this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
	this.url = “http://127.0.0.1:8080/nexacro-xeni-java/XExportImport”;

	this.exportObj = new ExcelExportObject();
	this.exportObj.addEventHandler("onprogress", this.ExcelExportObject00_onprogress, this);
	this.exportObj.addEventHandler("onsuccess", this.ExcelExportObject00_onsuccess, this); 
	this.exportObj.addEventHandler("onerror", this.ExcelExportObject00_onerror, this);  

	var ret = this.exportObj.addExportItem(nexacro.ExportItemTypes.GRID, this.gd_excel, "Sheet1!A1");
	this.exportObj.set_exportmessageprocess("%d [ %d / %d ]");
	this.exportObj.set_exportuitype("exportprogress");
	this.exportObj.set_exporteventtype("itemrecord");
	this.exportObj.set_exporttype(nexacro.ExportTypes.EXCEL2007);
	this.exportObj.set_exportfilename("ExcelExport_Sample");
	this.exportObj.set_exporturl(this.url); 
	this.exportObj.exportData(); 
}

ExcelExportObjectのイベント

エクスポートの処理過程および結果はイベントを通じて確認することができます。

Event Name

Description

onerror

エクスポートの実行中、エラーの発生時にに発生するイベント

onprogress

エクスポートの実行中、進行状態ごとに発生するイベント

onsuccess

エクスポートの作業完了時に発生するイベント

エラー対応

ファイルがダウンロードされなかったり(ダイアログが表示されなかったり)、ファイルの内容が壊れている場合

エクスポートの作業完了時にダウンロードされず(ダイアログが表示されず)、ブラウザ上にファイルの内容が壊れた状態で表示された場合、web.xmlにmime-mappingを追加した後にWASを再起動します。