今天有個客戶提出一個比較有意思的需求柑晒,請看下面的表格先,從E列到AI列是一個月的范圍眷射,需要填上工時匙赞。根據(jù)實際工程進度佛掖,** 可能還要在AI列后面增加N個月(每個月12列)** 。而且總共多少列是不確定的涌庭,怎樣設(shè)置模板芥被?
這個問題比較典型,對于比較大的表格(通常是指列數(shù)比較多)在定義模板的時候比較麻煩脾猛,即使花九牛二虎之力設(shè)置好撕彤,每次填報或查看時,系統(tǒng)反應(yīng)也比較慢猛拴,而且這么大一個表格羹铅,填寫也不方便,不能充分體現(xiàn)勤哲EXCEL服務(wù)器系統(tǒng)的優(yōu)勢愉昆。
解決方案A
針對這種情況职员,如果多列為重復(fù)性質(zhì)的內(nèi)容(例如,本例從E列到AI列都是日期對應(yīng)的工時)跛溉,可以考慮使用勤哲的交叉表焊切,使用交叉表可以同時向下,向右拓展行數(shù)和列數(shù)芳室,而且在定義列的重復(fù)數(shù)據(jù)項(本例E列到AI列)時候不需要定義N個字段专肪,只要定義一個字段(本例為工時)。但這種方案也有一個缺點堪侯,填報體驗沒有改善嚎尤,另外會大量消耗數(shù)據(jù)庫存儲空間。
解決方案B
我們先從傳統(tǒng)的表格轉(zhuǎn)模板的思路中跳出來伍宦,思考一下芽死,我們上系統(tǒng)的目的是什么? 目的之一是提高效率次洼,對吧关贵! 進一步說是數(shù)據(jù)錄入的時候盡量簡單和簡潔,減少重復(fù)錄入卖毁,結(jié)果(數(shù)據(jù)報表)更加及時揖曾,好看,準確亥啦。
有了這個認識炭剪,我們可以考慮把數(shù)據(jù)錄入與報表分開來實現(xiàn)。數(shù)據(jù)錄入進數(shù)據(jù)庫以后禁悠,可以使用非常方便念祭,強大的勤哲表間公式或數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言工具SQL(其實勤哲表間公式歸根結(jié)底也是SQL語句)來生成各種需要的報表(結(jié)果)兑宇。
具體實現(xiàn)步驟
-
我們觀察這個任務(wù)碍侦,其實就是審核員要記錄自己每天在哪些工程審計上面花了多少時間。所以,首先定義一個工時錄入的簡單模板瓷产。
為了提高錄入效率站玄,填報人設(shè)置為新建表單時自動填入登錄者姓名,另外在工程名稱列設(shè)置了一個列表選項濒旦,點擊列表選項的時候株旷,系統(tǒng)會自動彈出該審核者名下未完成的工程相關(guān)信息,選擇一個或多個工程名稱尔邓,系統(tǒng)自動填入與工程相關(guān)的其他信息(例如編號晾剖,開始時間要求完成時間),錄入者只需要在對應(yīng)的工程名稱后面填入在某天(工作日)和多少工時梯嗽。
- 填完工時齿尽,怎樣按照客戶原始表格格式體現(xiàn)結(jié)果呢? 我們可以考慮用數(shù)據(jù)透視表灯节,透視表是EXCEL本身的一個超級強大的數(shù)據(jù)統(tǒng)計工具循头。透視表的數(shù)據(jù)源設(shè)置為服務(wù)器數(shù)據(jù)庫剛才錄入的《工時錄入表》。
a)在本地新建一個空白EXCEL表炎疆,選擇數(shù)據(jù)菜單卡骂,現(xiàn)有連接,瀏覽更多..., 新建源形入,
b) 選擇Microsoft SQL Server, 進入下一步.
c) 填寫數(shù)據(jù)庫服務(wù)器名稱或IP, 填寫數(shù)據(jù)庫登錄用戶名和密碼
d) 選擇數(shù)據(jù)透視表進入透視表的操作過程全跨,透視表怎樣格式化這里就不具體講了。
結(jié)果就是這樣唯笙,當然還可以選擇不同的格式螟蒸,在透視表里面,可以按照月份崩掘,年份匯總七嫌,點擊月份前的"+"就可以展開當月的明細。在設(shè)置數(shù)據(jù)源的過程中可以選擇保存密碼苞慢,這樣下次打開報表的時候自動同步數(shù)據(jù)庫里面的數(shù)據(jù)(需設(shè)置為自動同步)诵原,或者在表格內(nèi)按右鍵,選擇刷新挽放,即可和同步數(shù)據(jù)庫里面的數(shù)據(jù)绍赛。
也可以在EXCEL服務(wù)器里面新建一個查詢模板,選擇用剛才做好透視表的EXCEL文件做模板辑畦,不需要定義其他數(shù)據(jù)項吗蚌,直接設(shè)置權(quán)限,保存就可以纯出,這樣在EXCEL服務(wù)器菜單下面也可以打開這個透視表蚯妇。