所謂報表,指的是以多樣的格式來呈現和打印動態的數據。也就是說在我們選定了數據之后,以指定的格式來打印或者查看這些數據。通常我們運行一個報表的過程是,先輸入查詢條件,然后點查詢,得到報表的運算結果。這是我們所常說的報表即時查詢。
但是在相當一部分的應用當中,用戶并不關注自定義的查詢,而是需要按照時間周期性得到報表。當然這種需求也可以通過固定的SQL寫法得到。但是這種SQL往往比較復雜,造成報表設計的工作量增大。并且在瀏覽器當中查詢時也并非很明確的知道該如何選擇查詢條件。
還有一種情況定時運行也非常重要,那就是對于數據量、運算量過于龐大的報表,例如庫中數據量達到數千萬,或者生成的報表有數千頁甚至更多,為了減小服務器的負載,不影響日常的工作,也可以將生成報表的任務放到服務器空閑時間運行(晚上,凌晨等),當用戶查詢報表就不需要在占用系統資源。同時數據量過大的數據庫,一般來說歷史數據保存的時間都不長,通過定時運行也是保存歷史數據的一種手段。
定時運行報表并不是報表的核心功能,所以并非所有的報表工具都關注于此。但是這也確是一個很重要的外圍功能,能夠幫助用戶,特別是最終用戶通過簡單設置之后,就能夠得到定期得到周期性的報表,而不是每次都手工生成Excel,PDF文件。
我多見過的主流報表工具中,FineReport的定時功能是相對比較出色的。并且最重要的是,它提供了對定時生成的文件的檢索功能,相當于提供了一個報表庫。用戶通過管理頁面,就可以查看已經保存在這個庫當中的日報,周報,月報,年報等等。感興趣的人可以自己去體驗一下。
了解Java報表工具就從這里開始