国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

動態資料導出導入平臺(一)

2019-11-17 01:55:59
字體:
來源:轉載
供稿:網友

動態資料導出導入平臺(一)

又來啦,又要說偷懶的主張了。在實際的項目中,資料的導入導出是經常能遇的到的,到底有沒有辦法可以做成動態的呢? 開發人員開發出來后,剩下的可以將由HELPDESK組去維護,后續如果還要增加類似的功能,HELPDESK組人員就自己可以去處理,而我們開發人員可以不用處理,節省一些不必要的時間,或者可以花更多的時間到某件事情上,而不必受過多的打擾呢。答案是有的,接下我們先講一下導出的實現,導出在這里相對簡單一點。導入將放到后面的隨筆。這里的導入導出與網上大多數人的ExcelHelper或者COM形式的導出還是有比較大的區別。

動態,所謂的動態,就是很容易的就實現數據源的切換,還有某數據源其中的一部分數據。這里我們主要用到EAI接口,按指定格式導入書寫xml,然后讀取這個XML以獲得動態的數所輸出。實現起來也不會太難。

1.前臺頁面設計。

從別的畫面到跳出這個導出面面,只需要指定相應的XML

 function btn_ExUR() {            window.open('/ImportAndExport/SelectFields.aspx?loadXml=UserRightMapping', 'ExportSelFields', 'top=' + (screen.height - 525) / 2 + ', left=' + (screen.width - 820) / 2 + ', width=820, height=525, toolbar=no, menubar=no, scrollbar=no, resizable=no, location=no, status=no')        }

運行后按XML動態產生字段。

然后用戶可以動態選擇所需要的導出字段。

導出結果如下

下面大家看一下XML到底是如何構成的。

<?xml version="1.0" encoding="utf-8" ?><EAI xmlns="urn:mapping-schema" from="SqlServerDataBase" to="ExcelFile">  <Source>    <table name="CENTRAL_USERIGHT" dataSourceName="SqlServer" handType="EAI.DataBaseHandler.SqlServerExport">      <fields>        <field name="SUSER" mapping="員工帳號" dbType="Char"/>        <field name="MODNAME" mapping="模組" dbType="Char"/>               <field name="CANREAD" mapping="只讀" dbType="Bit"/>        <field name="CANINS" mapping="新增" dbType="Bit"/>        <field name="CANUPD" mapping="修改" dbType="Bit"/>        <field name="CANDEL" mapping="刪除" dbType="Bit"/>      </fields>    </table>  </Source>  <Target>    <file range="A2" dataSourceName="Test.xls" name="Sheet1" titleLine="1" autoGenColumnTitle="false" handType="EAI.FileHandler.ExcelImport">      <fields>        <field name="SUSER" mapping="員工帳號" 

大家一看,相信也不難理解。后續如果用戶還需要導出其它數據,HELPDESK人員可以按XML做一個類似的文檔,同時在前臺寫個按鈕直接把XML參數傳給這個SelectFields頁面就可以了。開發人員不需再管任何事情。

下面把SelectFields頁面的后臺代碼也帖出。如果有人想要EAI的動態庫的話,可以留下郵箱。如果方便,順便給個贊唄。

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.sessionState;using System.Web.Profile;using System.Text;using System.IO;namespace WebApp.ImportAndExport{    public partial class SelectFields : WebBase, IRequiresSessionState    {        // Fields        private const string btnHideSearch = "<div id='hideSearch' style=/"height:25px; position:absolute; z-index:-20px;/"><input type=/"button/" name=/"btnSearch/" id=/"btnSearch/" value=/"搜索/" class=/"SUB-BUTTON/" style=/"visibility:hidden;/" onclick=/"btnSearchClick()/"/></div>";        private const string btnShowSave = "<div id='showSave' style=/"height:25px;/"><input type=/"button/" name=/"btnSave/" id=/"btnSave/" value=/"保存/" class=/"SUB-BUTTON/" style=/"visibility:visible; background-color:#54bd24; color:#FFFFFF; font-weight:bold/" onclick=/"btnSaveClick()/"/></div>";        private const string btnShowSearch = "<div style=/"height:25px/"><input type=/"button/" name=/"btnSearch/" id=/"btnSearch/" value=/"搜索/" class=/"SUB-BUTTON/" style=/"visibility:visible;/" onclick=/"btnSearchClick()/"/></div>";        private string compareKey;        private string compareValue;        private Dictionary<string, string> dicChkSel = new Dictionary<string, string>();        private Dictionary<string, string> dicMap;        private const string disabledCheckBox = "<li style=/"height:22px/"><input type=/"checkbox/" name=/"{0}/" id=/"{0}/" checked=/"checked/" disabled=/"true/"/><label for=/"{0}/" class=/"font-12/">{1}</label></li>";        private const string enabledCheckBox = "<li style=/"height:22px/"><input type=/"checkbox/" name=/"{0}/" id=/"{0}/" checked=/"checked/"/><label for=/"{0}/" class=/"font-12/">{1}</label></li>";        private string equalKey;        private string equalValue;        private string jField;        private string jTable;        private string loadXml;        private string tField;        private const string unselDisabledCheckBox = "<li style=/"height:22px/"><input type=/"checkbox/" name=/"{0}/" id=/"{0}/" disabled=/"true/"/><label for=/"{0}/" class=/"font-12/">{1}</label></li>";        private string whereCase;        private XmlFieldsToTable xmlFieldsToTable;        // Methods        protected void BuildPage(BtnType btnType)        {            string str = " <div id=/"loadPic/" class=/"font-12/" style=/"display:none; color:#336699; float:left; width: 500px;/"><img src=/"../images/connecting.gif/" style=/"width: 140px; height: 13px/" />。下載中。</div>";            StringBuilder builder = new StringBuilder();            if (btnType == BtnType.Search)            {                builder.Append("<div style=/"height:25px/"><input type=/"button/" name=/"btnSearch/" id=/"btnSearch/" value=/"搜索/" class=/"SUB-BUTTON/" style=/"visibility:visible;/" onclick=/"btnSearchClick()/"/></div>");                builder.Append(str);            }            else            {                builder.Append("<div id='hideSearch' style=/"height:25px; position:absolute; z-index:-20px;/"><input type=/"button/" name=/"btnSearch/" id=/"btnSearch/" value=/"搜索/" class=/"SUB-BUTTON/" style=/"visibility:hidden;/" onclick=/"btnSearchClick()/"/></div>");                builder.Append("<div id='showSave' style=/"height:25px;/"><input type=/"button/" name=/"btnSave/" id=/"btnSave/" value=/"保存/" class=/"SUB-BUTTON/" style=/"visibility:visible; background-color:#54bd24; color:#FFFFFF; font-weight:bold/" onclick=/"btnSaveClick()/"/></div>");                builder.Append(str);            }            builder.Append("<div style=/"margin:0px 0px 0px 0px; background-color:#EFEFEF/"><ul>");            this.xmlFieldsToTable = new XmlFieldsToTable(base.Server.MapPath("~/XmlMapping/" + this.loadXml + ".xml"), SelXmlNodeMode.TargetNode, SelXmlNodeInfo.MappingOnly);            this.dicMap = this.xmlFieldsToTable.DicMap;            if (btnType == BtnType.Search)            {                foreach (string str2 in this.dicMap.Keys)                {                    builder.Append(string.Format("<li style=/"height:22px/"><input type=/"checkbox/" name=/"{0}/" id=/"{0}/" checked=/"checked/"/><label for=/"{0}/" class=/"font-12/">{1}</label></li>", str2.ToString(), this.dicMap[str2.ToString()]));                }            }            else            {                if (this.Session["selectCheckList"] != null)                {                    this.dicChkSel = this.Session["selectCheckList"] as Dictionary<string, string>;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖南省| 金秀| 南充市| 灵山县| 巢湖市| 三门峡市| 云林县| 城步| 喀喇| 亳州市| 永善县| 襄汾县| 嘉禾县| 奇台县| 姜堰市| 平湖市| 安陆市| 哈密市| 佛山市| 安达市| 西乡县| 富民县| 嘉义市| 丹阳市| 浪卡子县| 章丘市| 榆中县| 云林县| 深水埗区| 泰和县| 通榆县| 德昌县| 宝丰县| 孟津县| 灵台县| 方正县| 平邑县| 元谋县| 同仁县| 土默特左旗| 图片|