目的: V20201K – 排程資料匯出 – 套表 - 全部匯出(含CaluField)
處理說明: 1>*.js 匯出所有的資料
Ext.Ajax.request({
url: '../api/V20201API/getGridData_M?par_paging=false',
method: 'POST',
params: { all: 1 },
async: false, //將非同步功能關閉
failure: function (response, opts) {},
success: function (response, opts) {
let Tmp_DataAry1 = [];
var obj = Ext.decode(response.responseText);
obj.T1.forEach(function (item, i) {
Tmp_DataAry1.push(item);
});
CALL_V20201K(Tmp_DataAry1); //排程資料匯出
}
});
2>*.cs - 套表
public void XLSOUT()
{
// 1>將 SS_FILES.FBOLD 存成 Local檔案
//取得目前子畫面的欄位值
string Tmp_DataString1 = nvc["DataString1"]; //Tmp_DataString: 將目前子畫面的資料.
//將 table 字串轉成 DataTable
DataTable dt1 = myfunc.JSON2dt(Tmp_DataString1);
int Tmp_cnt1 = dt1.Rows.Count;
string Tmp_FName = "V20201_排程資料匯出格式.xlsx"; //套表的檔案名稱 ,
//documentPath = c:\\inetpub\wwwroot\TLS5\TLSWEB_AMM5\document\
string documentPath = HttpContext.Current.Server.MapPath("~") + "document\\";
string Tmp_pFName = documentPath + Tmp_FName;
//需要擷取大量資料時,DataReader 是很好的選擇,因為資料不會快取至記憶體。
//OracleDataReader reader;
FileStream fs = null;
Workbook wk = null;
string Tmp_FName1 = "V20305_物料清單匯出_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx";
string Tmp_pFName1 = documentPath + Tmp_FName1;
MemoryStream mstream = new MemoryStream();
HttpCookie MyCookie;
int row = 0;
try
{
// 取得 Template SS_FILES
fs = myfunc.get_SS_FILES(Tmp_FName);
wk = new Workbook();
wk.LoadFromStream(fs);
1>*.js
{
xtype: 'button', text: '排程資料匯出', id: 'btn_V202K',
iconCls: 'icon-article',
disabled: false,
listeners: {
click: function () {
//將 所有資料.PK 加入 CHK_PK_OBJ.PK_LIST
Ext.Ajax.request({
url: '../api/V20201API/getGridData_M?par_paging=false',
method: 'POST',
params: { all: 1 },
async: false, //將非同步功能關閉
failure: function (response, opts) {
},
success: function (response, opts) {
let Tmp_DataAry1 = [];
var obj = Ext.decode(response.responseText);
obj.T1.forEach(function (item, i) {
Tmp_DataAry1.push(item);
});
CALL_V20201K(Tmp_DataAry1); //排程資料匯出
}
});
},
},
},
function CALL_V20201K(par_DataAry1) {
var Tmp_Grid = Ext.getCmp('grid_M');};
var cur_recs, cur_rec;
var Tmp_SAPNO, Tmp_PN, Tmp_QTY, Tmp_EOCND, Tmp_RMK;
var Tmp_data_JSON = ""; //將store資料轉成 JSON 的字串
var Tmp_sub_np = {};
let Tmp_DataAry1 = [];
Tmp_DataAry1 = par_DataAry1;
var Tmp_Str = "";
//將目前子畫面的資料(Table)轉成 JSON字串
let Tmp_DataString1 = JSON.stringify(Tmp_DataAry1);
//因為[備註]欄位 有/n .. 等特殊字元 , JSON.stringify 會 Error
var np = {};
np = {
DataString1: Tmp_DataString1,
Ext.getCmp('s_form').submit({
url: '../../api/V20201KAPI/XLSOUT',
method: 'POST',
async: false,
standardSubmit: true, //若要傳送檔案至前端, standardSubmit必需設為 true
params: np,
});
//顯示結果訊息..
var mask = new Ext.LoadMask(Ext.getBody(), {
msg: '處理中,請稍待...'
});
mask.show();
//使用 mask 需手動呼叫show() 方法下
//每1秒檢核一次,是否已完成, 若已完成,則不再檢核
var timer = setInterval(function () {
//每1秒檢核一次,是否已完成, 若已完成,則不再檢核
var timer = setInterval(function () {
var r = r_cookies('Rtn_Msg');if (!checkisnull(r)) {mysuccessalert(r);clearInterval(timer);mask.hide();timer = null;}
}, 1000); //1000ms = 1sec

沒有留言:
張貼留言