日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Excel操作编写的一个软件设计构思案例[连载]

發(fā)布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Excel操作编写的一个软件设计构思案例[连载] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近緊急開發(fā)一個操作Excel文檔軟件,經(jīng)過大約5天左右不懈努力,終于完成。

先上2張圖看看界面:

這是為從一串字符中提取地址而緊急設(shè)計,邊使用邊開發(fā),軟件雖小而且簡單,可是并非開始構(gòu)思的那樣簡單想法:只要提取需要字符出來填到對應(yīng)單元格內(nèi)就可以導(dǎo)入數(shù)據(jù)庫了,而是,隨著基本功能的實現(xiàn),發(fā)現(xiàn)可以讓程序做更多的工作,從而擴展的功能也隨之開發(fā),而且是越開發(fā)越多,最后,菜單竟然有十幾項。

使用控件不多:2個DataGridView,一個Treeview,2個splitContainer構(gòu)成主界面元素。

其中樹和顯示數(shù)據(jù)代碼都是使用發(fā)布過的直接應(yīng)用,所以,可以快速完成開發(fā)工作。

設(shè)計完成之余,隨手玩玩手動添加樹節(jié)點和多維數(shù)組,組成一個自定義表,該表用于生成一顆樹,如上2圖所示,先發(fā)代碼如下:

/**/地址分類樹.Nodes.Add("極樂世界");地址分類樹.Nodes[0].Nodes.Add("佛");地址分類樹.Nodes[0].Nodes[0].Nodes.Add("阿彌陀");地址分類樹.Nodes[0].Nodes[0].Nodes[0].Nodes.Add("菩薩");地址分類樹.Nodes[0].Nodes[0].Nodes[0].Nodes.Add("圣眾");地址分類樹.Nodes[0].Nodes[0].Nodes[0].Nodes[0].Nodes.Add("觀世音");地址分類樹.Nodes[0].Nodes[0].Nodes[0].Nodes[0].Nodes.Add("大勢至");地址分類樹.Nodes[0].Nodes[0].Nodes[0].Nodes[1].Nodes.Add("無量");地址分類樹.Nodes.Add("娑婆世界");地址分類樹.Nodes[1].Nodes.Add("劫名");地址分類樹.Nodes[1].Nodes[0].Nodes.Add("莊嚴");地址分類樹.Nodes[1].Nodes[0].Nodes.Add("賢");地址分類樹.Nodes[1].Nodes[0].Nodes[0].Nodes.Add("佛");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes.Add("佛");地址分類樹.Nodes[1].Nodes[0].Nodes[0].Nodes[0].Nodes.Add("毗婆尸");地址分類樹.Nodes[1].Nodes[0].Nodes[0].Nodes[0].Nodes.Add("尸棄");地址分類樹.Nodes[1].Nodes[0].Nodes[0].Nodes[0].Nodes.Add("毗舍浮");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes.Add("拘留孫");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes.Add("拘那含牟尼");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes.Add("迦葉");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes.Add("釋迦牟尼");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes.Add("菩薩");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes.Add("祖師");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("觀世音");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("大勢至");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("文殊");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("普賢");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("地藏");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[0].Nodes.Add("彌勒");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("摩訶迦葉");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("阿難");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("商那和修");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("優(yōu)波毱多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("提多迦");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("彌遮迦");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("婆須蜜多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("佛馱難提");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("伏馱蜜多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("脇");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("富那夜奢");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("馬嗚");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("迦毗摩羅");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("龍樹");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("迦那提婆");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("羅睺羅多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("僧伽難提");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("伽耶舍多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("鳩摩羅多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("阇耶多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("婆修盤頭");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("摩拏羅");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("鶴勒那");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("師子");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("婆舍斯多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("不如蜜多");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("般若多羅");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("菩提達摩");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("慧可");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("僧璨");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("道信");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("弘忍");地址分類樹.Nodes[1].Nodes[0].Nodes[1].Nodes[0].Nodes[3].Nodes[1].Nodes.Add("慧能");地址分類樹.ExpandAll();


上面是手動添加,下面發(fā)如何把上面這些信息構(gòu)成一個表,以及用這個表去生樹:

DataTable 佛表 = new DataTable(); 佛表.TableName = "佛表";string[] 名 = new string[] { "世界", "劫名", "佛號", "菩薩", "圣眾" };foreach (string 數(shù)據(jù) in 名) 佛表.Columns.Add(數(shù)據(jù));string[, , , ,] 稱 = new string[, , , ,] { { { {{ "極樂世界", "無量劫", "阿彌陀佛", "大菩薩", "觀世音" },{ "極樂世界", "無量劫", "阿彌陀佛", "大菩薩", "大勢至" },{ "極樂世界", "無量劫", "阿彌陀佛", "圣眾", "無量" },{ "娑婆世界", "莊嚴劫", "毗婆尸佛", "大菩薩", "無量" },{ "娑婆世界", "莊嚴劫", "尸棄佛", "大菩薩", "無量" },{ "娑婆世界", "莊嚴劫", "毗舍浮佛", "大菩薩", "無量" },{ "娑婆世界", "莊嚴劫", "毗婆尸佛", "圣眾", "無量" },{ "娑婆世界", "莊嚴劫", "尸棄佛", "圣眾", "無量" },{ "娑婆世界", "莊嚴劫", "毗舍浮佛", "圣眾", "無量" },{ "娑婆世界", "賢劫(千佛)", "拘留孫佛", "大菩薩", "無量" },{ "娑婆世界", "賢劫(千佛)", "拘那含牟尼佛", "大菩薩", "無量" },{ "娑婆世界", "賢劫(千佛)", "迦葉佛", "大菩薩", "無量" },{ "娑婆世界", "賢劫(千佛)", "拘留孫佛", "圣眾", "無量" },{ "娑婆世界", "賢劫(千佛)", "拘那含牟尼佛", "圣眾", "無量" },{ "娑婆世界", "賢劫(千佛)", "迦葉佛", "圣眾", "無量" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "觀世音" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "大勢至" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "文殊" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "普賢" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "地藏" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "大菩薩", "彌勒" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "摩訶迦葉" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "阿難" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "商那和修" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "優(yōu)波毱多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "提多迦" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "彌遮迦" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "婆須蜜多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "佛馱難提" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "伏馱蜜多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "脇" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "富那夜奢" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "馬嗚" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "迦毗摩羅" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "龍樹" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "迦那提婆" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "羅睺羅多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "僧伽難提" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "伽耶舍多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "鳩摩羅多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "阇耶多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "婆修盤頭" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "摩拏羅" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "鶴勒那" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "師子" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "婆舍斯多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "不如蜜多" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "般若多羅" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "菩提達摩" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "慧可" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "僧璨" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "道信" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "弘忍" },{ "娑婆世界", "賢劫(千佛)", "釋迦牟尼佛", "禪宗祖師", "慧能" }} } } }; int 行 = 0, 列 = 0;foreach (string 數(shù)據(jù) in 稱){ if (列 == 0)佛表.Rows.Add(); 佛表.Rows[行][列] = 數(shù)據(jù); 列++; if (列 == 5) { 行++; 列 = 0; } }玄龍戲珠無級樹(佛表);


之后將逐步發(fā)代碼和講解軟件構(gòu)思和設(shè)計具體細節(jié),以及一些細節(jié)設(shè)計的理由和判斷條件限制,做為一個案例,當然,知道自己水平有限,只是看新學(xué)提問就多,故此發(fā)布,僅資參考,拋磚引玉而已。

下次將發(fā)布軟件開發(fā)最首要關(guān)心的問題,如何打開Excel文件,獲取需要列的數(shù)據(jù)顯示到表格內(nèi)做修改。

總結(jié)

以上是生活随笔為你收集整理的关于Excel操作编写的一个软件设计构思案例[连载]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。