積木報表—JimuReport v1.5.4版本發布,免費的可視化Web報表工具
目介紹
一款免費的低代碼可視化報表,像搭建積木一樣在線拖拽設計!低代碼開發必備,功能涵蓋,數據報表、打印設計、圖表報表、大屏設計等! 秉承“簡單、易用、專業”的產品理念,極大的降低報表開發難度、縮短開發周期、節省成本、解決各類報表難題,完全免費的!
當前版本:v1.5.4 | 2022-10-25
集成依賴
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-nosql-starter</artifactId>
<version>1.5.4</version>
</dependency>
#升級日志
重點升級了打印支持固定表頭表尾、自動換行打印、Api配置打印次數、漏洞修復、多租戶權限集成,解決了分組、分組排序及其他問題。
重點功能
- html打印支持固定表頭表尾
- html打印支持Api配置記錄打印次數
- 自動換行html打印空白多優化
- 多租戶權限集成
- 修復字典查詢問題
- 安全漏洞修復
- 優化分組、分組排序問題
Issues處理
- 交叉報表一級表頭與二級表頭對應關系出錯issues/1096
- 圖片為帶參數的url格式,html打印時無法正常加載issues/1155
- 分組排序問題issues/1254
- 分組小計多了一行issues/1242
- 負值轉百分數顯示錯誤issues/1183
- 交叉報表動態屬性數據錯亂issues/I5GXXA
- 1.5.0版本單元格插入img標簽觸發xssissues/I5EF8S
- MongDB數據源導excel只能導出100條數據issues/I5J74D
- 單元格下拉復制會出現undefined值issues/I59EUZ
- 數據格式百分比負數問題issues/I5O2P5
- 統計函數DBSUM失效issues/I5JQ6H
- 數據庫為0的字段,excell導出顯示0E-18issues/I5G5CP
- 導出pdf時候,圖表左側出現空白issues/I5LCOK
- 圖表綁定SQL數據集,運行報錯issues/1171
- MongDB數據源導出excel只有100條數據issues/1182
- 導出數據查詢條件取值錯誤issues/1182
- 導出Excel與報表頁查詢條件不一致issues/1286
- 百分號格式的數據導出excel之后會變成小數issues/1146
- 下拉樹組件接口地址不支持變量issues/1210
- 使用dbsum統計,當統計的字段過多時預覽出錯issues/1293
- 超鏈接報表鉆取原始參數自定義表達式傳參不是期望值issues/1203
- 多個列進行DBSUM的情況下,出現報錯信息issues/1314
#代碼下載
- https://github.com/zhangdaiscott/JimuReport
- https://gitee.com/jeecg/JimuReport
#技術文檔
- 體驗官網: http://jimureport.com
- 技術文檔: http://report.jeecg.com
為什么選擇 JimuReport?
永久免費,支持各種復雜報表,并且傻瓜式在線設計,非常的智能,低代碼時代,這個是你的首選!
- 采用SpringBoot的腳手架項目,都可以快速集成
- Web 版設計器,類似于excel操作風格,通過拖拽完成報表設計
- 通過SQL、API等方式,將數據源與模板綁定。同時支持表達式,自動計算合計等功能,使計算工作量降低
- 開發效率很高,傻瓜式在線報表設計,一分鐘設計一個報表,又簡單又強大
- 支持 ECharts,目前支持28種圖表,在線拖拽設計,支持SQL和API兩種數據源
- 支持分組、交叉,合計、表達式等復雜報表
- 支持打印設計(支持套打、背景打印等)可設置打印邊距、方向、頁眉頁腳等參數 一鍵快速打印 同時可實現套打,不動產證等精準、無縫打印
- 大屏設計器支持幾十種圖表樣式,可自由拼接、組合,設計炫酷大屏
- 可設計各種類型的單據、大屏,如出入庫單、銷售單、財務報表、合同、監控大屏、旅游數據大屏等
#系統截圖
- 報表設計器(專業一流 數據可視化,解決各類報表難題)
#功能清單
本文簡介
- 面試大廠,HTML/CSS,JS,網絡基礎這三塊硬知識是必不可少的
- 我整理了一些備考筆記,分享給大家
- 初中級前端到高級前端的蛻變,從基礎知識開始~
2 塊元素和行元素
2.1 請說出3個H5新增的塊元素,并介紹他們的應用場景
- aside:表示article元素內容之外,與article元素內容相關的輔助信息
- figure:代表一個塊級圖像,包含說明。figure添加標題時,與figcaption元素結合使用。
- dialog:表示幾個人直接的對話。與dt和dd元素結合使用,dt表示講話者,dd表示講話內容。
2.2 行內元素和塊元素的區別
- HTML元素分為行內、塊狀、行內塊元素三種。
- 塊元素和行內塊元素可以設置寬高
- 行內元素不可以,高度由內容撐開
- 三者是可以通過display屬性任意轉換的 block 塊狀元素 inline-block行內塊元素 inline 行內元素
2.3 塊級元素特征
- 可以設置寬高
- 設置margin、padding的上下左右都有效
- 元素獨占一行
- 多個塊狀元素一起寫,默認排列從上至下
我自己是一名從事了多年開發的web前端老程序員,目前辭職在做自己的web前端私人定制課程,今年我花了一個月整理了一份最適合2020年學習的web前端學習干貨,各種框架都有整理,送給每一位前端小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:前端,即可免費獲取。
2.4 行內塊元素特征
- 能設置寬高
- 不會自動換行
- 多個行內塊一起寫,默認從左至右排列
2.5 行內元素特征
- 設置寬高無效
- 設置margin的上下無效,左右有效,設置padding上下左右都有效(并且會撐大空間)
- 不會自動換行
3 CSS
3.1 請說出3個CSS瀏覽器前綴
- -ms- 兼容IE瀏覽器
- -moz- 兼容firefox
- -o- 兼容opera
- -webkit- 兼容chrome和safari
使用demo
div { -ms-transform: rotate(0); -webkit-transform: rotate(0); -moz-transform: rotate(0); -o-transform: rotate(0); transform: rotate(0);}
CSS前綴自動補全:autoprefixer
3.2 盒模型
- 盒模型分為標準盒模型和怪異盒模型(IE5.X和6)兩種
- 標準盒模型 width=content
- 怪異盒模型 width=content + padding + border
已知: margin:20px; border:10px; padding:10px; width:200px; height:50px;

標準盒模型:1\. 占用寬:margin*2+padding*2+border*2+width=20*2+10*2+10*2+200=2802\. 占用高:margin*2+padding*2+border*2+height=20*2+10*2+10*2+50=1303\. 盒子實際寬度:padding*2+border*2+width=10*2+10*2+200=2404\. 盒子實際高度padding*2+border*2+height=10*2+10*2+50=90

怪異盒模型:1\. 占用寬:margin*2+width=20*2+200=2402\. 占用高:margin*2+height=20*2+50=903\. 盒子實際寬度:width=2004\. 盒子實際高度height=50
IE8及更早版本不兼容問題解決方案:在HTML頁面聲明
3.3 box-sizing都有哪些值?他們的寬高分別如何計算?
- content-box(標準盒模型)|border-box(怪異盒模型)|inherit(繼承父元素)
- content-box的寬高由content決定
- border-box的寬高由content+padding+border決定
4. BFC
4.1 什么是邊界塌陷(或邊界重疊)?
- 兄弟div(上下margin塌陷)
- 父子div(如果父級div沒有padding\border\inlinecontent, 子級div的margin會向上查找邊界塌陷的div,直到找到某個標簽包括border\padding\inline content的其中一個,然后按此div進行margin)
4.2 什么是BFC(格式化上下文)?如何實現?
BFC(塊狀格式化上下文,獨立的盒子,布局不受外部影響,但是如果同一個BFC中,同級塊狀元素的margin-top和margin-bottom會重疊)
只要元素滿足下面的任一條件,都會觸發BFC特征。
- body根元素
- position: fixed|absolute(絕對定位元素)
- float(浮動元素) 除了none
- overflow: hidden|auto|scroll (除了visible之外的值)
- display: inline-block\ table-cells\flex (具有table-的屬性)
解決問題:
- 解決邊界塌陷問題
- 解決浮動元素導致父元素高度塌陷問題
- 解決阻止元素被浮動元素覆蓋問題
4.3 多個inline元素之間會有空隙,為什么?如何解決?
元素被當成行內元素排版時,元素直接的空白符會被瀏覽器處理,根據white-spack的處理方式(默認是normal,合并多余空白),Html代碼在回車換行時被轉成一個空白符,在字體不為0的情況下,空白符占據一定寬度,所以inline-block元素之間就出現了空隙。
復現<ul> <li>首頁</li> <li>登陸</li> <li>資源</li> <li>社區</li> <li>幫助</li></ul>

解決辦法:
- 多個inline元素寫在同一行
- 將父級元素的font-size:0
- 給inline元素添加float的樣式
- 設置子元素的margin為負值
- 設置父元素display:table和word-spacing:-1em
5 浮動
5.1 浮動會出現什么問題?
5.2 如何清除浮動?
- 父元素加上overflow:hidden
- 在浮動元素的后面(同級),添加一個div,屬性是clear:both
- 在父元素添加一個偽元素 .clearfix:after { display: block; height: 0; visibility: hidden; clear: both; content: '';} .clearfix{ //IE6模式下 zoom:1;}
- 在父元素添加雙偽元素 .clearfix:before,.clearfix:after { display: table; content: '';}.clearfix:after { clear: both;}.clearfix { zoom: 1; //兼容IE6下}
6 position都有哪些值?
- relative 相對定位 (相對元素在文檔中的初始位置定位)
- absolute絕對定位(相對于定位元素定位,最頂級是body)
- fixed 固定定位 (相對窗口定位)
- static 文檔流

7 CSS的選擇器
7.1 CSS的選擇器有哪些?
- id 選擇器
- class 選擇器
- tag 選擇器
- 屬性 選擇器(a[href=""] )
- 派生 選擇器
7.2 優先級高低如何判斷?
- 不同級優先級: !important>內聯>id>class=屬性=偽類 >標簽=偽元素 > 通配符(*)
- 同一級別: 后來居上 (后寫覆蓋先寫) 內聯樣式 > 內部樣式表 > 外部樣式表 > 導入樣式 @import 
優先級相同時會發生什么? 樣式被覆蓋
7.3 列舉幾條常用的CSS reset
- *{ margin:0; padding:0;}
- ol, ul { list-style:none;}
- body {line-height:1;}
7.4 是否了解normalize?
normalize.css是一個css reset的替代方案。
- 保護有用的瀏覽器默認樣式而不是完全去掉
- 一般化樣式:為大部分html元素提供
- 修復瀏覽器自身的bug
- 優化css可用性
- 解釋代碼
7.5 如何做到一個list中奇數和偶數行的背景色不一樣?
ul>li:nth-child(2n+1) { background-color: red; }ul>li:nth-child(2n) { background-color: yellow;}
7.6 如何做到一個list的第一行沒有上邊框?
ul>li:first-child { border-top: none; }
有夢想的人,眼睛會發光。
希望屏幕前的你,能夠關注我一波。接下來,我會分享前端各種干貨,以及編程中的趣事。
本標簽: 32
- <html></html>,創建一個HTML文檔;
- <head></head>,設置文檔標題和其它在網頁中不顯示的信息;
- <title></title>,設置文檔的標題;
- <h1></h1>,最大的標題;
- <pre></pre>,預先格式化文本;
- <u></u>,下劃線
- <b></b>,黑體字;
- <i></i>,斜體字;
- <tt></tt>,打字機風格的字體;
- <cite></cite>,引用,通常是斜體;
- <em></em>,強調文本(通常是斜體加黑體);
- <strong></strong>,加重文本(通常是斜體加黑體);
- <font,size="",color=""></font>,設置字體大小從1到7,顏色使用名字或RGB的十六進制值;
- <BASEFONT></BASEFONT>,基準字體標記;
- <big></big>,字體加大;
- <SMALL></SMALL>,字體縮小;
- <STRIKE></STRIKE>,加刪除線;
- <CODE></CODE>,程式碼;
- <KBD></KBD>,鍵盤字;
- <SAMP></SAMP>,范例;
- <VAR></VAR>,變量;
- <BLOCKQUOTE></BLOCKQUOTE>,向右縮排;
- <DFN></DFN>,述語定義;
- <ADDRESS></ADDRESS>,地址標記;
- <sup></SUP>,上標字;
- <SUB></SUB>,下標字;
- <xmp>...</xmp>固定寬度字體(在文件中空白、換行、定位功能有效)
- <plaintext>...</plaintext>固定寬度字體(不執行標記符號);
- <listing>...</listing>,固定寬度小字體;
- <font,color=00ff00>...</font>字體顏色;
- <font,size=1>...</font>最小字體;
- <font,style,='font-size:100,px'>...</font>無限增大.
格式標簽: 16
- <p></p>,創建一個段落;
- <p,align="">,將段落按左、中、右對齊;
- <br>,換行,插入一個回車換行符;
- <blockquote></blockquote>,從兩邊縮進文本;
- <dl></dl>,列表標簽,定義列表;
- <dt>,定義列表標題;
- <dd>,定義列表內容;
例:
<dl>
<dt>標題1</dt>
<dd>內容11</dd>
<dd>內容12</dd>
<dt>標題2</dt>
<dd>內容21</dd>
<dd>內容22</dd>
</dl>
- <ol></ol>,列表標簽,定義一個標有數字的列表;
- <ul></ul>,列表標簽,定義一個標有圓點的列表;
- <li>,放在每個列表項之前; 放在<ol></ol>之間則每個列表項加上一個數字,放在<ul></ul>之間則每個列表項加上一個圓點;
- <div,align=""></div>,分區標簽,用來排版大塊HTML段落,也用于格式化表;
- <MENU>,選項清單;
- <DIR>,目錄清單;
- <nobr></nobr>,強行不換行;
- <hr,size='9',width='80%',color='ff0000'>水平線(設定寬度);
- <center></center>,水平居中.
鏈接標簽: 7
- <a,href="URL"></a>,創建超文本鏈接;
- <a,href="mailtEMAIL">
- </a>,創建自動發送電子郵件的鏈接;
- <a,name="name"></a>,創建位于文檔內部的書簽;
- <a,href="#name"></a>,創建指向位于文檔內部書簽的鏈接;
- <BASE>,文檔中不能被該站點辨識的其它所有鏈接源的URL;
- <LINK>,定義一個鏈接和源之間的相互關系;
鏈接標簽注解:
target="...",決定鏈接源在什么地方顯示(用戶自定義的名字,_blank,_parent,_self,_top);
rel="...",發送鏈接的類型;
rev="...",保存鏈接的類型;
accesskey="...",指定該元素的熱鍵;
shape="...",允許我們使用已定義的形狀定義客戶端的圖形鏡像(default,rect,circle,poly);
coord="...",使用像素或者長度百分比來定義形狀的尺寸;
tabindex="...",使用定義過的tabindex元素設置在各個元素之間的焦點獲取順序(使用tab鍵使元素獲得焦點).
表格標簽: 21
- <table></table>,創建一個表格;
- <tr></tr>,表格中的每一行;
- <td></td>,表格中一行中的每一個格子;
- <th></th>,設置表格頭:通常是黑體居中文字;
- <table,cellspacing="">,設置表格格子之間空間的大小;
- <table,border="">,設置邊框的寬度;
- <table,cellpadding="">,設置表格格子邊框與其內部內容之間空間的大小;
- <table,width="">,設置表格的寬度.用絕對像素值或總寬度的百分比;
- <table,align="">,設置表格格子的水平對齊方式(left,center,right,justify);
- <tr,align="">,設置表格格子的水平對齊方式(left,center,right,justify);
- <tr,valign="">,設置表格格子的垂直對齊方式(baseline,bottom,middle,top);
- <td,colspan="">,設置一個表格格子跨占的列數(缺省值為1);
- <td,rowspan="">,設置一個表格格子跨占的行數(缺省值為1);
- <td,nowrap>,禁止表格格子內的內容自動斷行;
- <CAPTION></CAPTION>,表格的標題;
- <COLGROUP></COLGROUP>,定義多個列為一組列;
- <TABLE></TABLE>,創建一個表格;
- <THEAD></THEAD>,定義表格的頁眉;
- <COL>,定義一個列組中的列,以便對它們能夠同時設置有關屬性;
- <TBODY></TBODY>,定義一個表格的實體;
- <TFOOT></TFOOT>,定義一個表格的頁腳;
表單標簽: 18
- <form></form>,創建表單;
action="...",接收數據的服務器的URL;
method="...",HTTP的方法(get,,post),其中get是被反對使用的;
enctype="...",指定MIME(Internet媒體類型);
onsubmit="...",當提交表單時發生的內部事件;
noreset="...",在重新設置表單時發生的內部事件;
target="...",決定把內容顯示在什么地方(_blank,_parent,_self,_top)
- <select,multiple,name="name",size=""></select>,創建滾動菜單,size設置在需要滾動前可以看到的表單項數目;
- <option>,設置每個表單項的內容;
- <select,name="name"></select>,創建下拉菜單;
- <textarea,name="name",cols=40,rows=8></textarea>,創建一個文本框區域,列的數目設置寬度,行的數目設置高度;
- <input,type="checkbox",name="name">,創建一個復選框,文字在標簽后面;
- <input,type="radio",name="name",value="">,創建一個單選框,文字在標志后面;
- <input,type=text,name="foo",size=20>,創建一個單行文本輸入區域,size設置以字符串的寬度;
- <input,type="submit",value="name">,創建提交(submit)按鈕;
- <input,type="image",border=0,name="name",src="name.gif">,創建一個使用圖象的提交(submit)按鈕;
- <input,type="reset">,創建重置(reset)按鈕;
- <BUTTON></BUTTON>,創建一個按鈕;
disabled="...",把按鈕的狀態設置為不能;
name="...",按鈕的控制名,value="...",按鈕的值;
type="...",按鈕的類型(button,,submit,,reset);
- <FIELDSET></FIELDSET>,把相互關聯的控件組合成一組;
- <ISINDEX>,提示用戶輸入;
- <LABEL></LABEL>,為一個控件提供標簽;
- <LEGEND></LEGEND>,為FIELDSET元素指定一標題;
- <SELECT></SELECT>,為用戶做選擇創建各個選項;
- <TEXTAREA></TEXTAREA>,創建一個允許用戶多行輸入的區域.
表單標簽注解:
type="...",用于輸入控件的類型(text,password,checkbox,radio,submit,reset,file,hidden,image,button);
name="...",控件的控制名(要求是除了submit和reset之外的任何名字);
value="...",控件的初始值;
checked="...",把一個單選鈕設置為選中的狀態;
disabled="...",把控件的狀態設置為不能使用;
readonly="...",只對輸入密碼的文本框使用;
size="...",表示以像素為單位的除了文本框和密碼框控件之外的其它控件的寬度,它是用來指定字符的數目;
src="...",一個圖像控件的URL;
maxlength="...",指定可以輸入的最多的字符數目;
alt="...",另外一種文本描述;
usemap="...",到客戶端圖形鏡像的URL;
align="...",被反對.控制對齊方式(left,,center,,right,,justify);
tabindex="...",通過定義的tabindex值確定在不同元素之間獲得焦點的順序;
onfocus="...",當元素獲得焦點時發生的事件;
onblur="...",當元素失去焦點時發生的事件;
onselect="...",當元素被選中時發生的事件;
onchang="...",當元素狀態被改變時發生的事件;
accept="...",允許上載的文件類型.
幀標簽(框架標簽): 27
- <frameset></frameset>,放在一個幀文檔的<body>標簽之前,也可以嵌在其他幀文檔中;
- <frameset,rows="value,value">,定義一個幀內的行數,可用像素值或高度百分比;
- <frameset,cols="value,value">,定義一個幀內的列數,可用像素值或寬度百分比;
- <frame>,定義一個幀內的單一窗或窗區域;
- <noframes></noframes>,定義在不支持幀的瀏覽器中顯示什么提示;
- <frame,src="URL">,規定幀內顯示的HTML文檔;
- <frame,name="name">,命名幀或區域以便別的幀可以指向它;
- <frame,marginwidth="">,定義幀左右邊緣的空白大小,必須大于等于1;
- <frame,marginheight="">,定義幀上下邊緣的空白大小,必須大于等于1;
- <frame,scrolling="">,設置幀是否有滾動欄,其值可以是"yes","no",或"auto";
- <frame,noresize>,禁止用戶調整一個幀的大小;
- <IFRAME></IFRAME>,創建一個內聯的幀;
scr="...",定義在幀中顯示的內容的來源;
frameborder="...",定義幀之間的邊界(0或1);
align="...",被反對,控制對齊方式(left,,center,,right,,justify);
height="...",幀的高度,width="..."幀的寬度;
- <marquee>...</marquee>,普通卷動;
- <marquee,behavior=slide>...</marquee>,滑動;
- <marquee,behavior=scroll>...</marquee>,預設卷動;
- <marquee,behavior=alternate>...</marquee>,來回卷動;
- <marquee,direction=down>...</marquee>,向下卷動;
- <marquee,direction=up>...</marquee>,向上卷動;
- <marquee,direction=right></marquee>,向右卷動;
- <marquee,direction='left'></marquee>,向左卷動;
- <marquee,loop=2>...</marquee>,卷動次數;
- <marquee,width=180>...</marquee>,設定寬度;
- <marquee,height=30>...</marquee>,設定高度;
- <marquee,bgcolor=FF0000>...</marquee>,設定背景顏色;
- <marquee,scrollamount=30>...</marquee>,設定卷動距離;
- <marquee,scrolldelay=300>...</marquee>,設定卷動時間;
- <img,src="">,插入圖片,參數有:width="寬",alt="說明文字",height="高",boder="邊框".
文檔整體屬性標簽: 10
- <body,bgcolor="">,設置背景顏色.使用名字或RGB的十六進制值;
- <body,background="">,設置背景圖片;
- <body,bgsound="">,設置背景音樂;
- <body,bgproperties="fixed">,固定背景圖片(IE適用);
- <body,text="">,設置文本顏色.使用名字或RGB的十六進制值;
- <body,link="">,設置鏈接顏色.使用名,字或RGB的十六進制值;
- <body,vlink="">,設置已使用的鏈接的顏色.使用名字或RGB的十六進制值;
- <body,alink="">,設置正在被擊中的鏈接的顏色.使用名字或RGB的十六進制值;
- <body,topmargin="">,設置頁面的上邊距;
- <body,leftmargin="">,設置頁面的左邊距.