實際需求:業務上的一個需求,資料庫表A中的B欄位存放的是該條資料的一些標籤,標籤存在兩級【即一級標籤和二級標籤】, 現在要是實現將這些標籤統計到報表中,一級標籤作為表頭,二級標籤作為填充值。
由於之前的報表每增加一個列都需要去資料庫表中增加這個欄位名稱,然後程式碼中寫統計邏輯,這樣才能實現, 這樣做的好處是隻需要後端就可以完成報表的一個欄位的增加,不需要等待前端去增加這了列名了, 後來的低程式碼就是這樣的邏輯,可以簡單的編寫sql,去實現統計邏輯。實現快速開發,節省開發時間。
迴歸正題,由於每個資料的標籤是不確定的,那就導致了每個每個資料要統計的列是不一樣的,這裡的做法是將全部的標籤都進行增加統計【使用者不需要的話還有個功能取消掉某列的統計就可以了】,當使用者新增一個標籤的時候,只要去檢視報表,檢測到這個標籤的名稱不在列統計當中,就會自動的去新增一條列統計欄位,每條資料迴圈的時候要將給其賦值,有對應的二級標籤那就展示二級標籤名稱,沒有的話那也要新增一個列,但是資料填寫空字串。【這一步主要是防止在下載報表的時候報錯,以防列數對應不上而報錯】。
有兩個核心的點,第一個:統計的列名為什麼還要在資料庫表中再存一份? 其實也可以將要統計的列名放入程式碼中寫死,同樣可以實現報表資料的展示,但是所有的客戶都會展示這麼多的列統計,沒有辦法支援各個客戶對統計列的篩選【這個就是原因】。
第二個:程式碼中的列資料如何和資料庫表中的列名對應上的? 資料庫表中存入統計列的列中文名和列英文名, 在程式碼中一個欄位的定義肯定是英文的,這樣就可以知道如何賦值了,【列中文名是給客戶展示的】,其中 。。。 有時間再繼續
C# .netcore NPOI庫 實現報表的列自適應刪減
相關文章
- 用margin實現兩列布局中的自適應列
- C# 實現NPOI的Excel匯出C#Excel
- (幾乎)完美實現 el-table 列寬自適應
- NetCore框架WTM的分表分庫實現NetCore框架
- textarea實現高度自適應的理解
- 實現iframe內容的自適應
- c# 窗體自適應C#
- jquery 實現iframe 自適應高度jQuery
- css實現左欄固定右欄自適應,高度自適應的佈局CSS
- jquery實現的iframe高度自適應效果jQuery
- css實現的左右兩列寬度固定中間寬度自適應CSS
- css實現的左右兩列自適應等高效果程式碼例項CSS
- javascript實現的iframe高度自適應程式碼JavaScript
- 怎樣實現動態列報表,也就是列數不固定的報表?
- NPOI之使用EXCEL模板建立報表Excel
- gridview自動適應列寬View
- CSS 左右兩列自適應等高CSS
- CSS實現圖片寬度自適應CSS
- jQuery實現圖片尺寸自適應效果jQuery
- 純 CSS 實現自適應正方形CSS
- 實現一個高度自適應的輸入框
- css實現兩欄固定中間自適應CSS
- 固定寬度下,CSS 實現自適應文字CSS
- web 報表工具如何自適應Web
- css實現圖片自適應容器的幾種方式CSS
- jquery實現的iframe高度自適應程式碼例項jQuery
- 利用@media screen實現網頁佈局的自適應網頁
- 兩列自適應佈局方案整理
- 三列寬度自適應佈局
- QTableWidget行高列寬自適應QT
- css三列自適應佈局效果CSS
- css三列一列寬度自適應效果CSS
- 關於c#使用Npoi庫的一些隨筆C#
- ORACLE資料庫中刪除表資料後,資料庫表空間已使用不會自動減少Oracle資料庫
- C#(.NetCore)接入AD域使用者的實現C#NetCore
- Python 實現自動化 Excel 報表PythonExcel
- 如何實現兩欄佈局,右側自適應?三欄佈局中間自適應呢?
- ajax應用實現iframe高度自適應程式碼例項