專利名稱:一種基于表格模板集的表格自動生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機輔助設(shè)計技術(shù)領(lǐng)域,特別涉及一種基于模板集的表格自動生成
方法及系統(tǒng)。
背景技術(shù):
表格作為一種高度精煉、集中的信息表達(dá)形式,在各個行業(yè)都得到廣泛地應(yīng)用。在 CAD設(shè)計領(lǐng)域隨著計算機的普及和企業(yè)信息化程度提高,利用計算機進(jìn)行制作表格日漸興 起。在實際應(yīng)用中,由于行業(yè)和應(yīng)用領(lǐng)域的不同,表格的內(nèi)容和格式差別很大,很難用幾種 特定的表格樣式滿足各種應(yīng)用需求。從已經(jīng)公開的技術(shù)來看,目前利用計算機制作表格的 技術(shù)主要是將表格制作成表格模板,用戶根據(jù)需要調(diào)用不同的表格模板,然后生成需要的 表格,如公開號為CN18413
公開日期為2006-10-04、名稱為"用于處理電子表格的方法 和系統(tǒng)"的發(fā)明專利申請;公開號為CN101158938
公開日期為2008-04_09、名稱為"一種基 于模板節(jié)的表格快速生成系統(tǒng)及方法"的發(fā)明專利申請。上述發(fā)明專利CN1841362提供了 一種根據(jù)已裝入的表格模板來制作表格的方法,通過向表格模板添加動作元素而創(chuàng)建復(fù)合 模板,表格根據(jù)上述復(fù)合模板進(jìn)行處理并顯示給用戶;發(fā)明專利CN101158938提供了一種 基于模板節(jié)的表格快速生成系統(tǒng),通過該系統(tǒng)能夠?qū)崿F(xiàn)表格的快速拼接,并且通過模板節(jié) 與表格節(jié)、單元格排版數(shù)據(jù)之間的映像關(guān)聯(lián),實現(xiàn)表格格式重用和快速生成。但上述兩個專 利特別適合計算機排版印刷領(lǐng)域,用戶在構(gòu)造表格模板時已清晰地知道表格內(nèi)容和樣式, 所以側(cè)重點在于表格的排版、文字樣式和表格樣式等,不需要考慮數(shù)據(jù)間的關(guān)聯(lián)性對表格 格式的影響。但CAD設(shè)計領(lǐng)域內(nèi),隨輸入數(shù)據(jù)和上下文的不同,其表格的格式、填充內(nèi)容和 樣式等會發(fā)生變化,因此CAD設(shè)計領(lǐng)域的表格模板技術(shù)必須具有定義表格單元格的填充規(guī) 則和樣式描述規(guī)則的相關(guān)功能。顯然,上述專利不適用于CAD設(shè)計領(lǐng)域的電子表格自作。
在CAD設(shè)計領(lǐng)域目前已經(jīng)公開的表格模板技術(shù)主要包括2000年9月份出版的《計 算機輔助設(shè)計與圖形學(xué)報》第12巻9期公開的《面向?qū)ο笤O(shè)計的嵌套表格模板設(shè)計技術(shù)》、 2001年2月份出版的《計算機輔助設(shè)計與圖形學(xué)報》第13巻2期公開的《工程CAD材料統(tǒng) 計表自動生成系統(tǒng)中的層次模板技術(shù)》、2004年11月份出版的《計算機輔助設(shè)計與圖形學(xué) 報》第16巻11期公開的《面向?qū)ο髷?shù)據(jù)模型的表格模板規(guī)則設(shè)計》和2008年2月出版的 《計算機工程》第34巻2期公開的《表格模板可視化技術(shù)研究》等。上述文獻(xiàn)《工程CAD材 料統(tǒng)計表自動生成系統(tǒng)中的層次模板技術(shù)》,根據(jù)CAD設(shè)計領(lǐng)域表格特點,將表格分成圖1 的表頭101、表域102和表尾103組成,將表格輸入數(shù)據(jù)和表格變量對象化、層次化,從而不 同表格對象由于層次不同而構(gòu)成嵌套關(guān)系,可以制作復(fù)雜樣式的表格。但上述技術(shù)的缺點 是規(guī)則描述復(fù)雜,層次狀嵌套關(guān)系使得不同層次間的數(shù)據(jù)引用無法實現(xiàn),同時文本描述的 填充規(guī)則比較抽象、不直觀,難以使用。文獻(xiàn)《面向?qū)ο笤O(shè)計的嵌套表格模板設(shè)計技術(shù)》在文 獻(xiàn)《工程CAD材料統(tǒng)計表自動生成系統(tǒng)中的層次模板技術(shù)》的基礎(chǔ)上,加上了面向?qū)ο蟮淖?量表示方法,進(jìn)一步提高了表格模板設(shè)計的功能和可讀性。但是該方法模板的設(shè)計方式單 一,只能在表格的填充內(nèi)容和數(shù)據(jù)對象之間進(jìn)行簡單的對應(yīng)。文獻(xiàn)《面向?qū)ο髷?shù)據(jù)模型的表
5格模板規(guī)則設(shè)計》和《表格模板可視化技術(shù)研究》在上述研究的基礎(chǔ)上引進(jìn)了可視化元素,
使得表格模板設(shè)計變得可視,降低了表格模板設(shè)計特別是填充規(guī)則設(shè)計的抽象程度。但是
上述所有文獻(xiàn)研究的表格模板技術(shù)雖然很靈活、高效,但仍存在以下兩方面的不足 1、生成表格樣式單一,所生成的表格只能在有表頭101和表尾102所形成的線性
方向上生長,不支持多表格模板組合,難以生成圖2和圖3所示的復(fù)雜表格; 2、圖形和文本描述的填充規(guī)則是分離的,缺乏融合,并且填充設(shè)計抽象,缺乏直觀
性,在生成復(fù)雜表格時對用戶抽象能力和編程思維要求高,難以使用。 由于表格的多樣性和復(fù)雜性,利用計算機制作表格,首先需要建立表格模板?,F(xiàn)有 公開的表格模板技術(shù)普遍存在表格樣式單一、填充規(guī)則設(shè)計抽象等缺點,需要一種便捷地、 所見即所得但不失靈活性的表格模板制作方法,進(jìn)而實現(xiàn)表格快速自動生成。
發(fā)明內(nèi)容
( — )要解決的技術(shù)問題 本發(fā)明的目的是提供一種基于表格模板集的表格自動生成方法及系統(tǒng),以解決現(xiàn)
有的表格模板技術(shù)普遍存在表格樣式單一、填充規(guī)則設(shè)計抽象等缺點。
( 二 )技術(shù)方案 —種基于表格模板集的表格自動生成方法,包括以下步驟 Sl :繪制表格模板中的基本元素以形成表格模板;所述基本元素包括圖形信息
和文本信息,所述圖形信息包括直線段、曲線段和圖片; S2 :識別和解析表格模板中的基本元素,形成表格模板集; S3:獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)源是工程數(shù)據(jù)設(shè)計模型
或者是人機交互的表格數(shù)據(jù)集合,所述數(shù)據(jù)組織規(guī)約按照樹形層次結(jié)構(gòu)組織; S4:按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則,所述圖形關(guān)
聯(lián)規(guī)則定義了表格模板在表格生成方向或其垂直方向上的位置關(guān)系、對齊關(guān)系、偏移關(guān)系
和單元格位置關(guān)系; S5:按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板元素的文本規(guī)則,所述文本規(guī)則 定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變量為表格模板中隨表 格填充數(shù)據(jù)不同而改變的單元格文本信息,所述表格變量的填充規(guī)則和表格變量之間的關(guān) 聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù)據(jù)的排序規(guī)則和過濾規(guī)則; S6:選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本規(guī)則從數(shù)據(jù)源中獲取 表格生成數(shù)據(jù); S7:根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則和表格生成 數(shù)據(jù)自動生成表格。 其中,所述表格模板包括非列表表格模板和列表表格模板,所述列表表格模板為 在表格生成過程中文本信息和圖形信息按照行整體進(jìn)行改變,所述非列表表格模板的圖形 信息不改變。 其中,所述步驟S2包括 S21 :讀取表格模板的基本元素; S22:根據(jù)圖形元素的連通性識別每個表格模板輪廓和組成該模板的文本信息和
6圖形框架信息; S23 :記錄所述非列表表格模板和列表表格模板之間的位置關(guān)系; S24:根據(jù)表格模板輪廓、組成該模板的文本信息和所述位置關(guān)系形成表格模板集。 其中,所述步驟S5中 所述表格生成規(guī)則包括表格自動生成時表格行數(shù)、單元格形狀、統(tǒng)計數(shù)據(jù)行變化 規(guī)則; 所述排序規(guī)則按照排序時比較值的不同,可分為按數(shù)據(jù)值和按數(shù)據(jù)組織關(guān)系排 序,所述數(shù)據(jù)值排序表示數(shù)據(jù)記錄中同類數(shù)據(jù)屬性按照數(shù)值關(guān)系排序,數(shù)據(jù)組織關(guān)系表示 數(shù)據(jù)記錄按照數(shù)據(jù)所述的數(shù)據(jù)組織層次樹上層次關(guān)系排序; 所述表格生成數(shù)據(jù)過濾規(guī)則按照表格生成數(shù)據(jù)組織的樹狀層級結(jié)構(gòu)定義。 其中,所述排序規(guī)則的數(shù)據(jù)值排序和數(shù)據(jù)組織關(guān)系排序的優(yōu)先級可以配置,優(yōu)先
級相同時按升序、降序或默認(rèn)上級順序排序。 其中,所述步驟S7包括 S71 :讀取一條表格生成數(shù)據(jù),根據(jù)所述表格模板集的文本規(guī)則完成表格生成數(shù)據(jù) 排序和過濾; S72 :根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充,并生成包括表格的 統(tǒng)計數(shù)據(jù)行和單元格形狀的表格樣式圖形信息; S73 :判斷表格生成數(shù)據(jù)是否讀取完畢,若讀取完畢,則執(zhí)行步驟S74,否則,轉(zhuǎn)到 步驟S71繼續(xù)讀取下一條表格生成數(shù)據(jù); S74:根據(jù)表格模板集中表格模板間的關(guān)聯(lián)規(guī)則完成表格組合、排版,用戶交互地
完成表格排版要求確認(rèn)后自動生成表格。
—種基于表格模板集的表格自動生成系統(tǒng),包括 表格模板設(shè)計模塊,用于繪制表格模板中的基本元素以形成表格模板;所述基本
元素包括圖形信息和文本信息,所述圖形信息包括直線段、曲線段和圖片; 表格模板識別模塊,用于識別和解析表格模板中的基本元素,形成表格模板集; 表格數(shù)據(jù)源獲取模塊,用于獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)
源是工程數(shù)據(jù)設(shè)計模型或者是人機交互的表格數(shù)據(jù)集合,所述數(shù)據(jù)組織規(guī)約按照樹形層次
結(jié)構(gòu)組織; 圖形關(guān)聯(lián)規(guī)則管理模塊,用于按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖 形關(guān)聯(lián)規(guī)則,所述圖形關(guān)聯(lián)規(guī)則定義了表格模板在表格生成方向或其垂直方向上的位置關(guān) 系、對齊關(guān)系、偏移關(guān)系和單元格位置關(guān)系; 文本規(guī)則管理模塊,用于按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板元素的文本 規(guī)則,所述文本規(guī)則定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變 量為表格模板中隨表格填充數(shù)據(jù)不同而改變的單元格文本信息,所述表格變量的填充規(guī)則 和表格變量之間的關(guān)聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù)據(jù)的排序規(guī)則和過濾規(guī)則;
表格生成數(shù)據(jù)獲取模塊,用于選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和 文本規(guī)則從數(shù)據(jù)源中獲取表格生成數(shù)據(jù); 表格生成模塊,用于根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本
7規(guī)則和表格生成數(shù)據(jù)自動生成表格。 其中,所述表格模板識別模塊包括 表格模板讀取模塊,用于讀取表格模板的基本元素; 模板輪廓及文本信息識別模塊,用于根據(jù)圖形元素的連通性識別每個表格模板輪 廓和組成該模板的文本信息; 模板間位置關(guān)系識別模塊,用于記錄所述非列表表格模板和列表表格模板之間的 位置關(guān)系; 表格模板集生成模塊,用于根據(jù)表格模板輪廓、組成該模板的文本信息和所述位
置關(guān)系形成表格模板集。 其中,所述表格生成模塊包括 表格生成數(shù)據(jù)預(yù)處理模塊,用于讀取一條表格生成數(shù)據(jù),根據(jù)所述表格模板集的 文本規(guī)則完成表格生成數(shù)據(jù)排序和過濾; 單元格生成模塊,用于根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充, 并生成包括表格的統(tǒng)計數(shù)據(jù)行和單元格形狀的表格樣式圖形信息; 表格生成數(shù)據(jù)判斷模塊,用于判斷表格生成數(shù)據(jù)是否讀取完畢,若讀取完畢,則 執(zhí)行表格自動生成模塊,否則,轉(zhuǎn)到表格生成數(shù)據(jù)預(yù)處理模塊繼續(xù)讀取下一條表格生成數(shù) 據(jù); 表格自動生成模塊,用于根據(jù)表格模板集中表格模板間的關(guān)聯(lián)規(guī)則完成表格組
合、排版,用戶交互地完成表格排版要求確認(rèn)后自動生成表格。(三)有益效果 本發(fā)明具有如下有益效果 1、在表格模板生成時采用表格模板集的形式,利用表格模板集及表格模板集之間
的關(guān)聯(lián)關(guān)系可以制作各種復(fù)雜樣式的表格,降低了表格模板定制的復(fù)雜度; 2、在設(shè)置表格模板集的模板規(guī)則時將表格生成數(shù)據(jù)按照對象化、樹狀層次化進(jìn)行
組織,通過面向?qū)ο蟮睦^承和覆蓋概念降低了表格模板規(guī)則的重復(fù)定義,降低了表格模板
制作的工作量,提高了效率; 3、表格模板元素間的關(guān)聯(lián)關(guān)系通過圖形規(guī)則描述,與已有技術(shù)采用文本規(guī)則描述 變得更直接可視,而且文本規(guī)則主要用來描述表格變量的填充內(nèi)容和格式,減低了表格規(guī) 則制作的抽象性,更易于用戶使用; 4、表格模板中文本規(guī)則定義了表格生成數(shù)據(jù)的過濾規(guī)則和每條生成數(shù)據(jù)記錄的 屬性,從而在表格生成最初就可以知道哪些數(shù)據(jù)信息是有用信息,從而提高了數(shù)據(jù)采集的 速度和數(shù)據(jù)處理效率; 5、模板集靈活的表格生成數(shù)據(jù)排序方式、延遲地表格分割和排版和基于模板集表 格自動生成技術(shù),保證了生成用戶需要的、各種樣式的表格生成,提高了表格生成的自動化 程度和工作效率。
圖1是一種表格構(gòu)成示意圖;
圖2是一種復(fù)雜樣式的表格示意8
圖3是一種復(fù)雜樣式的表格示意圖; 圖4是本發(fā)明所述的基于表格模板集的表格自動生成方法流程示意圖; 圖5是圖4中步驟S407的具體流程圖; 圖6是表格模板集構(gòu)成示意圖; 圖7是表格生成數(shù)據(jù)的樹狀層次示意圖; 圖8是填充規(guī)則示意圖; 圖9是表格模板集中模板元素和生成表格的表格元素之間的裝配示意圖。
具體實施例方式
本發(fā)明提出的基于表格模板集的表格自動生成方法及系統(tǒng),結(jié)合附圖和實施例說 明如下。 本發(fā)明提出了一種基于表格模板集的表格自動生成方法,其流程如圖4所示,步 驟S401,繪制表格模板中的基本元素以形成表格模板,用戶通過繪圖軟件繪制表格模板的 基本元素,也可以將已有的表格模板編輯成符合用戶要求的表格模板。其中,表格模板的基 本元素包括圖形信息和文本信息,圖形信息包括直線段、曲線段和圖片等,文本信息主要指 表格中的文字信息。每個表格模板具有表格的特征。 步驟S402,識別和解析表格模板中的基本元素,形成表格模板集,本實例中所述的 表格模板集可以有m個表格模板組成,m為大于等于1的自然數(shù),如圖6所示的表格模板集 由表格模板601、表格模板602、表格模板603和表格模板604組成。所述的表格模板可以 劃分為n行,n是大于等于1的自然數(shù);每行可以劃分為r個單元格,r為大于等于1的自然 數(shù)。如表格模板602是由1行和15個單元格組成的。所述的表格模板的圖形信息是指構(gòu) 成表格模板元素的直線段、曲線段或者圖片等,如直線段608、直線段609等;所述的文本信 息是指構(gòu)成表格模板元素的文字信息,文字信息606、文字信息611等。根據(jù)組成表格模板 的基本元素在表格生成時的變化特性,將每個表格模板元素分成兩大類,即非列表表格模 板和列表表格模板。所述的非列表表格模板在表格生成過程中除文本信息外,圖形信息不 會改變,如表格模板601和表格模板603等。所述的列表表格模板在表格生成過程中文本 信息和圖形信息按照行整體進(jìn)行改變,如表格模板602和表格模板604等。在進(jìn)行表格模 板識別時,首先讀取各個表格模板中的基本元素;然后根據(jù)圖形元素的連通性識別每個表 格模板輪廓和組成該模板的文本信息;記錄每個表格模板元素非列表表格模板和列表表格 模板之間的位置關(guān)系,即在生成表格過程中所需的非列表表格模板和列表表格模板的位置 聯(lián)接關(guān)系,如表格模板601的左下角和表格模板602的左上角距離為0 ;又如表格模板602 的左下角和表格模板603的左上角距離為0 ;最后根據(jù)表格模板輪廓、組成該模板的文本信 息和所述位置關(guān)系形成表格模板集。 步驟S403,獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,其中,數(shù)據(jù)源通常是工程數(shù) 據(jù)設(shè)計模型或者是人機交互的表格數(shù)據(jù)集合,數(shù)據(jù)組織規(guī)約按樹狀層級結(jié)構(gòu)組織,即表格 數(shù)據(jù)源的每條數(shù)據(jù)記錄按物理含義進(jìn)行組織成樹形結(jié)構(gòu),如圖7所示,該數(shù)據(jù)組織結(jié)構(gòu)有 兩層組成分別是第一層管材701、閥門704、管件705、附件706、法蘭707和儀表708 ;第二 層由第一層的子類,如管材701的鋼管702和鑄鐵管703。 步驟S404,按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則,所述圖形關(guān)聯(lián)規(guī)則定義了表格模板在表格生成方向或其垂直方向上的位置關(guān)系、對齊關(guān)系、偏 移關(guān)系和單元格位置關(guān)系。其中,表格模板的位置關(guān)系指各表格模板(包括非列表表格模 板和列表表格模板)上下左右關(guān)系,對齊關(guān)系一般指左對齊或右對齊,偏移關(guān)系指各表格 間的距離。表格模板各個單元格之間的位置關(guān)系包括兩種,一種是表格生成數(shù)據(jù)中同一類 數(shù)據(jù)記錄放到同一列中,如閥門704的數(shù)據(jù)的第一條數(shù)據(jù)應(yīng)該依次填充單元格611、單元格 612、單元格613和單元格614,第二條數(shù)據(jù)也新添加一行,然后依次填充填充單元格611、單 元格612、單元格613和單元格614,依次直至數(shù)據(jù)信息全部處理結(jié)束;另一種是表格生成數(shù) 據(jù)中不同一類的數(shù)據(jù)記錄放在同一列,如附件706和儀表708的數(shù)據(jù)都應(yīng)填充單元格615、 單元格616、單元格617、單元格618和單元格619。 步驟S405,按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的文本規(guī)則,文本規(guī)則 定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變量為表格模板中隨表 格填充數(shù)據(jù)不同而改變的單元格文本信息,如圖6中表格模板601中的文本信息606、文本 信息610,又如表格模板602中的文本信息605等。單元格填充規(guī)則為用文本描述的指表格 變量的填充內(nèi)容和格式,約束了單元格填充的內(nèi)容,按照圖7所示樹狀結(jié)構(gòu)組織,如表格變 量615、表格變量616等對于附件706和儀表708可以分別設(shè)置不同的填充規(guī)則。所述文本 規(guī)則采用if-else if-else可視化結(jié)構(gòu)設(shè)計,如圖8所示,規(guī)則801有條件804和填充規(guī)則 803構(gòu)成,規(guī)則802的填充條件為空,填充規(guī)則為805。根據(jù)if-else if-else規(guī)則,當(dāng)規(guī)則 801的條件804為真時采用填充規(guī)則803填充表格變量,否則采用規(guī)則802,即采用填充規(guī) 則805填充表格變量。所述表格變量填充之間的關(guān)聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù) 據(jù)的排序規(guī)則和過濾規(guī)則。表格生成規(guī)則包括表格自動生成時表格行數(shù)、單元格形狀、統(tǒng) 計數(shù)據(jù)行變化規(guī)則;所述排序規(guī)則按照排序時比較值的不同,可分為按數(shù)據(jù)值和按數(shù)據(jù)組 織關(guān)系排序,所述數(shù)據(jù)值排序表示數(shù)據(jù)記錄中同類數(shù)據(jù)屬性按照數(shù)值關(guān)系排序,數(shù)據(jù)組織 關(guān)系表示數(shù)據(jù)記錄按照數(shù)據(jù)所述的數(shù)據(jù)組織層次樹上層次關(guān)系排序,如圖7中管材701、閥 門704、管件705、附件706、法蘭707和儀表708構(gòu)成的順序。排序時的優(yōu)先級為數(shù)據(jù)值排 序高于數(shù)據(jù)組織關(guān)系排序,優(yōu)先級相同時按升序、降序或默認(rèn)上級順序排序。所述表格生成 數(shù)據(jù)過濾規(guī)則按照表格生成數(shù)據(jù)組織的樹狀層級結(jié)構(gòu)定義。 步驟S406,選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本規(guī)則從數(shù)據(jù)源 中獲取表格生成數(shù)據(jù)。通常指的是從工程CAD模型文件中抽取數(shù)據(jù)信息,并按照圖7所示 數(shù)據(jù)結(jié)構(gòu)組織表格生成數(shù)據(jù)。每個工程CAD實體模型的工程屬性的集合構(gòu)成一條或者多條 數(shù)據(jù)記錄,每個屬性稱之為關(guān)鍵字。因此,上述關(guān)鍵字的名稱體現(xiàn)了模型實體的某個特定的 工程屬性,如類型、名稱、公稱直徑等;上述關(guān)鍵字的數(shù)值來自該屬性的具體工程數(shù)量。
步驟S407,根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則和表 格生成數(shù)據(jù)自動生成表格。具體步驟如圖5所示,步驟S501,對表格生成數(shù)據(jù)預(yù)處理,即 讀取一條表格生成數(shù)據(jù)記錄,根據(jù)所述表格模板集的文本規(guī)則完成表格生成數(shù)據(jù)排序和過 濾。步驟S502,根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充,并生成包括表格的 統(tǒng)計數(shù)據(jù)行和單元格形狀的表格樣式圖形信息,對于表格模板的每個表格變量的填充規(guī)則 中的字段用相應(yīng)的表格生成數(shù)據(jù)中的關(guān)鍵字的數(shù)值來替換,然后判斷填充條件是否成立, 按照if-elseif-else原則選擇合適的填充規(guī)則生成表格單元(如圖9中的單元格910)、完 成表格單元形狀、統(tǒng)計數(shù)據(jù)行(如圖9中的行916和行917)等圖形信息生成,生成表格單元格形狀時包括單元格合并、構(gòu)成單元格的邊框可見性控制等操作。表格變量和用來填充 該變量的表格文字的對應(yīng)關(guān)系是指表格變量在生成表格元素的位置坐標(biāo)和填充內(nèi)容及文 字格式,如圖9的表格模板901的表格變量909對應(yīng)生成表格905的表格文字910,表格模 板904中的表格變量911對應(yīng)生成表格元素906中的表格文字912、表格文字913、表格文 字914和表格文字915。步驟S503,判斷表格生成數(shù)據(jù)是否讀取完畢,若讀取完畢,則執(zhí)行 步驟S504,否則,轉(zhuǎn)到步驟S501繼續(xù)讀取下一條表格生成數(shù)據(jù)。步驟S504,根據(jù)表格模板 集中表格模板間的關(guān)聯(lián)規(guī)則完成表格組合、排版,用戶交互地完成表格排版要求確認(rèn)后自 動生成表格,根據(jù)表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則完成表格組合、排版生成表格, 是指按照步驟S404設(shè)置表格模板元素圖形關(guān)聯(lián)規(guī)則完成表格的位置轉(zhuǎn)換和排版,如圖9所 示,表格模板901、表格模板902、表格模板903和表格模板904分別對應(yīng)生成的表格905、表 格906、表格907和表格908。其中,所述的用戶交互地完成表格排版要求,然后表格生成模 塊完成表格自動生成,是指用戶交互地定義每張表格的行數(shù)、每頁的表格個數(shù),是否生成普 通表格等控制對上述表格進(jìn)行分頁處理、行數(shù)控制等,生成滿足用戶要求樣式的和排版格 式的表格。 本發(fā)明還提出了一種基于表格模板集的表格自動生成系統(tǒng),包括表格模板設(shè)計 模塊,用于繪制表格模板中的基本元素以形成表格模板;所述基本元素包括圖形信息和 文本信息,所述圖形信息包括直線段、曲線段和圖片;表格模板識別模塊,用于識別和解 析表格模板中的基本元素,形成表格模板集;表格數(shù)據(jù)源獲取模塊,用于獲取待生成表格 的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)源是工程數(shù)據(jù)設(shè)計模型或者是人機交互的表格數(shù)據(jù)集 合,所述數(shù)據(jù)組織規(guī)約按照樹形層次結(jié)構(gòu)組織;圖形關(guān)聯(lián)規(guī)則管理模塊,用于按照數(shù)據(jù)源結(jié) 構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則,所述圖形關(guān)聯(lián)規(guī)則定義了表格模板在表 格生成方向或其垂直方向上的位置關(guān)系、對齊關(guān)系、偏移關(guān)系和單元格位置關(guān)系;文本規(guī)則 管理模塊,用于按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板元素的文本規(guī)則,所述文本規(guī) 則定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變量的填充規(guī)則和表 格變量為表格模板中隨表格填充數(shù)據(jù)不同而改變的單元格文本信息,所述表格變量的填充 規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù)據(jù)的排序規(guī)則和過濾規(guī) 則表格生成數(shù)據(jù)獲取模塊,用于選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本規(guī) 則從數(shù)據(jù)源中獲取表格生成數(shù)據(jù);表格生成模塊,用于根據(jù)表格模板集的基本元素、模板集 中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則和表格生成數(shù)據(jù)自動生成表格。 其中,所述表格模板識別模塊包括表格模板讀取模塊,用于讀取表格模板的基本 元素;模板輪廓及文本信息識別模塊,用于根據(jù)圖形元素的連通性識別每個表格模板輪廓 和組成該模板的文本信息; 模板間位置關(guān)系識別模塊,用于記錄所述非列表表格模板和列表表格模板之間的 位置關(guān)系;表格模板集生成模塊,用于根據(jù)表格模板輪廓、組成該模板的文本信息和所述位 置關(guān)系形成表格模板集。 其中,所述表格生成模塊包括表格生成數(shù)據(jù)預(yù)處理模塊,用于讀取一條表格生成 數(shù)據(jù),根據(jù)所述表格模板集的文本規(guī)則完成表格生成數(shù)據(jù)排序和過濾;單元格生成模塊,用 于根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充,并生成包括表格的統(tǒng)計數(shù)據(jù)行 和單元格形狀的表格樣式圖形信息;表格生成數(shù)據(jù)判斷模塊,用于判斷表格生成數(shù)據(jù)是否
11讀取完畢,若讀取完畢,則執(zhí)行表格自動生成模塊,否則,轉(zhuǎn)到表格生成數(shù)據(jù)預(yù)處理模塊繼
續(xù)讀取下一條表格生成數(shù)據(jù);表格自動生成模塊,用于根據(jù)表格模板集中表格模板間的關(guān)
聯(lián)規(guī)則完成表格組合、排版,用戶交互地完成表格排版要求確認(rèn)后自動生成表格。 以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通
技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有
等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
一種基于表格模板集的表格自動生成方法,其特征在于,包括以下步驟S1繪制表格模板中的基本元素以形成表格模板;所述基本元素包括圖形信息和文本信息,所述圖形信息包括直線段、曲線段和圖片;S2識別和解析表格模板中的基本元素,形成表格模板集;S3獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)源是工程數(shù)據(jù)設(shè)計模型或者是人機交互的表格數(shù)據(jù)集合,所述數(shù)據(jù)組織規(guī)約按照樹形層次結(jié)構(gòu)組織;S4按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則,所述圖形關(guān)聯(lián)規(guī)則定義了表格模板在表格生成方向或其垂直方向上的位置關(guān)系、對齊關(guān)系、偏移關(guān)系和單元格位置關(guān)系;S5按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板元素的文本規(guī)則,所述文本規(guī)則定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變量為表格模板中隨表格填充數(shù)據(jù)不同而改變的單元格文本信息,所述表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù)據(jù)的排序規(guī)則和過濾規(guī)則;S6選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本規(guī)則從數(shù)據(jù)源中獲取表格生成數(shù)據(jù);S7根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則和表格生成數(shù)據(jù)自動生成表格。
2. 如權(quán)利要求1所述的基于表格模板集的表格自動生成方法,其特征在于,所述表格 模板包括非列表表格模板和列表表格模板,所述列表表格模板為在表格生成過程中文本 信息和圖形信息按照行整體進(jìn)行改變,所述非列表表格模板的圖形信息不改變。
3. 如權(quán)利要求2所述的基于表格模板集的表格自動生成方法,其特征在于,所述步驟S2包括521 :讀取表格模板的基本元素;522 :根據(jù)圖形元素的連通性識別每個表格模板輪廓和組成該模板的文本信息和圖形 框架信息;523 :記錄所述非列表表格模板和列表表格模板之間的位置關(guān)系;S24:根據(jù)表格模板輪廓、組成該模板的文本信息和所述位置關(guān)系形成表格模板集。
4. 如權(quán)利要求2所述的基于表格模板集的表格自動生成方法,其特征在于,所述步驟 S5中所述表格生成規(guī)則包括表格自動生成時表格行數(shù)、單元格形狀、統(tǒng)計數(shù)據(jù)行變化規(guī)則;所述排序規(guī)則按照排序時比較值的不同,可分為按數(shù)據(jù)值和按數(shù)據(jù)組織關(guān)系排序,所 述數(shù)據(jù)值排序表示數(shù)據(jù)記錄中同類數(shù)據(jù)屬性按照數(shù)值關(guān)系排序,數(shù)據(jù)組織關(guān)系表示數(shù)據(jù)記錄按照數(shù)據(jù)所述的數(shù)據(jù)組織層次樹上層次關(guān)系排序;所述表格生成數(shù)據(jù)過濾規(guī)則按照表格生成數(shù)據(jù)組織的樹狀層級結(jié)構(gòu)定義。
5. 如權(quán)利要求4所述的基于表格模板集的表格自動生成方法,其特征在于,所述排序 規(guī)則的數(shù)據(jù)值排序和數(shù)據(jù)組織關(guān)系排序的優(yōu)先級可以配置,優(yōu)先級相同時按升序、降序或 默認(rèn)上級順序排序。
6. 如權(quán)利要求1所述的基于表格模板集的表格自動生成方法,其特征在于,所述步驟S7包括`571 :讀取一條表格生成數(shù)據(jù),根據(jù)所述表格模板集的文本規(guī)則完成表格生成數(shù)據(jù)排序 和過濾;`572 :根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充,并生成包括表格的統(tǒng)計 數(shù)據(jù)行和單元格形狀的表格樣式圖形信息;`573 :判斷表格生成數(shù)據(jù)是否讀取完畢,若讀取完畢,則執(zhí)行步驟S74,否則,轉(zhuǎn)到步驟 S71繼續(xù)讀取下一條表格生成數(shù)據(jù);S74:根據(jù)表格模板集中表格模板間的關(guān)聯(lián)規(guī)則完成表格組合、排版,用戶交互地完成 表格排版要求確認(rèn)后自動生成表格。
7. —種基于表格模板集的表格自動生成系統(tǒng),其特征在于,包括表格模板設(shè)計模塊,用于繪制表格模板中的基本元素以形成表格模板;所述基本元素 包括圖形信息和文本信息,所述圖形信息包括直線段、曲線段和圖片;表格模板識別模塊,用于識別和解析表格模板中的基本元素,形成表格模板集; 表格數(shù)據(jù)源獲取模塊,用于獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)源是 工程數(shù)據(jù)設(shè)計模型或者是人機交互的表格數(shù)據(jù)集合,所述數(shù)據(jù)組織規(guī)約按照樹形層次結(jié)構(gòu) 組織;圖形關(guān)聯(lián)規(guī)則管理模塊,用于按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān) 聯(lián)規(guī)則,所述圖形關(guān)聯(lián)規(guī)則定義了表格模板在表格生成方向或其垂直方向上的位置關(guān)系、 對齊關(guān)系、偏移關(guān)系和單元格位置關(guān)系;文本規(guī)則管理模塊,用于按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板元素的文本規(guī) 則,所述文本規(guī)則定義了表格變量的填充規(guī)則和表格變量之間的關(guān)聯(lián)關(guān)系,所述表格變量 為表格模板中隨表格填充數(shù)據(jù)不同而改變的單元格文本信息,所述表格變量的填充規(guī)則和 表格變量之間的關(guān)聯(lián)關(guān)系包括表格生成規(guī)則、表格生成數(shù)據(jù)的排序規(guī)則和過濾規(guī)則;表格生成數(shù)據(jù)獲取模塊,用于選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本 規(guī)則從數(shù)據(jù)源中獲取表格生成數(shù)據(jù);表格生成模塊,用于根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則 和表格生成數(shù)據(jù)自動生成表格。
8. 如權(quán)利要求7所述的基于表格模板集的表格自動生成系統(tǒng),其特征在于,所述表格 模板識別模塊包括表格模板讀取模塊,用于讀取表格模板的基本元素;模板輪廓及文本信息識別模塊,用于根據(jù)圖形元素的連通性識別每個表格模板輪廓和 組成該模板的文本信息;模板間位置關(guān)系識別模塊,用于記錄所述非列表表格模板和列表表格模板之間的位置 關(guān)系;表格模板集生成模塊,用于根據(jù)表格模板輪廓、組成該模板的文本信息和所述位置關(guān) 系形成表格模板集。
9. 如權(quán)利要求7所述的基于表格模板集的表格自動生成系統(tǒng),其特征在于,所述表格 生成模塊包括表格生成數(shù)據(jù)預(yù)處理模塊,用于讀取一條表格生成數(shù)據(jù),根據(jù)所述表格模板集的文本規(guī)則完成表格生成數(shù)據(jù)排序和過濾;單元格生成模塊,用于根據(jù)排序和過濾后的表格生成數(shù)據(jù)自動完成單元格填充,并生 成包括表格的統(tǒng)計數(shù)據(jù)行和單元格形狀的表格樣式圖形信息;表格生成數(shù)據(jù)判斷模塊,用于判斷表格生成數(shù)據(jù)是否讀取完畢,若讀取完畢,則執(zhí)行表 格自動生成模塊,否則,轉(zhuǎn)到表格生成數(shù)據(jù)預(yù)處理模塊繼續(xù)讀取下一條表格生成數(shù)據(jù);表格自動生成模塊,用于根據(jù)表格模板集中表格模板間的關(guān)聯(lián)規(guī)則完成表格組合、排 版,用戶交互地完成表格排版要求確認(rèn)后自動生成表格。
全文摘要
本發(fā)明公開了一種基于表格模板集的表格自動生成方法,包括繪制表格模板中的基本元素以形成表格模板;識別和解析表格模板中的基本元素,形成表格模板集;獲取待生成表格的數(shù)據(jù)源的數(shù)據(jù)組織規(guī)約,所述數(shù)據(jù)組織規(guī)約按照樹形層次結(jié)構(gòu)組織;按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的圖形關(guān)聯(lián)規(guī)則;按照數(shù)據(jù)源結(jié)構(gòu)設(shè)置表格模板集中表格模板間的文本規(guī)則;選擇模板集,根據(jù)所選模板集中的圖形關(guān)聯(lián)規(guī)則和文本規(guī)則從數(shù)據(jù)源中獲取表格生成數(shù)據(jù);根據(jù)表格模板集的基本元素、模板集中的圖形關(guān)聯(lián)規(guī)則、文本規(guī)則和表格生成數(shù)據(jù)自動生成表格。本發(fā)明降低了表格模板定制的復(fù)雜度,提高了表格生成的自動化程度和工作效率。
文檔編號G06F17/24GK101794280SQ20101012303
公開日2010年8月4日 申請日期2010年3月11日 優(yōu)先權(quán)日2010年3月11日
發(fā)明者何濤, 周肖彬, 唐衛(wèi)清, 李士才, 林志丹, 石念峰, 黃曉劍 申請人:北京中科輔龍計算機技術(shù)股份有限公司