這次項目遇到了一個導出excel需要對應排列的問題。本來在做這個項目之前都基本沒做過excel導出的菜雞,這次強行做還是有些忐忑的,加上那個表的結構比較奇特。
廢話不多說,先介紹表結構吧 是數(shù)據(jù)對應的排序周的表結構,一個列會有很多的周別信息,如下圖展示:
由于才疏學淺,并沒有遇到過這種列里面有16*2=32列的這種保存數(shù)據(jù)的方法,一列保存的是周別的信息,另一列保存的是數(shù)量信息。
當時就有想啊,我擦那直接導出來不就好了,直接就對應上了多簡單!但是轉(zhuǎn)念一想呢,萬一要導出的不止16條呢,那后面的怎么加呢,和同事商量之后,有個同事的做法是列轉(zhuǎn)行,就是把這個所有的列都轉(zhuǎn)成行,這樣就能按照屬性(周別和數(shù)量)全部拿到數(shù)據(jù)了,但是呢,但是我比較煩寫存儲過程,想自己想想辦法,加上我這邊的篩選條件是有一個選擇周別區(qū)間的,所以我自己想了一個辦法,處理了這類的表。
這個界面能獲取到的條件除了限定的這一條是屬于誰的(查詢條件的名稱),還有就是起始周和周別和數(shù)量信息,這幾個重要的信息了,值得一提的是,這里的起始周是這16列數(shù)據(jù)第一列的周別,所以是叫做起始周,這個字段可以好好的利用。
再重新解釋下導出需求,導出要根據(jù)名稱,導出的起始周和結束周往后推16這周的信息。這里為什么要推后16周呢,恩,需求書上說的,沒有為什么。而且導出的數(shù)據(jù)要成那種菱形,就是那種那種額 不發(fā)圖表達不了啊。。。還是發(fā)圖吧。