潤乾報表文件通過 TAG 標籤方式發佈,導出 EXCEL、word、PDF 的文件名稱默認與報表文件名稱相同,例如,報表文件名叫 gcxmsyqk.rpx, 那麼這張報表導出 excel 時文件名稱就是 gcxmsyqk.xlsx。
如果需要用其他規則來命名導出的結果文件名,例如將“gcxmsyqk.rpx”的結果文件導出爲“工程項目收益情況統計報表 (每季度由成本分析報告負責人整理提供).xlsx”——潤乾報表能實現嗎?要怎麼實現呢?
潤乾報表當然可以實現!利用潤乾報表 html 標籤中提供的“saveAsName”屬性,就可以指定報表另存爲 EXCEL、PDF 時的文件名稱。如果不指定這個屬性,那麼默認會使用報表文件名來命名導出的文件。
拿自帶的 showReport.jsp 爲例,我們看下這個標籤的設置:
按上面的設置我們設置好標籤後,在頁面再導出 EXCEL 文件,可以看到文件名默認就是我們指定的文件名稱了。
showReport.jsp 是潤乾設計器下自帶的一個通用頁面,只要通過 url 訪問 showReport.jsp 並將報表文件名稱通過 rpx 參數傳遞,就可以展現導出對應報表。在將 saveAsName 設置爲固定的字符串後,所有報表文件,在導出結果文件時都會使用那個固定的文件名。這麼一來,這個 JSP 似乎就沒那麼通用了……其實,saveAsName 也可以和報表文件名稱一樣通過變量傳遞哦!如果在使用前定義了 saveName 變量,那麼就可以像報表文件名稱一樣通過參數傳遞導出文件名了哦!
進一步,如果有客戶想將每張報表標題行中的內容作爲導出的結果文件的名稱,那我們是不是可以直接在 JS 腳本中獲取單元格內容,然後將這個內容設置到這個變量中呢?抱歉,這樣可不行,我們需要用 API 代碼讀取到報表,從對應格子中取到內容,將內容賦給變量,然後用這個變量給定 saveAsName 的值纔可以,具體可以參考導出 excel 名字取自單元格值。