From d24862719714be5f76fb3dc81a3a3da8de4cc5a4 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 02 七月 2022 16:23:03 +0800
Subject: [PATCH] 关于打印功能的测试内容

---
 public/grf/5j.grf                              |  449 
 public/grf/3n.grf                              |  563 
 public/grf/1g.grf                              |  873 +
 public/grf/6h.grf                              |  299 
 public/grf/2e.grf                              |  353 
 public/grf/5a.grf                              |  393 
 public/grf/8f.grf                              |  351 
 public/grf/4a.grf                              |  802 
 public/grf/3q-2.grf                            |  234 
 public/grf/7-3g.grf                            |  219 
 public/grf/8d.grf                              |  313 
 public/grf/9x.grf                              | 1172 +
 public/grf/3c.grf                              |  272 
 public/grf/ds.grf                              |  303 
 public/grf/7-1b.grf                            |  191 
 public/grf/5c.grf                              |  393 
 public/grf/6f.grf                              |  327 
 public/grf/7-1i.grf                            |  316 
 public/grf/SummaryToDetail/ChartBar.grf        |  114 
 public/grf/1i.grf                              |  593 
 public/grf/7-2b.grf                            |  345 
 public/grf/3l.grf                              |  637 
 public/grf/5l.grf                              |  317 
 public/grf/7-3e.grf                            |  415 
 public/grf/2c.grf                              |  452 
 public/grf/3e.grf                              |  371 
 public/grf/8b.grf                              |  302 
 public/grf/1p.grf                              |  202 
 public/grf/1l.grf                              |  312 
 public/grf/SummaryToDetail/Summary.grf         |  343 
 public/grf/2j.grf                              |  365 
 public/grf/2k.grf                              |  391 
 public/grf/8a.grf                              |  995 +
 public/grf/6m.grf                              |  315 
 public/grf/7-3c.grf                            |  163 
 public/grf/a0.grf                              | 2801 +++
 public/grf/2a.grf                              |  374 
 public/grf/6d.grf                              |  173 
 public/grf/1a.grf                              |  314 
 public/grf/5d.grf                              |  633 
 public/grf/1n.grf                              |  309 
 src/layout/components/Sidebar/index.vue        |    3 
 public/grf/7-1f.grf                            |  411 
 public/grf/5m.grf                              |  270 
 public/grf/3g.grf                              |  203 
 public/grf/7-2e.grf                            |  305 
 public/grf/2h.grf                              |  412 
 public/grf/7-3a.grf                            |  163 
 public/grf/3k.grf                              |  263 
 public/index.html                              |    1 
 public/grf/1e.grf                              |  549 
 public/grf/1j.grf                              |  269 
 public/grf/4e.grf                              |  851 +
 public/grf/7-1a2.grf                           |    1 
 public/grf/2m.grf                              |  259 
 public/grf/5h.grf                              |  388 
 public/grf/3p.grf                              |  229 
 public/grf/6k.grf                              |  297 
 public/grf/3b.grf                              |  232 
 public/grf/3@.grf                              |  203 
 public/grf/9b.grf                              |  615 
 public/grf/8h.grf                              |  298 
 public/grf/6b.grf                              |   96 
 public/grf/aaa.grf                             |   94 
 public/grf/4c.grf                              |  639 
 public/grf/5f.grf                              |  320 
 public/grf/7-2g.grf                            |  343 
 public/grf/2f.grf                              |  388 
 public/grf/1c.grf                              |  315 
 public/grf/7-1d.grf                            |  257 
 public/grf/3i.grf                              |  295 
 public/grf/5o.grf                              |  275 
 public/grf/1q.grf                              |  189 
 public/grf/SummaryToDetail/Detail.grf          |  377 
 public/grf/3d.grf                              |  330 
 public/grf/3q-1.grf                            |  176 
 public/grf/8e.grf                              |  127 
 public/grf/6i.grf                              |  404 
 public/grf/4b.grf                              | 1129 +
 public/grf/7-1a.grf                            |  264 
 public/grf/1f.grf                              |  447 
 public/grf/5i.grf                              |  456 
 public/grf/7-1c.grf                            |  255 
 public/grf/3o.grf                              |  478 
 public/grf/7-2a.grf                            |  270 
 public/grf/6g.grf                              |  325 
 public/grf/2d.grf                              |  255 
 public/grf/3q-3.grf                            |  207 
 public/grf/7-3f.grf                            |  379 
 public/grf/8c.grf                              |  231 
 public/grf/3f.grf                              |  232 
 public/grf/1o.grf                              |  169 
 public/grf/6e.grf                              |  324 
 public/grf/7-1h.grf                            |  199 
 public/grf/SummaryToDetail/Crosstab.grf        |  393 
 public/grf/5b.grf                              |  562 
 public/grf/1h.grf                              |  386 
 public/grf/3m.grf                              |  352 
 public/grf/6n.grf                              |  269 
 public/grf/5k.grf                              |  128 
 public/grf/7-2c.grf                            |  515 
 public/grf/a1.grf                              | 1202 +
 public/grf/2b.grf                              |  326 
 public/grf/7-1g.grf                            |  244 
 public/grf/5e.grf                              |  513 
 public/grf/1b.grf                              |  410 
 public/grf/1m.grf                              |  161 
 public/grf/7-2f.grf                            |  391 
 public/grf/3h.grf                              |  304 
 public/grf/7-2d.grf                            |  324 
 public/grf/5p.grf                              |  208 
 public/grf/8i.grf                              |  305 
 public/grf/6l.grf                              |  435 
 public/grf/2i.grf                              |  381 
 public/grf/2l.grf                              |  373 
 public/grwebapp.js                             |  490 
 public/grf/7-3d.grf                            |  174 
 public/grf/6c.grf                              |  140 
 public/grf/SummaryToDetail/Crosstab_Period.grf |  243 
 public/webapp-ws-tutorial.htm                  |  239 
 public/grf/9a.grf                              |  520 
 public/grf/产品流传单A5.grf                         |  450 
 public/grf/1d.grf                              |  200 
 public/grf/7-1e.grf                            |  241 
 public/grf/3j.grf                              |  243 
 public/grf/5n.grf                              |  270 
 public/grf/1k.grf                              |  269 
 public/grf/2g.grf                              |  355 
 public/grf/program/data_from_url.grf           |  314 
 public/grf/产品流传单.grf                           |  347 
 public/grf/3q.grf                              |  204 
 public/grf/7-3b.grf                            |   99 
 public/grf/6j.grf                              |  446 
 public/grf/5g.grf                              |  363 
 public/grf/4d.grf                              |  596 
 public/grf/3a.grf                              |  213 
 public/grf/8g.grf                              |  115 
 public/grf/6a.grf                              |   66 
 138 files changed, 50,304 insertions(+), 1 deletions(-)

diff --git a/public/grf/1a.grf b/public/grf/1a.grf
new file mode 100644
index 0000000..b313dc3
--- /dev/null
+++ b/public/grf/1a.grf
@@ -0,0 +1,314 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1a.绠�鍗曡〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438,
+				"Visible":false
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875,
+				"Visible":false
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175,
+				"Visible":false
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1b.grf b/public/grf/1b.grf
new file mode 100644
index 0000000..b89ac5e
--- /dev/null
+++ b/public/grf/1b.grf
@@ -0,0 +1,410 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1b.鍙屽眰琛ㄥご",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍙屽眰琛ㄥご鎶ヨ〃: Grid++Report 鐨勬槑缁嗙綉鏍兼爣棰樿鍙互瀹氫箟浠绘剰澶氬眰鐨勭骇鑱斿叧绯汇�傚湪璁捐鍣ㄢ�樺垪鏍囬甯冨眬...鈥欑晫闈腑鍙互鍦ㄨ璁℃椂瀹氫箟澶氬眰鏍囧ご銆傞�氳繃IGRDetailGrid 涓� IGRColumnTitleCell 鐨勪竴浜涙柟娉曞彲浠ョ敤缂栫▼鐨勬柟寮忓畾涔夊灞傝〃澶淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPage",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.5875
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":1.37583,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"ContactName",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"濮撳悕"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"ContactTitle",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绉拌皳"
+						}
+					],
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴鏂规硶"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column2",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Country",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍥藉"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"City",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍩庡競"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Region",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍦板尯"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"PostalCode",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"閭紪"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Address",
+							"BackColor":"FFFFFF",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍦板潃"
+						}
+					],
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浣嶇疆淇℃伅"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.396875,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1c.grf b/public/grf/1c.grf
new file mode 100644
index 0000000..a19aa02
--- /dev/null
+++ b/public/grf/1c.grf
@@ -0,0 +1,315 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1c.閿佸畾鍒�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏄庣粏缃戞牸閿佸畾鍒楋細鍦ㄢ�樼畝鍗曞垪琛ㄢ�欐姤琛ㄧ殑鍩虹涓婏紝閫氳繃璁惧畾鏄庣粏缃戞牸鐨勨�橀攣瀹氬垪鏁�(FixCols)鈥欏睘鎬у�间负2锛屼粠鑰屾寚瀹氭姤琛ㄥ湪鏌ヨ鏄剧ず鏃舵槑缁嗙綉鏍兼渶宸﹁竟鐨勪袱鍒椾笉杩涜姘村钩婊氬姩锛屾�绘槸鏄剧ず鍦ㄦ渶宸﹁竟銆俓r\n\r\n鍏朵腑鐨勨�滃湴鍧�(绐勫垪)鈥濆垪鏄负浜嗘紨绀烘墦鍗板垪瀹借嚜鍔ㄩ�傚簲鍐呭鍔熻兘鑰屼笓闂ㄨ瀹氱殑锛岃缃槑缁嗙綉鏍肩殑鈥滄墦鍗板垪瀹借嚜鍔ㄩ�傚簲鍐呭鈥濆睘鎬у嵆鍙紑鍚繖鏍风殑鍔熻兘銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"AppendBlankCol":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.38667
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.81
+			},
+			{
+				"Name":"City",
+				"Width":2.01083
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.41313
+			},
+			{
+				"Name":"Fax",
+				"Width":3.41313
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"BackColor":"FFFF00",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"BackColor":"FFFF00",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1d.grf b/public/grf/1d.grf
new file mode 100644
index 0000000..37a70f5
--- /dev/null
+++ b/public/grf/1d.grf
@@ -0,0 +1,200 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1d.澶氭爮鎶ヨ〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍒嗘爮鎶ヨ〃锛氶�氳繃瀹氫箟鏄庣粏缃戞牸鐨勨�橀〉鏍忔暟(PageColumnCount)鈥欏睘鎬у畾涔夊鏍忔姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PageColumnDirection":"AcrossDown",
+		"PageColumnCount":2,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select CompanyName,ContactName,ContactTitle from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CompanyName",
+				"Width":3.59833
+			},
+			{
+				"Name":"ContactName",
+				"Width":2.01083
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":2.16958
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPageColumn",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1e.grf b/public/grf/1e.grf
new file mode 100644
index 0000000..62f1c1d
--- /dev/null
+++ b/public/grf/1e.grf
@@ -0,0 +1,549 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1e.鍥惧儚",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧缁曡涓庢樉绀哄浘鍍忥細鍙畾涔変竴涓槑缁嗙綉鏍煎垪锛岃鍒楃殑瀹藉害鍩烘湰涓庨〉闈㈢殑鍙緭鍑哄搴︾浉绛夈�傞殣钘忔槑缁嗙綉鏍肩殑鏍囬琛屻�傚皢鍞竴鐨勫唴瀹规牸璁句负鑷敱鏍硷紝鍦ㄥ叾涓姞鍏ラ渶瑕佹樉绀哄唴瀹圭殑閮ㄤ欢妗嗐�傚叾涓浘鍍忔鍏宠仈瀵瑰簲鐨勫瓧娈点�傛樉绀洪暱鏂囧瓧瀛楁(Notes)鍐呭鐨勫瓧娈垫璁句负鏂囧瓧鍙粫琛屼笖涓哄彲浼稿睍锛屽唴瀹规牸涔熻涓哄彲浼稿睍锛岃繖鏍峰湪杩愯鏃讹紝璇ュ瓧娈垫浼氭牴鎹綋鍓嶆樉绀烘枃瀛楃殑澶氬皯鏉ヤ几灞曢珮搴︼紝浠庤�屼娇鎵�鏈夌殑鏂囧瓧閮藉彲浠ュ畬鍏ㄦ樉绀哄嚭鏉ワ紝鍚屾椂鍐呭鏍肩殑楂樺害涔熶細浼稿睍鐩稿悓鐨勯珮搴︺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+	},
+	"ImageList":[
+		{
+			"Image":"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"
+		},
+		{
+			"Image":"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"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"BackColor":"CCFFCC",
+			"Height":3.41313,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox19",
+					"BackColor":"FFFFFF",
+					"Dock":"Top",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥惧儚甯冨眬"
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox16",
+					"BackColor":"FFFFFF",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox22",
+					"BackColor":"FFFFFF",
+					"Left":3.54542,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"SizeMode":"Clip",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox23",
+					"BackColor":"FFFFFF",
+					"Left":6.87917,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"SizeMode":"Stretch",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox24",
+					"BackColor":"FFFFFF",
+					"Left":10.2129,
+					"Top":0.79375,
+					"Width":2.2225,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox25",
+					"BackColor":"FFFFFF",
+					"Left":13.5996,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TransparentMode":"Overlying",
+					"ImageIndex":1
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox20",
+					"Left":0.211667,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹屾暣鏄剧ず"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox21",
+					"Left":3.59833,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"淇壀"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox22",
+					"Left":6.79979,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"閾烘弧"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox23",
+					"Left":10.2129,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"缂╂斁"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox24",
+					"Left":13.5996,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"閫忔槑"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":3.41313,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox25",
+					"Dock":"Top",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥惧儚鏃嬭浆"
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox26",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox27",
+					"Left":3.54542,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"RotateMode":"Left",
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox28",
+					"Left":6.87917,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"RotateMode":"Right",
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox29",
+					"Left":10.2129,
+					"Top":0.79375,
+					"Width":2.2225,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"RotateMode":"Flip",
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox30",
+					"Left":13.5996,
+					"Top":0.79375,
+					"Width":2.19604,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"RotateMode":"Mirror",
+					"ImageIndex":2
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox26",
+					"BackColor":"CCFFCC",
+					"Left":0.211667,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"涓嶆棆杞�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox27",
+					"BackColor":"CCFFCC",
+					"Left":3.59833,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"宸︽棆"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox28",
+					"BackColor":"CCFFCC",
+					"Left":6.79979,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"鍙虫棆"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox29",
+					"BackColor":"CCFFCC",
+					"Left":10.2129,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"棰犲��"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox30",
+					"BackColor":"CCFFCC",
+					"Left":13.5996,
+					"Top":2.59292,
+					"Width":2.19604,
+					"Height":0.608542,
+					"TextAlign":"MiddleCenter",
+					"Text":"闀滃儚"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"Height":4.60375,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox17",
+					"Dock":"Top",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绯荤粺鍥惧儚"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox15",
+					"Dock":"Top",
+					"Top":0.608542,
+					"Height":2.59292,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"Text":"绯荤粺鍥惧儚鏄疓rid++Report鍐呴儴瀹氫箟鐨勪竴浜涘父鐢ㄥ浘鏍囷紝閫氳繃璁剧疆鈥滃浘鍍忓簭鍙封�濆睘鎬ф寚瀹氳鏄剧ず鏌愪釜绯荤粺鍥惧儚銆傚湪甯姪涓煡璇㈡灇涓� GRSystemImage 鍙互鐭ラ亾姣忎釜绯荤粺鍥惧儚鐨勫簭鍙峰�笺�俓r\n瀹為檯搴旂敤涓彲浠ラ�氳繃浠g爜鍔ㄦ�佽缃�滃浘鍍忓簭鍙封�濆睘鎬ф潵鍔ㄦ�佹樉绀烘煇涓郴缁熷浘鍍忋�傚鏋滆鍦ㄦ槑缁嗙綉鏍间腑鏄剧ず绯荤粺鍥惧儚锛屽彲浠ヨ缃浘鍍忔鐨勨�滄暟鎹瓧娈碘�濆睘鎬э紝瀵瑰簲鐨勫瓧娈靛�煎簲璇ヤ笌鏌愪釜绯荤粺鍥惧儚鐨勫簭鍙峰搴斻��"
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox2",
+					"Left":0.423333,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox3",
+					"Left":1.95792,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox4",
+					"Left":3.51896,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-3
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox5",
+					"Left":5.08,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-4
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox6",
+					"Left":6.61458,
+					"Top":3.4925,
+					"Width":1.00542,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-5
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox7",
+					"Left":8.20208,
+					"Top":3.4925,
+					"Width":1.00542,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-6
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox8",
+					"Left":9.78958,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-7
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox9",
+					"Left":11.3242,
+					"Top":3.4925,
+					"Width":1.00542,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-8
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox31",
+					"Left":12.9117,
+					"Top":3.4925,
+					"Width":0.978958,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-9
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox32",
+					"Left":14.4727,
+					"Top":3.4925,
+					"Width":1.00542,
+					"Height":0.79375,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":-10
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter2",
+			"Height":6.00604,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox18",
+					"Dock":"Top",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥惧儚闆嗗悎"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox16",
+					"Dock":"Top",
+					"Top":0.608542,
+					"Height":3.01625,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"Text":"鍦℅rid++Report鐨勬姤琛ㄤ富瀵硅薄涓婂彲浠ュ畾涔夊浘鍍忛泦鍚堬紝涔熷氨鏄皢澶氫釜鎶ヨ〃涓細鐢ㄥ埌鐨勫浘鍍忔垨鍥炬爣瀹氫箟鍦ㄥ浘鍍忛泦鍚堥噷锛屽浘鍍忛泦鍚堥噷鐨勫浘鍍忕敤鍥惧儚妗嗘樉绀哄嚭鏉ワ紝涓�涓浘鍍忓彲浠ヨ澶氭鏄剧ず銆傚浘鍍忛泦鍚堜腑閫氬父瀹氫箟涓�浜涙姤琛ㄨ鏄剧ず鐨勫浘鏍囥�俓r\n閫氳繃璁剧疆鈥滃浘鍍忓簭鍙封�濆睘鎬ф寚瀹氳鏄剧ず鏌愪釜鍥惧儚闆嗗悎涓殑鍥惧儚銆傚疄闄呭簲鐢ㄤ腑鍙互閫氳繃浠g爜鍔ㄦ�佽缃�滃浘鍍忓簭鍙封�濆睘鎬ф潵鍔ㄦ�佹樉绀烘煇涓浘鍍忋�傚鏋滆鍦ㄦ槑缁嗙綉鏍间腑鏄剧ず闆嗗悎鍥惧儚锛屽彲浠ヨ缃浘鍍忔鐨勨�滄暟鎹瓧娈碘�濆睘鎬э紝瀵瑰簲鐨勫瓧娈靛�煎簲璇ヤ笌鏌愪釜鍥惧儚闆嗗悎鐨勫簭鍙峰搴斻��"
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox10",
+					"Left":0.211667,
+					"Top":3.83646,
+					"Width":2.38125,
+					"Height":1.82563,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox11",
+					"Left":3.01625,
+					"Top":3.83646,
+					"Width":1.98438,
+					"Height":1.79917,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox12",
+					"Left":5.3975,
+					"Top":3.83646,
+					"Width":2.38125,
+					"Height":1.82563,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox13",
+					"Left":8.20208,
+					"Top":3.83646,
+					"Width":2.38125,
+					"Height":1.82563,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":1
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox14",
+					"Left":10.9802,
+					"Top":3.83646,
+					"Width":1.98438,
+					"Height":1.79917,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":2
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox15",
+					"Left":13.3879,
+					"Top":3.83646,
+					"Width":2.38125,
+					"Height":1.82563,
+					"SizeMode":"EnsureFullView",
+					"ImageIndex":1
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1f.grf b/public/grf/1f.grf
new file mode 100644
index 0000000..47d89db
--- /dev/null
+++ b/public/grf/1f.grf
@@ -0,0 +1,447 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1f.琛ㄦ牸涓浘鍍忎笌鏂囧瓧",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧缁曡涓庢樉绀哄浘鍍忥細鍙畾涔変竴涓槑缁嗙綉鏍煎垪锛岃鍒楃殑瀹藉害鍩烘湰涓庨〉闈㈢殑鍙緭鍑哄搴︾浉绛夈�傞殣钘忔槑缁嗙綉鏍肩殑鏍囬琛屻�傚皢鍞竴鐨勫唴瀹规牸璁句负鑷敱鏍硷紝鍦ㄥ叾涓姞鍏ラ渶瑕佹樉绀哄唴瀹圭殑閮ㄤ欢妗嗐�傚叾涓浘鍍忔鍏宠仈瀵瑰簲鐨勫瓧娈点�傛樉绀洪暱鏂囧瓧瀛楁(Notes)鍐呭鐨勫瓧娈垫璁句负鏂囧瓧鍙粫琛屼笖涓哄彲浼稿睍锛屽唴瀹规牸涔熻涓哄彲浼稿睍锛岃繖鏍峰湪杩愯鏃讹紝璇ュ瓧娈垫浼氭牴鎹綋鍓嶆樉绀烘枃瀛楃殑澶氬皯鏉ヤ几灞曢珮搴︼紝浠庤�屼娇鎵�鏈夌殑鏂囧瓧閮藉彲浠ュ畬鍏ㄦ樉绀哄嚭鏉ワ紝鍚屾椂鍐呭鏍肩殑楂樺害涔熶細浼稿睍鐩稿悓鐨勯珮搴︺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"ImageList":[
+		{
+			"Image":"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"
+		},
+		{
+			"Image":"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"
+		}
+	],
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select EmployeeID,LastName+FirstName as Name,Title,TitleOfCourtesy,BirthDate,\r\nHireDate,Address,City,Region,PostalCode,Country,HomePhone,Extension,Photo,Notes\r\nfrom Employees",
+			"Field":[
+				{
+					"Name":"EmployeeID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Name"
+				},
+				{
+					"Name":"Title"
+				},
+				{
+					"Name":"TitleOfCourtesy"
+				},
+				{
+					"Name":"BirthDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"HireDate",
+					"Type":"DateTime",
+					"Format":"yyyy/MM/dd"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"HomePhone"
+				},
+				{
+					"Name":"Photo",
+					"Type":"Binary"
+				},
+				{
+					"Name":"Notes"
+				},
+				{
+					"Name":"Extension"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":15.9808
+			}
+		],
+		"ColumnContent":{
+			"Height":7.40833,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"FFFF00",
+							"BackStyle":"Normal",
+							"Width":16.9863,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":142500,
+								"Bold":true,
+								"Charset":134
+							},
+							"DataField":"Name"
+						},
+						{
+							"Type":"PictureBox",
+							"Name":"PictureBox1",
+							"Left":11.1919,
+							"Top":1.00542,
+							"Width":4.81542,
+							"Height":5.3975,
+							"DataField":"Photo"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"Top":0.978958,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍛樺伐缂栧彿锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Top":1.5875,
+							"Width":1.79917,
+							"Height":0.582083,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鑱屽姟锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Top":2.16958,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"绉拌皳锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":5.97958,
+							"Top":0.978958,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍑虹敓鏃ユ湡锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Left":5.97958,
+							"Top":1.5875,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍒拌亴鏃ユ湡锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":1.79917,
+							"Top":0.978958,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"EmployeeID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Left":1.79917,
+							"Top":1.5875,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"Title"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Left":1.79917,
+							"Top":2.19604,
+							"Width":2.80458,
+							"Height":0.582083,
+							"DataField":"TitleOfCourtesy"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox5",
+							"Left":7.77875,
+							"Top":0.978958,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"BirthDate"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox6",
+							"Left":7.77875,
+							"Top":1.5875,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"HireDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"Top":2.98979,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板潃锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"Top":3.59833,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍩庡競锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"Left":5.97958,
+							"Top":3.59833,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板尯锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"Top":4.20688,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"閭紪锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"Left":5.97958,
+							"Top":2.98979,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍥藉锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox12",
+							"Left":5.97958,
+							"Top":4.18042,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"瀹跺涵鐢佃瘽锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox13",
+							"Top":5.18583,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"澶囨敞锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox8",
+							"Left":1.79917,
+							"Top":2.98979,
+							"Width":2.77813,
+							"Height":0.608542,
+							"CanGrow":true,
+							"WordWrap":true,
+							"DataField":"Address"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox9",
+							"Left":1.79917,
+							"Top":3.59833,
+							"Width":2.77813,
+							"Height":0.582083,
+							"DataField":"City"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox10",
+							"Left":1.79917,
+							"Top":4.18042,
+							"Width":2.77813,
+							"Height":0.608542,
+							"DataField":"PostalCode"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox11",
+							"Left":7.77875,
+							"Top":2.98979,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"Country"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox12",
+							"Left":7.77875,
+							"Top":3.59833,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"Region"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox13",
+							"Left":7.77875,
+							"Top":4.20688,
+							"Width":2.80458,
+							"Height":0.608542,
+							"DataField":"HomePhone"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox14",
+							"Top":5.79438,
+							"Width":10.5833,
+							"Height":0.582083,
+							"CanGrow":true,
+							"WordWrap":true,
+							"DataField":"Notes"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Visible":false,
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0.608542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox14",
+					"Center":"Both",
+					"Left":6.85271,
+					"Width":2.30188,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鍛樺伐妗f"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1g.grf b/public/grf/1g.grf
new file mode 100644
index 0000000..ad0ea03
--- /dev/null
+++ b/public/grf/1g.grf
@@ -0,0 +1,873 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1g.鏉″舰鐮佷笌浜岀淮鐮�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏉″舰鐮併�俓r\n\r\n鍦ㄦ姤琛ㄤ腑鎻掑叆鏉″舰鐮侀儴浠舵鍗冲彲瀹炵幇鏉″舰鐮佺殑鏄剧ず涓庢墦鍗帮紝鍦ㄦ槑缁嗙綉鏍间腑鐨勬潯褰㈢爜鍙互鍏宠仈瀛楁锛屾潯褰㈢爜鏁版嵁灏嗘潵鑷簬鍏宠仈鐨勫瓧娈靛�笺�俓r\n\r\n閫氬父ITF-14鏉$爜鏄渶瑕佹樉绀鸿竟妗嗙殑锛屼絾鍥犱负鍦ㄦ煇浜涚壒娈婃儏鍐典笅鍙堜笉闇�瑕佺粯鍒惰竟妗嗭紝鎵�浠ユ柊寤虹殑ITF-14鏉$爜鍦ㄩ粯璁ゅ睘鎬т笅鏄病鏈夎竟妗嗙殑銆傝鏄剧ず鍑鸿竟妗嗭紝鍙璁剧疆鏉$爜鐨勨�滆竟妗嗏�濆睘鎬э紝閫氬父灏嗙嚎瀹藉害璁剧疆涓衡��4鈥濄�傚鏋滈渶瑕佹樉绀哄�兼枃瀛楋紝鍦ㄦ潯鐮佺殑涓嬭竟瀹氫箟涓�涓患鍚堟枃瀛楁鎴栧瓧娈垫锛屼笌鏉$爜鍏宠仈鐩稿悓鐨勬暟鎹煙銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":0.5,
+		"TopMargin":2,
+		"RightMargin":0.5,
+		"BottomMargin":2
+	},
+	"DetailGrid":{
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"PageColumnDirection":"AcrossDown",
+		"PageColumnCount":4,
+		"PageColumnSpacing":0.2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select top 32 * from Customers\r\norder by CustomerID",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OnlyOne",
+				"Width":4.78896
+			}
+		],
+		"ColumnContent":{
+			"Height":6.19125,
+			"ColumnContentCell":[
+				{
+					"Column":"OnlyOne",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox21",
+							"Left":0.211667,
+							"Top":0.211667,
+							"Width":4.39208,
+							"Height":5.79438,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+							}
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":0.370417,
+							"Top":0.9525,
+							"Width":4.02167,
+							"Height":0.529167,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":120000,
+								"Weight":400,
+								"Charset":134
+							},
+							"ShrinkFontToFit":true,
+							"DataField":"Address"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Left":0.370417,
+							"Top":0.423333,
+							"Width":4.02167,
+							"Height":0.529167,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":120000,
+								"Weight":400,
+								"Charset":134
+							},
+							"ShrinkFontToFit":true,
+							"Text":"[#Country#][#City#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Left":0.370417,
+							"Top":1.48167,
+							"Width":4.02167,
+							"Height":0.529167,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":120000,
+								"Weight":400,
+								"Charset":134
+							},
+							"ShrinkFontToFit":true,
+							"Text":"[#ContactName#](鏀�)"
+						},
+						{
+							"Type":"Barcode",
+							"Name":"Barcode1",
+							"Left":0.396875,
+							"Top":2.19604,
+							"Width":4,
+							"Height":3.59833,
+							"BarcodeType":"QRCode",
+							"CaptionPosition":"None",
+							"Text":"[#Country#][#City#][#Address#][#ContactName#][#CompanyName#]澧炲姞浜岀淮鏉″舰鐮侊紝鍖呮嫭PDF417涓嶲RCode锛屼袱绉嶇被鍨嬬殑浜岀淮鐮侀兘鑳界紪鐮佹眽瀛楋紝瀹屽叏婊¤冻鍥芥爣瑙勮寖"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Visible":false,
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OnlyOne"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":11.1919,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":0.396875,
+					"Top":1.56104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"Code25(Int,In,Matrix)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode2",
+					"Left":0.582083,
+					"Top":2.14313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"Code25_Interleaved",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":5.18583,
+					"Top":1.56104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"Code39(Extend)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode4",
+					"Left":5.34458,
+					"Top":2.14313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox6",
+					"Left":9.97479,
+					"Top":1.56104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"Code128"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode5",
+					"Left":10.16,
+					"Top":2.14313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"Code128Auto",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":14.7638,
+					"Top":1.56104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"Code93(Extend)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode6",
+					"Left":14.949,
+					"Top":2.14313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"Code93",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"Left":0.396875,
+					"Top":4.70958,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeMSI"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode7",
+					"Left":0.582083,
+					"Top":5.29167,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeMSI",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox9",
+					"Left":5.18583,
+					"Top":4.70958,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodePostNet"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode8",
+					"Left":5.34458,
+					"Top":5.29167,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodePostNet",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox10",
+					"Left":9.97479,
+					"Top":4.70958,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeCodabar"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode9",
+					"Left":10.16,
+					"Top":5.29167,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeCodabar",
+					"Text":"123456",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox11",
+					"Left":14.7638,
+					"Top":4.70958,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"ITF-14"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode10",
+					"Left":14.949,
+					"Top":5.29167,
+					"Width":4.39208,
+					"Height":1.29646,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Width":4
+						}
+					},
+					"BarcodeType":"ITF-14",
+					"CaptionPosition":"None",
+					"Text":"12345678901234",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox12",
+					"Left":0.370417,
+					"Top":7.91104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeEAN8"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode11",
+					"Left":0.555625,
+					"Top":8.49313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeEAN8",
+					"CheckSum":true,
+					"Text":"12345678",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox13",
+					"Left":5.15938,
+					"Top":7.91104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeEAN13"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode12",
+					"Left":5.31813,
+					"Top":8.49313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeEAN13",
+					"CheckSum":true,
+					"Text":"1234567890123",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox14",
+					"Left":9.94833,
+					"Top":7.91104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeUPC-A"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode13",
+					"Left":10.1335,
+					"Top":8.49313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeUPC_A",
+					"CheckSum":true,
+					"Text":"123456789012",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox15",
+					"Left":14.7373,
+					"Top":7.91104,
+					"Width":4.78896,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"CodeUPC-E(0,1)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode14",
+					"Left":14.9225,
+					"Top":8.49313,
+					"Width":4.39208,
+					"Height":2.01083,
+					"BarcodeType":"CodeUPC_E0",
+					"CheckSum":true,
+					"Text":"1234567",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox20",
+					"Left":8.20208,
+					"Top":0.396875,
+					"Width":4.39208,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚勭绫诲瀷鏉″舰鐮�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":15.0019,
+					"Top":6.58813,
+					"Width":4.20688,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"CharSpacing":3,
+					"Text":"12345678901234"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":5.21229,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox16",
+					"Left":0.370417,
+					"Top":0.185208,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"DataMatrix"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode15",
+					"Left":0.555625,
+					"Top":0.767292,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"DataMatrix",
+					"CaptionPosition":"None",
+					"CheckSum":true,
+					"Text":"Grid++Report 鍙敤浜嶤/S鎶ヨ〃涓嶹EB鎶ヨ〃锛屽紑鍙戞闈㈡姤琛ㄤ笌WEB鎶ヨ〃鍏变韩鐩稿悓鐨勫紑鍙戠煡璇嗕笌璧勬簮",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox17",
+					"Left":5.15938,
+					"Top":0.185208,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"PDF417"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode16",
+					"Left":5.31813,
+					"Top":0.767292,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"PDF417",
+					"CaptionPosition":"None",
+					"CheckSum":true,
+					"Text":"Grid++Report 鍙敤浜庡紑鍙戞闈/S鎶ヨ〃涓嶹EB鎶ヨ〃(B/S鎶ヨ〃)锛屽紑鍙戞闈㈡姤琛ㄤ笌WEB鎶ヨ〃鍏变韩鐩稿悓鐨勫紑鍙戠煡璇嗕笌璧勬簮",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox18",
+					"Left":9.94833,
+					"Top":0.185208,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"QRCode(鍚勭瀛楃)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode17",
+					"Left":10.1335,
+					"Top":0.767292,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"QRCode",
+					"CaptionPosition":"None",
+					"CheckSum":true,
+					"Text":"Grid++Report is the best report tools,rubylong(2003-2010)",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox19",
+					"Left":14.7373,
+					"Top":0.185208,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"QRCode(姹夊瓧)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode18",
+					"Left":14.9225,
+					"Top":0.767292,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"QRCode",
+					"CaptionPosition":"None",
+					"BarRatio":2.25,
+					"CheckSum":true,
+					"Text":"Grid++Report 鍙敤浜庡紑鍙戞闈/S鎶ヨ〃涓嶹EB鎶ヨ〃(B/S鎶ヨ〃)锛屽紑鍙戞闈㈡姤琛ㄤ笌WEB鎶ヨ〃鍏变韩鐩稿悓鐨勫紑鍙戠煡璇嗕笌璧勬簮",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":5.21229,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox22",
+					"Left":0.370417,
+					"Top":0.211667,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"GS1 DataMatrix"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode19",
+					"Left":0.555625,
+					"Top":0.767292,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"GS1DataMatrix",
+					"CaptionPosition":"None",
+					"CheckSum":true,
+					"Text":"(01)03453120000011(17)120508(10)ABCD1234(410)9501101020917",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox23",
+					"Left":5.15938,
+					"Top":0.211667,
+					"Width":4.78896,
+					"Height":4.60375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"GS1 QRCode"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode20",
+					"Left":5.3975,
+					"Top":0.740833,
+					"Width":4.39208,
+					"Height":3.83646,
+					"BarcodeType":"GS1QRCode",
+					"CaptionPosition":"None",
+					"CheckSum":true,
+					"Text":"(01)03453120000011(17)120508(10)ABCD1234(410)9501101020917",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox24",
+					"Left":10.0806,
+					"Top":0.211667,
+					"Width":9.73667,
+					"Height":4.57729,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"C1C1C1"
+						}
+					},
+					"TextAlign":"TopCenter",
+					"Text":"GS1-128(EAN128)"
+				},
+				{
+					"Type":"Barcode",
+					"Name":"Barcode21",
+					"Left":10.2658,
+					"Top":0.79375,
+					"Width":9.33979,
+					"Height":3.59833,
+					"BarcodeType":"CodeEAN128Auto",
+					"Text":"(01)26932992101633(11)190419(17)220410(91)09A(21)0001",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					}
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1h.grf b/public/grf/1h.grf
new file mode 100644
index 0000000..c940af6
--- /dev/null
+++ b/public/grf/1h.grf
@@ -0,0 +1,386 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1h.RTF鏍煎紡鏂囨湰",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ずRTF鏂囨湰妗嗭細RTF鏂囨湰妗嗕笉浠呰兘鏄剧ずRTF鏍煎紡鏁版嵁锛岃�屼笖鍙互鍦ㄦ枃瀛椾腑鍖呭惈鏁版嵁鍩燂紝鏁版嵁鍩熷湪杩愯鏃朵細琚浛鎹负鍏宠仈鏁版嵁鐨勬樉绀烘枃瀛椼��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"ColLine":{
+			"Color":"C1C1C1"
+		},
+		"RowLine":{
+			"Color":"C1C1C1"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,c.ContactName,c.Address,c.city,c.Region,c.Country,c.Postalcode,\n\nm.OrderDate,M.Freight,d.ProductID,p.ProductName,\r\nd.UnitPrice,d.Quantity,d.Discount,\n\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\n\n\r\nfrom (Orders m inner join \n\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\n \nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/97# And #12/31/97#\n\n\r\norder by m.CustomerID,m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"PostalCode"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.38125
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.78354
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerID",
+				"GroupHeader":{
+					"CanGrow":true,
+					"Height":1.79917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"Control":[
+						{
+							"Type":"RichTextBox",
+							"Name":"RichTextBox2",
+							"Left":0.185208,
+							"Width":15.584,
+							"Height":1.37583,
+							"CanGrow":true,
+							"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}}\n\n{\\colortbl ;\\red0\\green0\\blue0;\\red0\\green51\\blue102;\\red255\\green102\\blue0;\\red0\\green255\\blue0;\\red0\\green0\\blue255;}\n\n\\viewkind4\\uc1\\pard\\nowidctlpar\\sl240\\slmult0\\b\\f0\\fs28 [#PostalCode#]\\par\n\n[#Country#] [#City#][#Address#]\\cf1\\par\n\n\\pard\\nowidctlpar\\sl240\\slmult0\\qc\\cf0\\b0 [#CompanyName#] [#ContactName#]\\par\n\n\\pard\\nowidctlpar\\sl240\\slmult0\\cf2\\par\n\n\\cf0\\fs21\\'d7\\'f0\\'be\\'b4\\'b5\\'c4 [#ContactName#],\\par\n\n\\pard\\nowidctlpar\\fi359\\sl240\\slmult0\\'d0\\'bb\\'d0\\'bb\\'b9\\'f3\\'b9\\'ab\\'cb\\'be\\'d4\\'da\\'b9\\'fd\\'c8\\'a5\\'d2\\'bb\\'c4\\'ea\\'d3\\'eb\\'ce\\'d2\\'c3\\'c7\\'b5\\'c4\\'ba\\'cf\\'d7\\'f7\\'a3\\'ac\\'d2\\'d4\\'cf\\'c2\\'ca\\'c7\\'c4\\'e3\\'c3\\'c7\\'d4\\'da1997\\'c4\\'ea\\'b6\\'c8\\'b5\\'c4\\'b6\\'a9\\'bb\\'f5\\'c7\\'e5\\'b5\\'a5\\'a3\\'ac\\'c7\\'eb\\'d7\\'d0\\'cf\\'b8\\'ba\\'cb\\'b6\\'d4\\'a1\\'a3\\'c8\\'e7\\'b7\\'a2\\'cf\\'d6\\'ce\\'ca\\'cc\\'e2\\'c7\\'eb\\'bc\\'b0\\'ca\\'b1\\'d3\\'eb\\'ce\\'d2\\'c3\\'c7\\'c1\\'aa\\'cf\\'b5\\'a3\\'ac\\'c1\\'aa\\'cf\\'b5\\'b5\\'e7\\'bb\\'b0\\'a3\\'ba888-51851888\\'a1\\'a3\\kerning2\\par\n\n\\pard\\nowidctlpar\\qj\\cf3\\b\\'b8\\'bd\\'d7\\'a2\\'a3\\'ba\\cf0\\b0\\'d5\\'e2\\'ca\\'c7\\'d2\\'bb\\'b7\\'e2\\f1  RTF \\f0\\'b8\\'f1\\'ca\\'bd\\'ce\\'c4\\'b1\\'be\\'d0\\'c5\\'bc\\'fe\\'a3\\'ac\\'bf\\'c9\\'d2\\'d4\\'d4\\'da\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'b7\\'e1\\'b8\\'bb\\'b5\\'c4\\cf4\\ul\\b\\i\\'b8\\'f1\\'ca\\'bd\\cf0\\ulnone\\b0\\i0\\'a1\\'a3\\cf5\\ul\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'c1\\'cb\\'bf\\'c9\\'cc\\'e6\\'bb\\'bb\\'d3\\'f2\\'a3\\'ac\\'d3\\'f2\\'d4\\'da\\'d4\\'cb\\'d0\\'d0\\'ca\\'c7\\'b1\\'bb\\'d3\\'f2\\'d6\\'b5\\'cc\\'e6\\'bb\\'bb\\'a3\\'ac\\'c8\\'e7\\'d0\\'c5\\'bc\\'fe\\'b3\\'c6\\'ce\\'bd\\'d6\\'d0\\'b5\\'c4\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'b3\\'c6\\par\n\n\\pard\\cf0\\kerning0\\ulnone\\b\\fs28\\par\n\n}\n\n"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":2.38125,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"AlignColumn":"Discount",
+							"Left":11.3242,
+							"Top":0.211667,
+							"Width":1.79917,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍚堣锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.211667,
+							"Width":2.77813,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount",
+							"Format":"$#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":3.78354,
+							"Top":0.978958,
+							"Width":2.59292,
+							"Height":0.396875,
+							"Text":"姝よ嚧"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":5.79438,
+							"Top":1.5875,
+							"Width":2.59292,
+							"Height":0.423333,
+							"Text":"鏁ぜ"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.079375,
+							"Width":2.77812
+						},
+						{
+							"Type":"Line",
+							"Name":"Line3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.15875,
+							"Width":2.77812
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083
+	},
+	"PageFooter":{
+		"Height":0.582083
+	},
+	"ReportHeader":[
+		{
+			"CanGrow":true,
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":5.15938,
+					"Top":0.185208,
+					"Width":5.68854,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛1997骞村害璁㈣揣娓呭崟"
+				},
+				{
+					"Type":"RichTextBox",
+					"Name":"RichTextBox1",
+					"Anchor":"[Left|Top|Right]",
+					"Left":0.185208,
+					"Top":0.79375,
+					"Width":15.6104,
+					"Height":0.820208,
+					"CanGrow":true,
+					"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}{\\f2\\fnil\\fcharset0 MS Shell Dlg 2;}}\n\n\\viewkind4\\uc1\\pard\\nowidctlpar\\qc\\kerning2\\f0\\fs28\\'ca\\'b9\\'d3\\'c3\\f1 RichTextBox\\f0\\'cf\\'d4\\'ca\\'be\\'d0\\'c5\\'bc\\'fe\\'ce\\'c4\\'b1\\'be\\par\n\n\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'d3\\'f2\\par\n\n\\b\\fs32\\'b1\\'a8\\par\n\n\\'b1\\'ed\\par\n\n\\'b7\\'e2\\par\n\n\\'c3\\'e6\\par\n\n\\pard\\lang2052\\kerning0\\b0\\f2\\fs17\\par\n\n}\n\n"
+				}
+			],
+			"NewPage":"After"
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1i.grf b/public/grf/1i.grf
new file mode 100644
index 0000000..e676322
--- /dev/null
+++ b/public/grf/1i.grf
@@ -0,0 +1,593 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1i.婕旂ず閮ㄤ欢妗嗚嚜鍔ㄥ竷灞�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎶ヨ〃閮ㄤ欢妗嗙殑鍚勭鑷姩甯冨眬鏂瑰紡锛岄噰鐢ㄨ嚜鍔ㄥ竷灞�鍔熻兘锛屼笉浠呰兘澶уぇ鍑忚交鎺掑垪閮ㄤ欢妗嗙殑宸ヤ綔閲忥紝鑰屼笖鍙互寰楀埌鑹ソ鐨勪笌鑷�傚簲鐨勫竷灞�鏁堟灉銆侴rid++Report鐨勮嚜鍔ㄥ竷灞�鍔熻兘鍖呮嫭锛氬仠闈犮�佸榻愬垪銆侀敋瀹氫笌灞呬腑杩欏洓绉嶆柟寮忋�俓r\n\r\n鍦ㄨ繖涓緥瀛愭姤琛ㄤ腑锛岄�氳繃鏀瑰彉鑺傜殑楂樺害涓庡垪鐨勫搴︼紝鍙互浣撲細鍚勭鑷姩甯冨眬鏂瑰紡鐨勬晥鏋溿��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":2.01083
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":2.2225
+			},
+			{
+				"Name":"Phone",
+				"Width":3.43958
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"鑱旂郴浜�"
+				},
+				{
+					"Column":"Address",
+					"DataField":"鍦板潃"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"閭紪"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":1.00542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"Anchor":"[Right|Bottom]",
+							"Left":1.19063,
+							"Top":0.211667,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+								"Pen":{
+									"Color":"0000FF"
+								}
+							},
+							"Text":"閿氬畾鍙充笅"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox12",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+								"Pen":{
+									"Color":"0000FF"
+								}
+							},
+							"Text":"鍋滈潬鍏呮弧鑷敱鏍�"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"鍩庡競",
+				"GroupHeader":{
+					"BackColor":"E1FFFF",
+					"Height":0.635,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CompanyName",
+							"Left":2.35479,
+							"Width":3.20146,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight]"
+							},
+							"DataField":"鍩庡競"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"Left":-0.0264583,
+							"Width":2.40771,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight]"
+							},
+							"DataField":"鍦板尯"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":0.635,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"Left":-0.0264583,
+							"Width":2.40771,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight]"
+							},
+							"Text":"瀵归綈瀹㈡埛缂栧彿"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CompanyName",
+							"Left":2.35479,
+							"Width":3.20146,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight]"
+							},
+							"Text":"瀵归綈鍏徃鍚嶇О "
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"AlignColumn":"CustomerID",
+				"AlignColumnEx":"Phone",
+				"Top":0.396875,
+				"Width":16.4306,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"AlignColumn":"CustomerID",
+				"AlignColumnEx":"Phone",
+				"Top":1.00542,
+				"Width":16.4306,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"AlignColumn":"PostalCode",
+				"AlignColumnEx":"Phone",
+				"Left":10.7421,
+				"Top":0.211667,
+				"Width":5.68854,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"AlignColumn":"CustomerID",
+				"AlignColumnEx":"ContactName",
+				"Top":0.211667,
+				"Width":7.59354,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.5875,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox16",
+					"Dock":"Fill",
+					"WordWrap":true,
+					"Text":"Grid++Report鐨勮嚜鍔ㄥ竷灞�鍔熻兘寰堟柟渚匡紝鏄紑鍙戣嚜閫傚簲鍔ㄦ�佹姤琛ㄧ殑閲嶈鏂归潰銆傝嚜鍔ㄥ竷灞�鍔熻兘鍖呮嫭锛氬仠闈�(Dock)銆佸眳涓�(Center)銆佸榻愬垪(AlignColumn)銆侀敋瀹�(Anchor)銆�"
+				}
+			]
+		},
+		{
+			"Name":"灞呬腑",
+			"BackColor":"E1FFFF",
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"BackColor":"FFFFFF",
+					"Center":"Both",
+					"Left":3.73063,
+					"Top":0.211667,
+					"Width":8.96938,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"灞呬腑锛氳嚜鍔ㄥ湪姘村钩涓庡瀭鐩存柟鍚戜笂灞呬腑"
+				}
+			]
+		},
+		{
+			"Name":"鍋滈潬",
+			"Height":2.80458,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox6",
+					"BackColor":"FF00FF",
+					"BackStyle":"Normal",
+					"Dock":"Right",
+					"Left":13.2292,
+					"Width":3.20146,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍋滈潬鍙崇"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Dock":"Left",
+					"Width":3.20146,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍋滈潬宸︾"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"BackColor":"FFFF00",
+					"BackStyle":"Normal",
+					"Dock":"Top",
+					"Left":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍋滈潬涓婄"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"Dock":"Bottom",
+					"Left":3.20146,
+					"Top":2.2225,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍋滈潬涓嬬"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"BackColor":"00FF00",
+					"BackStyle":"Normal",
+					"Dock":"Fill",
+					"Left":3.20146,
+					"Top":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍋滈潬鍏呮弧"
+				}
+			]
+		},
+		{
+			"Name":"閿氬畾",
+			"BackColor":"00FF00",
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox13",
+					"BackColor":"FFFFFF",
+					"Anchor":"[Right|Bottom]",
+					"Left":4.78896,
+					"Top":0.211667,
+					"Width":5.60917,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"0000FF"
+						}
+					},
+					"Text":"閿氬畾鍙充笅:璺濆彸杈硅窛涓庝笅杈硅窛涓嶅彉"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox14",
+					"BackColor":"FFFFFF",
+					"Anchor":"[Bottom]",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":3.78354,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"0000FF"
+						}
+					},
+					"Text":"閿氬畾涓�:璺濅笅杈硅窛涓嶅彉"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox15",
+					"BackColor":"FFFFFF",
+					"Anchor":"[Right]",
+					"Left":12.1973,
+					"Top":0.211667,
+					"Width":3.81,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"0000FF"
+						}
+					},
+					"Text":"閿氬畾鍙�:璺濆彸杈硅窛涓嶅彉"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"瀵归綈鍒�",
+			"BackColor":"E1FFFF",
+			"Height":2.19604,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"AlignColumn":"CompanyName",
+					"Left":2.35479,
+					"Width":3.20146,
+					"Height":0.635,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"瀵归綈涓�鍒�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"AlignColumn":"Address",
+					"AlignColumnEx":"Phone",
+					"Left":7.54063,
+					"Width":8.86354,
+					"Height":0.635,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"瀵归綈璺ㄥ鍒�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox17",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"AlignColumnSide":"Left",
+					"AlignColumn":"(GridLeft)",
+					"Left":-0.0264583,
+					"Top":0.608542,
+					"Width":4.02167,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"瀵归綈鍒拌〃鏍煎乏绔�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox18",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"AlignColumnSide":"Right",
+					"AlignColumn":"(GridRight)",
+					"Left":12.409,
+					"Top":0.608542,
+					"Width":3.99521,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"瀵归綈鍒拌〃鏍煎彸绔�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox19",
+					"BackColor":"00FFFF",
+					"BackStyle":"Normal",
+					"AlignColumn":"(GridLeft)",
+					"AlignColumnEx":"(GridRight)",
+					"Left":-0.0264583,
+					"Top":1.19063,
+					"Width":16.4306,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀵归綈鍒拌〃鏍煎乏鍙充袱绔�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1j.grf b/public/grf/1j.grf
new file mode 100644
index 0000000..9a74e7e
--- /dev/null
+++ b/public/grf/1j.grf
@@ -0,0 +1,269 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1j.鍒囧垎绾稿紶",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍒囧垎绾稿紶鎵撳嵃鎶ヨ〃锛氶�氳繃瀹氭姤琛ㄧ殑鈥橀〉鍒嗗壊鏁�(PageDevideCount)鈥欏睘鎬у畾涔夊垏鍒嗙焊寮犳墦鍗般��",
+	"PageDivideCount":2,
+	"PageDivideLine":true,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.77271
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"绉拌皳"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Right]",
+				"Top":0.396875,
+				"Width":16.0073,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":6.24417,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":7.43479,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1k.grf b/public/grf/1k.grf
new file mode 100644
index 0000000..ed464ce
--- /dev/null
+++ b/public/grf/1k.grf
@@ -0,0 +1,269 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1k.鏄庣粏鑷敱缂栨帓",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"Grid++Report 灏嗘姤琛ㄧ殑鏄庣粏鍖哄煙瀹氫箟涓鸿鍒楁柟寮忥紝浣嗘垜浠粛鐒惰兘澶熻薄鍏跺畠鏉″甫寮忔姤琛ㄥ伐鍏蜂竴鏍疯嚜鐢辩紪鎺掓姤琛ㄦ槑缁嗗畾涔夛細鍙畾涔変竴涓垪锛屽皢鍒楃殑瀹藉害璁句负涓庨〉闈㈡樉绀哄搴︿竴鏍凤紝灏嗚鍒楀搴旂殑鏍囬鏍间笌鍐呭鏍艰涓鸿嚜鐢辨牸锛岀劧鍚庡湪鏍间腑鎻掑叆涓庢帓鍒楅渶瑕佺殑閮ㄤ欢妗嗐��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPage",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":15.9808
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":4.78896,
+							"Width":2.40771,
+							"Height":0.767292,
+							"DataField":"ContactName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":7.40833,
+							"Width":3.59833,
+							"Height":0.767292,
+							"DataField":"Address"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Left":2.01083,
+							"Width":2.59292,
+							"Height":0.767292,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Left":11.1919,
+							"Width":2.19604,
+							"Height":0.767292,
+							"DataField":"City"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox5",
+							"Left":13.5996,
+							"Width":2.40771,
+							"Height":0.767292,
+							"DataField":"Region"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox6",
+							"Width":1.79917,
+							"Height":0.767292,
+							"DataField":"CustomerID"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"Width":1.79917,
+							"Height":0.767292,
+							"Text":"瀹㈡埛缂栧彿"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":4.78896,
+							"Width":2.40771,
+							"Height":0.767292,
+							"Text":"鑱旂郴浜�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":11.1919,
+							"Width":2.19604,
+							"Height":0.767292,
+							"Text":"鍩庡競"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Left":7.40833,
+							"Width":3.59833,
+							"Height":0.767292,
+							"Text":"鍦板潃"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"Left":13.5996,
+							"Width":2.40771,
+							"Height":0.767292,
+							"Text":"鍦板尯"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"Left":2.01083,
+							"Width":2.59292,
+							"Height":0.767292,
+							"Text":"鍏徃鍚嶇О"
+						}
+					]
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1l.grf b/public/grf/1l.grf
new file mode 100644
index 0000000..39578f3
--- /dev/null
+++ b/public/grf/1l.grf
@@ -0,0 +1,312 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1l.浜ゆ浛鑹叉樉绀烘槑缁嗚",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐢ㄤ袱绉嶈儗鏅壊浜ゆ浛濉厖鏄庣粏琛岀殑鑳屾櫙:鍦ㄢ�樼畝鍗曞垪琛ㄢ�欐姤琛ㄧ殑鍩虹涓婏紝閫氳繃璁惧畾璁惧畾鏄庣粏缃戞牸鍐呭琛岀殑鈥樹氦鏇胯儗鏅壊(AlternatingBackColor)鈥欏睘鎬э紝浣挎槑缁嗙綉鏍肩殑鍐呭琛屾寜鑳屾櫙鑹蹭笌浜ゆ浛鑹茶疆娴佸~鍏呭唴瀹硅鐨勮儗鏅��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPage",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"AlternatingBackColor":"FCF8E0",
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1m.grf b/public/grf/1m.grf
new file mode 100644
index 0000000..b617085
--- /dev/null
+++ b/public/grf/1m.grf
@@ -0,0 +1,161 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1m.閭欢鏍囩",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず閭欢鏍囩锛氬簲鐢ㄥ垎鏍忎笌鑷敱鏍煎疄鐜伴偖浠舵爣绛俱��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":0.2,
+		"TopMargin":0.5,
+		"RightMargin":0.2,
+		"BottomMargin":0.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PageColumnCount":3,
+		"PageColumnSpacing":0.2,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OnlyOne",
+				"Width":6.79979
+			}
+		],
+		"ColumnContent":{
+			"Height":2.98979,
+			"ColumnContentCell":[
+				{
+					"Column":"OnlyOne",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":0.79375,
+							"Top":0.79375,
+							"Width":1.19063,
+							"Height":0.396875,
+							"DataField":"Country"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"Left":0.185208,
+							"Top":0.79375,
+							"Width":0.608542,
+							"Height":0.396875,
+							"Text":"瀵勶細"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.98438,
+							"Top":0.79375,
+							"Width":1.40229,
+							"Height":0.396875,
+							"DataField":"City"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":0.79375,
+							"Top":1.5875,
+							"Width":2.38125,
+							"Height":0.396875,
+							"DataField":"ContactName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":0.79375,
+							"Top":1.19063,
+							"Width":5.3975,
+							"Height":0.396875,
+							"DataField":"Address"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"Left":0.185208,
+							"Top":0.185208,
+							"Width":2.01083,
+							"Height":0.396875,
+							"DataField":"PostalCode"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":3.38667,
+							"Top":1.5875,
+							"Width":0.79375,
+							"Height":0.396875,
+							"Text":"鏀�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":0.79375,
+							"Top":2.19604,
+							"Width":5.3975,
+							"Height":0.396875,
+							"Text":"鏈潵鏈夊笇鏈涙湁闄愬叕鍙� 567890"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Visible":false,
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OnlyOne"
+				}
+			]
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/grf/1n.grf b/public/grf/1n.grf
new file mode 100644
index 0000000..36c69a4
--- /dev/null
+++ b/public/grf/1n.grf
@@ -0,0 +1,309 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1n.杩藉姞绌虹櫧琛�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍦ㄦ槑缁嗙綉鏍肩殑绌虹櫧鍖哄煙杩藉姞绌虹櫧琛岋細閫氳繃瀹氫箟鏄庣粏缃戞牸鐨勨�樿拷鍔犵┖鐧借(AppendBlankRow)鈥欏睘鎬у疄鐜般��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"AppendBlankRow":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderId, m.OrderDate, d.Productid,p.ProductName,d.Quantity,\r\nd.UnitPrice*d.Quantity*(1-d.Discount) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p on d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere (m.OrderDate between #1/1/97# And #6/30/97#) and d.Productid<10\r\norder by d.ProductID",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer",
+					"Format":"000000"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.59292
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"AdjustRowHeight":false,
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"GroupByProduct",
+				"ByFields":"Productid",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox6",
+							"Left":0.185208,
+							"Top":0.185208,
+							"Width":1.79917,
+							"Height":0.396875,
+							"Text":"浜у搧缂栧彿锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.98438,
+							"Top":0.185208,
+							"Width":2.59292,
+							"Height":0.396875,
+							"DataField":"Productid"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox7",
+							"Left":4.97417,
+							"Top":0.185208,
+							"Width":1.82563,
+							"Height":0.396875,
+							"Text":"浜у搧鍚嶇О锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":6.985,
+							"Top":0.185208,
+							"Width":3.81,
+							"Height":0.396875,
+							"DataField":"ProductName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"C1C1C1",
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Quantity",
+							"Left":9.15458,
+							"Top":0.185208,
+							"Width":2.35479,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":11.5358,
+							"Top":0.185208,
+							"Width":2.75167,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"$#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox5",
+							"BackColor":"FFFFFF",
+							"Top":0.185208,
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"灏忚"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"SystemVarBox",
+				"Name":"SysData2",
+				"Left":9.78958,
+				"Width":5.79438,
+				"Height":0.582083,
+				"SystemVar":"CurrentDateTime"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"AlignColumn":"Amount",
+				"Left":11.5623,
+				"Width":2.75167,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.396875,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1o.grf b/public/grf/1o.grf
new file mode 100644
index 0000000..80ce6d8
--- /dev/null
+++ b/public/grf/1o.grf
@@ -0,0 +1,169 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1o.鏂囧瓧缁曡涓庤嚜鍔ㄤ几灞�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧缁曡鍜岄儴浠舵涓庢姤琛ㄨ妭鐨勮嚜鍔ㄤ几灞曘��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"Font":{
+			"Name":"瀹嬩綋",
+			"Size":142500,
+			"Weight":400,
+			"Charset":134
+		},
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from categories",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Description"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CategoryID",
+				"Width":2.98979
+			},
+			{
+				"Name":"CategoryName",
+				"Width":3.99521
+			},
+			{
+				"Name":"Description",
+				"Width":4.39208
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"CategoryID"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Description",
+					"WordWrap":true,
+					"CanGrow":true,
+					"DataField":"Description"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Description",
+					"TextAlign":"MiddleCenter",
+					"Text":"璇存槑"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.978958,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":16.1925,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":6.58813,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"CanGrow":true,
+			"Height":1.79917,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":142500,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Center":"Horizontal",
+					"Left":2.2225,
+					"Top":0.211667,
+					"Width":11.5888,
+					"Height":1.19063,
+					"CanGrow":true,
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"Text":"閫氳繃璁惧畾鏂囧瓧閮ㄤ欢妗嗙殑鈥樻枃瀛楃粫琛�(WordWrap)鈥欏睘鎬т负鈥樻槸鈥欙紝鍙互璁╄秴闀跨殑鏂囧瓧鍙﹁捣鏂拌鏄剧ず銆傚鏋滃皢鏂囧瓧閮ㄤ欢妗嗙殑鈥樺彲浼稿睍(CanExpand)鈥欏睘鎬ц涓衡�樻槸鈥�,杩欓儴浠舵鐨勯珮搴﹀皢鑷姩杩涜浼稿睍锛屼互浣挎墍鏈夌殑鏂囧瓧閮藉彲浠ュ畬鏁寸殑鏄剧ず鍑烘潵銆�3.0鐗堜腑鏀硅繘浜嗘枃瀛楃粫琛屽姛鑳斤紝绾暟瀛椾笌鑻辨枃瀛楃涓斾腑闂翠笉鍖呮嫭绌烘牸鐨勮秴闀挎枃瀛椾篃鍙互缁曡鏄剧ず"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1p.grf b/public/grf/1p.grf
new file mode 100644
index 0000000..b552af3
--- /dev/null
+++ b/public/grf/1p.grf
@@ -0,0 +1,202 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1p.鏂囧瓧缂╁皬閫傚簲",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧鑷姩缂╁皬閫傚簲杈撳嚭鍖哄煙銆俓r\n\r\n閫氳繃璁惧畾鏂囧瓧閮ㄤ欢妗嗙殑鈥樻寜闇�缂╁皬瀛椾綋鈥欏睘鎬т负鈥樻槸鈥欙紝鍙互淇濊瘉鏂囧瓧妗嗘樉绀烘枃瀛楅兘瀹屾暣鏄剧ず鍑烘潵銆俓r\n\r\n娉ㄦ剰锛氣�樻寜闇�缂╁皬瀛椾綋鈥欏睘鎬т粎瀵规姤琛ㄦ墦鍗扮敓鎴愭湁鏁堛��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"Font":{
+			"Name":"瀹嬩綋",
+			"Size":142500,
+			"Weight":400,
+			"Charset":134
+		},
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from categories\r\n",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Description"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CategoryID",
+				"Width":2.98979
+			},
+			{
+				"Name":"CategoryName",
+				"Width":4.39208
+			},
+			{
+				"Name":"Description",
+				"Width":4.39208
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"CategoryID"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Description",
+					"WordWrap":true,
+					"ShrinkFontToFit":true,
+					"DataField":"Description"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Description",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍐呭鏍兼寜闇�缂╁皬瀛椾綋"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.978958,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":16.1925,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":6.58813,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"CanGrow":true,
+			"Height":3.41313,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":142500,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Center":"Horizontal",
+					"Left":2.2225,
+					"Top":1.00542,
+					"Width":11.5888,
+					"Height":1.19063,
+					"ShrinkFontToFit":true,
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"Text":"閫氳繃璁惧畾鏂囧瓧閮ㄤ欢妗嗙殑鈥樻寜闇�缂╁皬瀛椾綋鈥欏睘鎬т负鈥樻槸鈥欙紝鍙互淇濊瘉鏂囧瓧妗嗘墍鏈夋樉绀烘枃瀛楅兘鏄剧ず鍑烘潵銆俓r\n娉ㄦ剰锛氣�樻寜闇�缂╁皬瀛椾綋鈥欏睘鎬т粎瀵规姤琛ㄦ墦鍗扮敓鎴愭湁鏁堛��"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Center":"Horizontal",
+					"Left":2.19604,
+					"Top":2.59292,
+					"Width":11.6152,
+					"Height":0.396875,
+					"ShrinkFontToFit":true,
+					"Text":"閫氳繃缂╁皬瀛椾綋灏嗘枃瀛楀畬鏁存樉绀哄嚭鏉�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Center":"Horizontal",
+					"Left":3.73063,
+					"Top":0.211667,
+					"Width":8.54604,
+					"Height":0.555625,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"杩涘叆棰勮瑙嗗浘浣撻獙鎸夐渶缂╁皬瀛椾綋鏁堟灉"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/1q.grf b/public/grf/1q.grf
new file mode 100644
index 0000000..92cbf97
--- /dev/null
+++ b/public/grf/1q.grf
@@ -0,0 +1,189 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"1q.鏂囧瓧璺ㄨ鏄剧ず",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"閫氳繃璁惧畾鍐呭琛岀殑鈥樹几灞曞埌涓嬭 鈥欏睘鎬т负鈥樻槸鈥欙紝鍙互璁╄秴闀跨殑鏂囧瓧鍙﹁捣涓�鏂拌鏄剧ず銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"Font":{
+			"Name":"瀹嬩綋",
+			"Size":142500,
+			"Weight":400,
+			"Charset":134
+		},
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from categories\r\n",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Description"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CategoryID",
+				"Width":2.98979
+			},
+			{
+				"Name":"CategoryName",
+				"Width":4.18042
+			},
+			{
+				"Name":"Description",
+				"Width":4.39208
+			}
+		],
+		"ColumnContent":{
+			"Height":1.40229,
+			"GrowToNextRow":true,
+			"ColumnContentCell":[
+				{
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"CategoryID"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Description",
+					"DataField":"Description"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙被鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Description",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瓒呭嚭鏂囧瓧鏄剧ず鍒颁笅琛�"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.978958,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":16.1925,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":6.58813,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":2.59292,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":142500,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Center":"Horizontal",
+					"Left":2.2225,
+					"Top":1.00542,
+					"Width":11.5888,
+					"Height":1.40229,
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"Text":"閫氳繃璁惧畾鍐呭琛岀殑鈥樹几灞曞埌涓嬭 鈥欏睘鎬т负鈥樻槸鈥欙紝鍙互璁╄秴闀跨殑鏂囧瓧鍙﹁捣涓�鏂拌鏄剧ず銆俓r\n"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Center":"Horizontal",
+					"Left":2.61938,
+					"Top":0.211667,
+					"Width":10.795,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"杩涘叆棰勮瑙嗗浘浣撻獙鍐呭琛屼腑鏂囧瓧璺ㄨ鏄剧ず"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2a.grf b/public/grf/2a.grf
new file mode 100644
index 0000000..837c4de
--- /dev/null
+++ b/public/grf/2a.grf
@@ -0,0 +1,374 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2a.鍩烘湰鍒嗙粍",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶涓�鑸殑鍒嗙粍鎶ヨ〃:棣栧厛瀹氫箟涓�涓垎缁勶紝鍦ㄦ姤琛ㄥ竷灞�绐楀彛涓細鑷姩鍔犲叆鍒嗙粍澶翠笌鍒嗙粍灏俱�傞�氳繃璁惧畾鍒嗙粍瀵硅薄鐨勨�樹緷鎹瓧娈�(ByFields)鈥欏睘鎬э紝鎸囧畾鍒嗙粍鐢熸垚鐨勪緷鎹瓧娈点�傚湪鍒嗙粍澶翠笌鍒嗙粍灏句腑鍔犲叆鐩稿簲鐨勯儴浠舵锛屽疄鐜板垎缁勪俊鎭殑鏄剧ず銆備娇鐢ㄧ粺璁℃鎴朚emo妗嗗疄鐜版暟鎹殑缁熻鍒嗘瀽銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Width":1.40229,
+							"Height":0.79375,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.59292,
+							"Width":3.59833,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":7.19667,
+							"Width":2.98979,
+							"Height":0.79375,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":11.1919,
+							"Width":1.00542,
+							"Height":0.79375,
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"Left":12.3825,
+							"Width":2.40771,
+							"Height":0.79375,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.40771,
+							"Height":0.79375,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAmt",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.61938,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.40771,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"NetAmountSummaryBox",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.80458,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount",
+							"Format":"#,##0.00"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":12.1973,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2b.grf b/public/grf/2b.grf
new file mode 100644
index 0000000..7e9e583
--- /dev/null
+++ b/public/grf/2b.grf
@@ -0,0 +1,326 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2b.渚濇嵁澶氫釜瀛楁鍒嗙粍",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏍规嵁澶氫釜瀛楁杩涜鍒嗙粍锛氬垎缁勭殑渚濇嵁瀛楁鍙互鐢卞涓瓧娈电粍鎴愶紝澶氫釜瀛楁涔嬮棿鐢ㄥ瓧绗︹��;鈥欓殧寮�銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"Region;City",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Left":0.211667,
+							"Top":0.211667,
+							"Width":3.81,
+							"Height":0.396875,
+							"Text":"鍦板尯锛歔#Region#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"Left":5.60917,
+							"Top":0.211667,
+							"Width":3.81,
+							"Height":0.396875,
+							"Text":"鍩庡競锛歔#City#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0.79375,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"Left":0.211667,
+							"Top":0.211667,
+							"Width":3.81,
+							"Height":0.396875,
+							"Text":"鍏盵#Count()#]浜�"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2c.grf b/public/grf/2c.grf
new file mode 100644
index 0000000..8e224d8
--- /dev/null
+++ b/public/grf/2c.grf
@@ -0,0 +1,452 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2c.澶氱骇鍒嗙粍",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず澶氱骇鍒嗙粍鎶ヨ〃锛氬湪 Grid++Report 涓紝鍙互鍚屾椂瀹氫箟澶氫釜鍒嗙粍锛屽涓垎缁勪箣闂村瓨鍦ㄥ眰绾у叧绯伙紝澶栧眰鍒嗙粍椤规�绘槸鍖呭惈鍐呭眰鍒嗙粍锛屽綋涓�涓灞傚垎缁勯」缁撴潫鏃讹紝鍏跺寘鍚殑鍐呭眰鍒嗙粍椤逛篃灏嗙粨鏉熴��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CountryGroup",
+				"ByFields":"Country",
+				"GroupHeader":{
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":0.185208,
+							"Width":1.21708,
+							"Height":1.00542,
+							"Text":"鍥藉锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.40229,
+							"Width":2.59292,
+							"Height":1.00542,
+							"DataField":"Country"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFFCC",
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"BackColor":"FFFFFF",
+							"Left":0.185208,
+							"Width":3.22792,
+							"Height":1.00542,
+							"Text":"鍥藉浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"BackColor":"FFFFFF",
+							"Left":3.41313,
+							"Width":1.98438,
+							"Height":1.00542,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"RegionGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":1.19063,
+							"Width":1.21708,
+							"Height":0.79375,
+							"Text":"鍦板尯锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.40771,
+							"Width":2.59292,
+							"Height":0.79375,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFCCFF",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"Left":0.978958,
+							"Width":3.01625,
+							"Height":0.79375,
+							"Text":"鍦板尯浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"Left":3.99521,
+							"Width":2.01083,
+							"Height":0.79375,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CityGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Left":2.19604,
+							"Width":0.978958,
+							"Height":0.582083,
+							"Text":"鍩庡競锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":3.175,
+							"Width":2.61938,
+							"Height":0.582083,
+							"DataField":"City"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"CCFFFF",
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":2.19604,
+							"Width":2.38125,
+							"Height":0.582083,
+							"Text":"鍩庡競浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"Left":4.78896,
+							"Width":1.79917,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":24.6063,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":8.36083,
+				"Width":4.39208,
+				"Height":0.608542,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.2183,
+					"Top":0.185208,
+					"Width":2.30188,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛璧勬枡"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2d.grf b/public/grf/2d.grf
new file mode 100644
index 0000000..97bf238
--- /dev/null
+++ b/public/grf/2d.grf
@@ -0,0 +1,255 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2d.鍒嗙粍鍗曞厓鏍煎悎骞�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍗犲垪寮忓垎缁勶細鍗犲垪寮忓垎缁勫叾鍒嗙粍澶翠笉鍗犳嵁鍗曠嫭鐨勬樉绀鸿锛岃�屾槸鍦ㄦ寚瀹氬崰鎹殑鍒楀尯鍩熺幇瀹炲垎缁勫ご淇℃伅銆傚彲浠ユ寚瀹氬涓崰鎹殑鍒楋紝鍒楀悕绉颁箣闂寸敤鈥�;鈥欓殧寮�銆傛湰绀轰緥涓嶅畾涔夊垎缁勫ご鏄剧ず閮ㄤ欢妗嗭紝鍒嗙粍澶寸殑鏄剧ず鍐呭鏉ヨ嚜瀵瑰簲鍒楃殑鍐呭鏍笺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City\r\n",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":2.38125
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.5875
+			},
+			{
+				"Name":"Address",
+				"Width":3.78354
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438,
+				"Visible":false
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875,
+				"Visible":false
+			},
+			{
+				"Name":"Phone",
+				"Width":3.175
+			},
+			{
+				"Name":"Fax",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Text":"绉拌皳"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.582083,
+					"RepeatOnPage":true,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"Visible":false,
+					"Height":0.582083
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":10.3717,
+					"Top":0.185208,
+					"Width":3.99521,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鎸夊煄甯傜粺璁″鎴�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2e.grf b/public/grf/2e.grf
new file mode 100644
index 0000000..e95adb1
--- /dev/null
+++ b/public/grf/2e.grf
@@ -0,0 +1,353 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2e.鑷畾涔夊垎缁勫崟鍏冩牸鍚堝苟",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍗犲垪寮忓垎缁勶細鍗犲垪寮忓垎缁勫叾鍒嗙粍澶翠笉鍗犳嵁鍗曠嫭鐨勬樉绀鸿锛岃�屾槸鍦ㄦ寚瀹氬崰鎹殑鍒楀尯鍩熺幇瀹炲垎缁勫ご淇℃伅銆傚彲浠ユ寚瀹氬涓崰鎹殑鍒楋紝鍒楀悕绉颁箣闂寸敤鈥�;鈥欓殧寮�銆傛湰绀轰緥瀹氫箟鍒嗙粍澶存樉绀洪儴浠舵銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":1,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":2.38125
+			},
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.01625
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":2.03729
+			},
+			{
+				"Name":"Address",
+				"Width":3.78354
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.175
+			},
+			{
+				"Name":"Fax",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱屽姟"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"City",
+				"GroupHeader":{
+					"BackColor":"FFFF00",
+					"Height":2.19604,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"RepeatOnPage":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"City",
+							"Top":0.185208,
+							"Width":2.35479,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Country"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"City",
+							"Top":0.79375,
+							"Width":2.35479,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Region"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"City",
+							"Top":1.40229,
+							"Width":2.35479,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"DataField":"City"
+						}
+					],
+					"OccupyColumn":true,
+					"SameAsColumn":false,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"Height":0.79,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"AlignColumnSide":"Left",
+							"AlignColumn":"CustomerID",
+							"Left":2.38125,
+							"Width":3.62479,
+							"Height":0.79375,
+							"Text":"鍚堣锛歔#Count()#]浜�"
+						}
+					]
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.40292,
+					"Top":0.211667,
+					"Width":11.9327,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊煄甯傜粺璁″鎴�(鍒嗙粍鍗曞厓鏍间笌琛ㄦ牸鍒椾笉鍚�)"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2f.grf b/public/grf/2f.grf
new file mode 100644
index 0000000..988a1ce
--- /dev/null
+++ b/public/grf/2f.grf
@@ -0,0 +1,388 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2f.澶氱骇鍒嗙粍鍗曞厓鏍煎悎骞�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず澶氱骇鍒嗙粍鎶ヨ〃锛氬湪 Grid++Report 涓紝鍙互鍚屾椂瀹氫箟澶氫釜鍒嗙粍锛屽涓垎缁勪箣闂村瓨鍦ㄥ眰绾у叧绯伙紝澶栧眰鍒嗙粍椤规�绘槸鍖呭惈鍐呭眰鍒嗙粍锛屽綋涓�涓灞傚垎缁勯」缁撴潫鏃讹紝鍏跺寘鍚殑鍐呭眰鍒嗙粍椤逛篃灏嗙粨鏉熴��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			},
+			{
+				"Name":"Region",
+				"Width":1.69333
+			},
+			{
+				"Name":"City",
+				"Width":1.69333
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"E1FFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"E1FFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"E1FFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"E1FFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"E1FFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"E1FFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"E1FFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"E1FFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"RegionGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"RepeatOnPage":true,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"Region",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":0.79,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"Left":1.79917,
+							"Width":2.40771,
+							"Height":0.79375,
+							"Text":"鍦板尯浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"Left":4.20688,
+							"Width":2.01083,
+							"Height":0.79375,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CityGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"KeepTogether":false,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"RepeatOnPage":true,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"F1D3FA",
+					"Height":0.79,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":3.59833,
+							"Width":2.38125,
+							"Height":0.79375,
+							"Text":"鍩庡競浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"Left":6.19125,
+							"Width":1.79917,
+							"Height":0.79375,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":24.6063,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":8.36083,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.2183,
+					"Top":0.185208,
+					"Width":2.30188,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛璧勬枡"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2g.grf b/public/grf/2g.grf
new file mode 100644
index 0000000..0950c0f
--- /dev/null
+++ b/public/grf/2g.grf
@@ -0,0 +1,355 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2g.椤靛垎缁�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず椤靛垎缁勶細椤靛垎缁勫湪姣忎釜椤甸潰涓骇鐢熶竴涓垎缁勯」銆傞�氳繃璁惧畾鍒嗙粍鐨勨�樻寜椤靛垎缁�(PageGroup)鈥欏睘鎬т负鈥樻槸鈥欙紝鎸囧畾鍒嗙粍涓洪〉鍒嗙粍銆傞〉鍒嗙粍浠呭湪鎵撳嵃鐢熸垚鏄敓鏁堬紝鏌ヨ鏄剧ず鏃堕〉鍒嗙粍灏嗚蹇界暐鎺夈��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"AppendBlankRow":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderId, m.OrderDate, d.Productid,p.ProductName,d.Quantity,\r\nd.UnitPrice*d.Quantity*(1-d.Discount) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p on d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere d.Productid=56\r\norder by m.OrderDate",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer",
+					"Format":"000000"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.59292
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"RowsPerPage":20,
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"GrandTotalGroup",
+				"GroupHeader":{
+					"Visible":false,
+					"Height":0
+				},
+				"GroupFooter":{
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox9",
+							"Top":0.185208,
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"浜у搧鎬昏锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"Quantity",
+							"Left":9.15458,
+							"Top":0.185208,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary4",
+							"AlignColumn":"Amount",
+							"Left":11.5358,
+							"Top":0.185208,
+							"Width":2.80458,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						}
+					]
+				}
+			},
+			{
+				"Name":"PageGroup",
+				"ByFields":"Productid",
+				"PageGroup":true,
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox6",
+							"Left":0.185208,
+							"Top":0.185208,
+							"Width":1.79917,
+							"Height":0.396875,
+							"Text":"浜у搧缂栧彿锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.98438,
+							"Top":0.185208,
+							"Width":2.59292,
+							"Height":0.396875,
+							"DataField":"Productid"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox7",
+							"Left":4.97417,
+							"Top":0.185208,
+							"Width":1.82563,
+							"Height":0.396875,
+							"Text":"浜у搧鍚嶇О锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":6.985,
+							"Top":0.185208,
+							"Width":3.81,
+							"Height":0.396875,
+							"DataField":"ProductName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Quantity",
+							"Left":9.15458,
+							"Top":0.185208,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"Amount",
+							"Left":11.5358,
+							"Top":0.185208,
+							"Width":2.80458,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"TextBox5",
+							"Top":0.185208,
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"鏈〉灏忚锛�"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Top":0.211667,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2h.grf b/public/grf/2h.grf
new file mode 100644
index 0000000..b1dd83c
--- /dev/null
+++ b/public/grf/2h.grf
@@ -0,0 +1,412 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2h.鍒嗙粍鑺傛樉绀哄垪绾�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍦ㄥ垎缁勫ご涓庡垎缁勫熬涓樉绀哄垪绾匡細Grid++Report 鐨勫垎缁勫ご涓庡垎缁勫熬涓嶈兘鐩存帴杈撳嚭鍒楃嚎锛岄�氳繃閮ㄤ欢妗嗙殑杈规绾垮彲浠ヨ揪鍒版鍔熻兘锛氬湪鑺備腑鍔犲叆閮ㄤ欢妗嗭紝閮ㄤ欢妗嗘樉绀哄彸杈规锛屼娇鍏跺榻愬埌鍒椾笖蹇呴』瀵归綈鍒板垪鐨勫彸绔紝璋冩暣閮ㄤ欢妗嗙殑楂樺害涓庤妭绛夐珮銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductName",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"AlignColumn":"ProductName",
+							"Width":2.77813,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"AlignColumn":"Quantity",
+							"AlignColumnEx":"UnitPrice",
+							"Left":2.77813,
+							"Width":3.57188,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"AlignColumn":"Discount",
+							"AlignColumnEx":"Amount",
+							"Left":6.35,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.38125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.77813,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"E1FFFF",
+							"BackStyle":"Normal",
+							"AlignColumn":"Discount",
+							"AlignColumnEx":"ProductName",
+							"Width":8.14917,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鏈崟灏忚(婕旂ず璺ㄥ垪瀵归綈)"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.59292,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.38125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.77813,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2i.grf b/public/grf/2i.grf
new file mode 100644
index 0000000..c968b38
--- /dev/null
+++ b/public/grf/2i.grf
@@ -0,0 +1,381 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2i.鍒嗙粍鑺備笉鎵撳嵃杈规绾�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"灏嗗垎缁勫ご灏剧殑鈥滄墦鍗拌緭鍑鸿竟妗嗏�濆睘鎬ц涓衡�滃惁鈥濓紝杩欐牱鍒嗙粍澶村熬宸﹀彸涓よ竟鐨勮〃鏍艰竟妗嗗氨涓嶄細杈撳嚭銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":0.396875,
+							"Top":0.185208,
+							"Width":1.5875,
+							"Height":0.396875,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.59292,
+							"Top":0.185208,
+							"Width":3.59833,
+							"Height":0.396875,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":7.19667,
+							"Top":0.185208,
+							"Width":2.98979,
+							"Height":0.396875,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":11.1919,
+							"Top":0.185208,
+							"Width":1.00542,
+							"Height":0.396875,
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"Left":12.3825,
+							"Top":0.185208,
+							"Width":2.40771,
+							"Height":0.396875,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.396875,
+							"Top":0.185208,
+							"Width":2.59292,
+							"Height":0.396875,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"Amount",
+							"Left":8.17563,
+							"Top":0.185208,
+							"Width":2.59292,
+							"Height":0.396875,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"DisCountAmt",
+							"Left":11.3506,
+							"Top":0.185208,
+							"Width":1.79917,
+							"Height":0.396875,
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"NetAmount",
+							"Left":13.335,
+							"Top":0.185208,
+							"Width":2.59292,
+							"Height":0.396875,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2j.grf b/public/grf/2j.grf
new file mode 100644
index 0000000..51d43b0
--- /dev/null
+++ b/public/grf/2j.grf
@@ -0,0 +1,365 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2j.鍒嗙粍澶存柊椤甸噸澶�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍒嗙粍澶村湪鏂伴〉涓噸澶嶆墦鍗般�傝缃垎缁勫ご鐨� RepeatOnPage 灞炴�т负鐪燂紝褰撲竴涓垎缁勯」鐨勬墍鏈夎娌℃湁鍦ㄨ捣濮嬮〉鍏ㄩ儴鏄剧ず锛屽垯鍦ㄥ悗缁殑鏄剧ず鏈垎缁勯」鐨勬柊椤典腑鍦ㄩ〉闈笂绔紑濮嬩綅缃啀娆℃樉绀鸿鍒嗙粍澶淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join\r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10400 and m.CustomerId<'H'\r\norder by m.CustomerID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerID",
+				"GroupHeader":{
+					"BackColor":"CCFFCC",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"RepeatOnPage":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"BackColor":"FFFFFF",
+							"Width":4.60375,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"CCFFFF",
+					"Height":1.19063,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.59292,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.61938,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.40771,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.80458,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":4.92125,
+					"Top":0.396875,
+					"Width":6.19125,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴风粺璁¢攢鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2k.grf b/public/grf/2k.grf
new file mode 100644
index 0000000..c66be07
--- /dev/null
+++ b/public/grf/2k.grf
@@ -0,0 +1,391 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2k.鍒嗙粍閲嶅惎椤靛彿",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍏充簬鍒嗙粍椤靛彿椤垫暟锛歕r\n1銆佷负浜嗕骇鐢熷垎缁勯〉鍙烽〉鏁颁俊鎭紝蹇呴』璁剧疆瀵瑰簲鍒嗙粍澶翠笌鍒嗙粍灏剧殑鈥滃彲瑙佹�р�濆睘鎬т负鈥滄槸鈥濓紝涓斿叾鈥滈珮搴︹�濆睘鎬уぇ浜�0銆俓r\n2銆佷笉鍚屽垎缁勯」鐨勬暟鎹簲璇ユ墦鍗板湪涓嶅悓椤碉紝閫氬父瑕佸垎缁勫熬鐨勨�滄崲鏂伴〉鈥濆睘鎬т负鈥滆妭鍚庘�濄�俓r\n3銆佸鏋滃疄闄呬笉闇�瑕佹樉绀哄垎缁勫ご涓庡垎缁勫熬锛屽彲浠ュ湪鍏垛�滄牸寮忓寲鑴氭湰鈥濅笂鍐欒剼鏈唬鐮佲�淪ender.Visible = false;鈥濓紝杩欐牱鍙互鍦ㄨ繍琛屾椂灏嗗垎缁勫ご涓庡垎缁勫熬闅愯棌涓嶆樉绀恒�俓r\n4銆佸垎缁勯〉鍙烽〉鏁板湪鏌ヨ鏄剧ず鎶ヨ〃鏃朵笉浼氬緱鍒版纭殑鍊硷紝鎵�浠ヤ笉搴斿湪鏌ヨ鏄剧ず鎶ヨ〃鏃舵樉绀哄垎缁勯〉鍙烽〉鏁般�� \r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875,
+				"Visible":false
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438,
+				"Visible":false
+			},
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":2.38125
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.5875
+			},
+			{
+				"Name":"Address",
+				"Width":3.78354
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.175
+			},
+			{
+				"Name":"Fax",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":1.79917,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绉拌皳"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":1.01,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Top":0.396875,
+							"Width":2.59292,
+							"Height":0.608542,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"66FFCC",
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"After",
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"Width":4.78896,
+							"Height":1.00542,
+							"Text":"鍒嗙粍缁撴潫/[#Region#]"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"BackColor":"E1FFFF",
+				"Left":8.38729,
+				"Width":5.3975,
+				"Height":0.608542,
+				"Text":"鍒嗙粍([#Region#])锛氱[#SystemVar(GroupPageNo,1)#]椤�/鍏盵#SystemVar(GroupPageCount,1)#]椤�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.19063,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"ForeColor":"0000FF",
+				"Left":8.99583,
+				"Top":0.211667,
+				"Width":5.3975,
+				"Height":0.608542,
+				"Text":"鍒嗙粍([#Region#])锛氱[#SystemVar(GroupPageNo,1)#]椤�/鍏盵#SystemVar(GroupPageCount,1)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":8.81062,
+					"Top":0.396875,
+					"Width":4.57729,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒嗙粍椤靛彿"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2l.grf b/public/grf/2l.grf
new file mode 100644
index 0000000..2b70c59
--- /dev/null
+++ b/public/grf/2l.grf
@@ -0,0 +1,373 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2l.鍒嗙粍鎸夌粺璁℃帓搴�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁剧疆鍒嗙粍鐨勨�滄帓搴忕粺璁℃鈥濆睘鎬э紝琛ㄦ牸灏嗘寜瀵瑰簲缁熻妗嗙殑鍊煎鍒嗙粍椤规暟鎹繘琛屾帓搴忋�俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"SortSummaryBox":"sumAmount",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Width":1.40229,
+							"Height":0.79375,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.59292,
+							"Width":3.59833,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":7.19667,
+							"Width":2.98979,
+							"Height":0.79375,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":11.1919,
+							"Width":1.00542,
+							"Height":0.79375,
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"Left":12.3825,
+							"Width":2.40771,
+							"Height":0.79375,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.40771,
+							"Height":0.79375,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAmount",
+							"BackColor":"FFFFFF",
+							"ForeColor":"0000FF",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.61938,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SumDiscountAmt",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.40771,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumNetAmount",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.80458,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":12.1973,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊垎缁勭粺璁″�兼帓搴忚〃鏍�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/2m.grf b/public/grf/2m.grf
new file mode 100644
index 0000000..1b75a06
--- /dev/null
+++ b/public/grf/2m.grf
@@ -0,0 +1,259 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"2m.澶氭爮鍒嗙粍涓嶅垎鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶涓�鑸殑鍒嗙粍鎶ヨ〃:棣栧厛瀹氫箟涓�涓垎缁勶紝鍦ㄦ姤琛ㄥ竷灞�绐楀彛涓細鑷姩鍔犲叆鍒嗙粍澶翠笌鍒嗙粍灏俱�傞�氳繃璁惧畾鍒嗙粍瀵硅薄鐨勨�樹緷鎹瓧娈�(ByFields)鈥欏睘鎬э紝鎸囧畾鍒嗙粍鐢熸垚鐨勪緷鎹瓧娈点�傚湪鍒嗙粍澶翠笌鍒嗙粍灏句腑鍔犲叆鐩稿簲鐨勯儴浠舵锛屽疄鐜板垎缁勪俊鎭殑鏄剧ず銆備娇鐢ㄧ粺璁℃鎴朚emo妗嗗疄鐜版暟鎹殑缁熻鍒嗘瀽銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":2,
+		"TopMargin":2,
+		"RightMargin":2,
+		"BottomMargin":2
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PageColumnCount":2,
+		"PageColumnSpacing":0.3,
+		"PageColumnGroupNA":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select p.CategoryID,c.CategoryName,d.OrderID,d.ProductID,p.ProductName,d.UnitPrice*d.Quantity as Amount\r\nfrom OrderDetails d inner join (Products p inner join Categories c on p.CategoryID=c.CategoryID) \r\non p.ProductID=d.ProductID\r\nwhere d.OrderID<=10300\r\norder by p.CategoryID,d.ProductID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":1.98438
+			},
+			{
+				"Name":"Column1",
+				"Width":1.69333
+			},
+			{
+				"Name":"ProductName",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.19604
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"GroupRowNo"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"CCFF99",
+			"Height":0.79375,
+			"Font":{
+				"Name":"寰蒋闆呴粦",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"搴忓彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CategoryID",
+				"GroupHeader":{
+					"BackColor":"99CCCC",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"Width":6.00604,
+							"Height":0.79375,
+							"Text":"浜у搧绫诲埆锛歔#CategoryName#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFCC99",
+					"Height":1.19063,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"BackColor":"FFFFFF",
+							"Width":8.59896,
+							"Height":0.79375,
+							"Text":"[#CategoryName#]: 鍏盵#Count()#]鏉★紝鍚堣[#Sum(Amount)#]鍏�"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":11.0067,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":10.6098,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":5.42396,
+				"Height":0.79375,
+				"TextAlign":"MiddleRight",
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.47688,
+					"Top":0.211667,
+					"Width":6.00604,
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"澶氭爮鎶ヨ〃鍒嗙粍涓嶅垎鏍�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3@.grf b/public/grf/3@.grf
new file mode 100644
index 0000000..5455bc0
--- /dev/null
+++ b/public/grf/3@.grf
@@ -0,0 +1,203 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶涓�鑸殑鍒嗙粍鎶ヨ〃:棣栧厛瀹氫箟涓�涓垎缁勶紝鍦ㄦ姤琛ㄥ竷灞�绐楀彛涓細鑷姩鍔犲叆鍒嗙粍澶翠笌鍒嗙粍灏俱�傞�氳繃璁惧畾鍒嗙粍瀵硅薄鐨勨�樹緷鎹瓧娈�(ByFields)鈥欏睘鎬э紝鎸囧畾鍒嗙粍鐢熸垚鐨勪緷鎹瓧娈点�傚湪鍒嗙粍澶翠笌鍒嗙粍灏句腑鍔犲叆鐩稿簲鐨勯儴浠舵锛屽疄鐜板垎缁勪俊鎭殑鏄剧ず銆備娇鐢ㄧ粺璁℃鎴朚emo妗嗗疄鐜版暟鎹殑缁熻鍒嗘瀽銆�",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"696969"
+		},
+		"RowLine":{
+			"Color":"696969"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<15\r\norder by m.CustomerId, d.ProductID\r\n",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.19063,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":4.15396,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.9652,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":15.3988,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"杩欐槸涓�涓畝鍗曠殑娓呭崟寮忔姤琛紝灏嗗湪姝ゆ姤琛ㄧ殑鍩虹涓婂紑濮嬪涔犲埗浣滀氦鍙夎〃銆�"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.60917,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3a.grf b/public/grf/3a.grf
new file mode 100644
index 0000000..14ead4c
--- /dev/null
+++ b/public/grf/3a.grf
@@ -0,0 +1,213 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3a.浜ゅ弶琛ㄨ捣姝�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勪氦鍙夋姤琛╘r\n\r\n1銆佽瀹氭槑缁嗙綉鏍肩殑鈥滀氦鍙夎〃鏂瑰紡鈥濆睘鎬т负鈥滄槸鈥濇寚瀹氭湰鎶ヨ〃涓轰竴涓氦鍙夋姤琛紝姝ゆ椂鏄庣粏缃戞牸鍏锋湁浜嗕竴涓氦鍙夎〃瀛愬璞★紝鍦ㄦ姤琛ㄥ璞℃祻瑙堢獥鍙g殑鏄庣粏缃戞牸涓嬪彲浠ユ壘鍒扳�滀氦鍙夎〃鈥濊妭鐐癸紝閫変腑姝よ妭鐐硅浜ゅ弶琛ㄦ垚涓哄綋鍓嶉�変腑瀛楁銆� \r\n2銆佽瀹氱旱鍚戜氦鍙夊瓧娈碉細璁剧疆浜ゅ弶琛ㄧ殑鈥滅旱鍚戜氦鍙夊瓧娈碘�濆睘鎬т负鈥淐ustomerId鈥濄�� \r\n3銆佽瀹氭í鍚戜氦鍙夊瓧娈碉細璁剧疆浜ゅ弶琛ㄧ殑鈥滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т负鈥淧roductID鈥濄�� \r\n4銆佽瀹氱旱鍚戜氦鍙夊垪锛氳缃氦鍙夎〃鐨勨�滈」鐩垪鏁扳�濆睘鎬т负鈥�2鈥濓紝杩欐牱鎸囧畾鏄庣粏缃戞牸鐨勫墠涓ゅ垪涓虹旱鍚戜氦鍙夊垪锛岀揣闅忓叾鍚庣殑鈥滈噾棰濃�濆垪涓烘í鍚戜氦鍙夊垪銆� \r\n5銆佽瀹氭í鍚戜氦鍙夊垪鐨勬爣棰橈紝鍦ㄦ爣棰樻牸涓彃鍏ュ瓧娈垫鏉ュ疄鐜板姩鎬佺殑琛ㄦ牸鏍囬锛氶�変腑鈥滈噾棰濃�濆垪鐨勬爣棰樻牸锛岃缃叾鈥滆嚜鐢辨牸鈥濆睘鎬т负鈥滄槸鈥濓紱鍒犻櫎鏍间腑鐨勯潤鎬佹锛岀劧鍚庢彃鍏ヤ竴涓瓧娈垫锛屽瓧娈垫鐨勨�滄暟鎹瓧娈碘�濆睘鎬т负鈥淧roductName鈥濓紱鏈�鍚庤瀹氬瓧娈垫鐨勨�滃仠闈犫�濆睘鎬т负鈥滃厖婊♀�濄�� \r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<8\r\norder by m.CustomerId, d.ProductID",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":4.15396,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.9652,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":15.1606,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.60917,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3b.grf b/public/grf/3b.grf
new file mode 100644
index 0000000..f564cf4
--- /dev/null
+++ b/public/grf/3b.grf
@@ -0,0 +1,232 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3b.浜ゅ弶琛ㄦí鍚戝悎璁�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"涓轰氦鍙夎〃鍔犱笂妯悜姹傚拰鍔熻兘銆備氦鍙夎〃鐨勨�滃悎璁″垪鏁扳�濆睘鎬ф寚瀹氭渶鍚庡嚑鍒椾负妯悜姹傚拰鍒椼�俓r\n\r\n1銆侀鍏堟彃鍏ュ悎璁″垪锛氭墽琛岃彍鍗曗�滄煡鍏モ��-銆夆�滃垪鈥濄�� \r\n2銆佽瀹氭柊鍒楀唴瀹规牸鍏宠仈鐨勫瓧娈典负鈥淎mount鈥濄�� \r\n3銆佽瀹氭í鍚戝悎璁″垪锛氶�変腑浜ゅ弶琛ㄥ璞★紝璁惧畾鍏跺睘鎬р�滃悎璁″垪鏁扳�濅负鈥�1鈥濓紝杩欐牱鎸囧畾鍒氭墠鏂板鐨勫垪涓烘í鍚戝悎璁″垪銆� \r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"AppendBlankCol":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<8\r\norder by m.CustomerId, d.ProductID\r\n",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"Column1",
+				"Width":1.74625
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":1
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":10.9008,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":24.7121,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":21.9075,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3c.grf b/public/grf/3c.grf
new file mode 100644
index 0000000..00b34ac
--- /dev/null
+++ b/public/grf/3c.grf
@@ -0,0 +1,272 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3c.浜ゅ弶琛ㄧ旱鍚戝悎璁�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"浜ゅ弶琛ㄥ姞涓婄旱鍚戞眰鍜屽姛鑳姐�傚湪浜ゅ弶鎶ヨ〃涓畾涔夌殑鍒嗙粍灏嗕細鑷姩鍦ㄥ垎缁勫ご涓庡垎缁勫熬涓繘琛屼氦鍙夋暟鎹旱鍚戞眰鍜屻�傚鏋滃笇鏈涘悎璁℃樉绀哄湪琛ㄦ牸搴曠锛屽彲浠ラ殣钘忓垎缁勫ご锛屽弽涔嬪垯闅愯棌鍒嗙粍灏俱�俓r\n\r\n1銆侀鍏堟彃鍏ユ眰鍜屽垎缁勶細鎵ц鑿滃崟鈥滄煡鍏モ��-銆夆�滃垎缁勨�濄�� \r\n2銆佽瀹氬悎璁℃暟鎹樉绀轰綅缃細灏嗗垎缁勫ご鐨勯珮搴﹁涓衡��0鈥濋殣钘忓垎缁勫ご锛屾眰鍜屾暟鎹皢鍦ㄥ垎缁勫熬涓樉绀猴紝杩欐牱姹傚拰鏁版嵁灏变細鏄剧ず鍦ㄨ〃鏍肩殑搴曠銆� \r\n3銆佸湪鍒嗙粍灏句腑鎻掑叆涓�涓潤鎬佹锛屽叾鈥滄枃鏈�濆睘鎬т负鈥滅旱鍚戝悎璁♀�濓紝骞惰瀹氬叾鈥滃榻愬垪鈥濅笌鈥滃榻愬垪鎵╁睍鈥濆睘鎬т负缃戞牸鍓嶄袱鍒楃殑鍚嶇О銆� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<11\r\norder by m.CustomerId, d.ProductID",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"HTotal",
+				"Width":2.19604
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"ECEBD5",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绾靛悜鍚堣"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":1
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":10.9008,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":24.7121,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":21.9075,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3d.grf b/public/grf/3d.grf
new file mode 100644
index 0000000..24b66ce
--- /dev/null
+++ b/public/grf/3d.grf
@@ -0,0 +1,330 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3d.浜ゅ弶琛ㄦí鍚戠櫨鍒嗘瘮",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄦí鍚戞眰姣旈噸鐧惧垎姣斻�俓r\n\r\n棣栧厛鍦ㄧ綉鏍间腑瀹氫箟鍒楃敤鏉ユ樉绀烘瘮閲嶇櫨鍒嗘瘮锛岀劧鍚庡湪浜ゅ弶琛ㄤ腑鎸囧畾鍒椾负妯悜姹傛瘮鐜囧垪銆傚鏋滆鍦ㄥ悎璁′腑涔熻鍔犱笂姣旂巼鍒楋紝鍐嶆鎻掑叆鏂板垪鐢ㄦ潵鏄剧ず鍚堣姣旈噸鐧惧垎姣旓紝鍚堣姣旈噸鐧惧垎姣旂殑鍊煎缁堜负100%銆傝繖鏍疯璁′箣鍚庯紝涓�鑸渶瑕佸皢琛ㄥご璁捐涓哄灞傝〃澶达紝浠ヤ究瀵瑰悓涓�鏁版嵁鐨勫師濮嬫暟鎹垪涓庢瘮閲嶇櫨鍒嗘瘮鍒楀湪琛ㄥご涓婂綊绫汇�俓r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<10\r\norder by m.CustomerId, d.ProductID",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.93146
+			},
+			{
+				"Name":"HPercent",
+				"Width":1.3
+			},
+			{
+				"Name":"HTotal",
+				"Width":2.19604
+			},
+			{
+				"Name":"HTotalPercent",
+				"Width":1.37583
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HPercent",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotalPercent",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"DataTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HPercent",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"HTotalTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"HTotal",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HTotalPercent",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						}
+					],
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"ECEBD5",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绾靛悜鍚堣"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%;;#",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":2,
+			"HPercentColumns":"HPercent",
+			"TotalHPercentColumns":"HTotalPercent"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3e.grf b/public/grf/3e.grf
new file mode 100644
index 0000000..9848377
--- /dev/null
+++ b/public/grf/3e.grf
@@ -0,0 +1,371 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3e.浜ゅ弶琛ㄧ旱鍚戠櫨鍒嗘瘮",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄧ旱鍚戞眰姣旈噸鐧惧垎姣斻�俓r\n\r\n棣栧厛鍦ㄧ綉鏍间腑瀹氫箟鍒楃敤鏉ユ樉绀烘瘮閲嶇櫨鍒嗘瘮锛岀劧鍚庡湪浜ゅ弶琛ㄤ腑鎸囧畾鍒椾负绾靛悜姹傛瘮鐜囧垪銆傚鏋滆鍦ㄥ悎璁′腑涔熻鍔犱笂姣旂巼鍒楋紝鍐嶆鎻掑叆鏂板垪鐢ㄦ潵鏄剧ず鍚堣姣旈噸鐧惧垎姣旓紝鐒跺悗鍦ㄤ氦鍙夎〃涓寚瀹氬垪涓哄悎璁$旱鍚戞眰姣旂巼鍒椼�傝繖鏍疯璁′箣鍚庯紝涓�鑸渶瑕佸皢琛ㄥご璁捐涓哄灞傝〃澶达紝浠ヤ究瀵瑰悓涓�鏁版嵁鐨勫師濮嬫暟鎹垪涓庢瘮閲嶇櫨鍒嗘瘮鍒楀湪琛ㄥご涓婂綊绫汇�俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"AppendBlankCol":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<8\r\norder by m.CustomerId, d.ProductID\r\n",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"HPercent",
+				"Width":1.19063
+			},
+			{
+				"Name":"VPercent",
+				"Width":1.19063
+			},
+			{
+				"Name":"HTotal",
+				"Width":2.19604
+			},
+			{
+				"Name":"HTotalPercent",
+				"Width":1.37583
+			},
+			{
+				"Name":"VTotalPercent",
+				"Width":1.37583
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HPercent",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"VPercent",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotalPercent",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"VTotalPercent",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"DataTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HPercent",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"VPercent",
+							"TextAlign":"MiddleCenter",
+							"Text":"绾垫瘮%"
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"HTotalTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"HTotal",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HTotalPercent",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"VTotalPercent",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"绾垫瘮%"
+						}
+					],
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"ECEBD5",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绾靛悜鍚堣"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%;;#",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":3,
+			"HPercentColumns":"HPercent",
+			"VPercentColumns":"VPercent",
+			"TotalHPercentColumns":"HTotalPercent",
+			"TotalVPercentColumns":"VTotalPercent"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3f.grf b/public/grf/3f.grf
new file mode 100644
index 0000000..32c313e
--- /dev/null
+++ b/public/grf/3f.grf
@@ -0,0 +1,232 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3f.浜ゅ弶琛ㄦ寜鏃ヤ氦鍙�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎸夋棩浜ゅ弶琛ㄣ�俓r\n\r\n鎸夋湡闂翠氦鍙夋姤琛ㄥ氨鏄寜鏃堕棿娈靛鏁版嵁杩涜褰掔被姹囨�诲苟杩涜浜ゅ弶灞曠幇鐨勬姤琛紝渚嬪甯歌鐨勫悇绉嶆棩鎶ヨ〃鏈堟姤琛ㄧ瓑銆傝璁℃寜鏈熼棿浜ゅ弶鎶ヨ〃锛岃纭畾鏃ユ湡鏈熼棿绫诲瀷锛屽苟纭畾鏁翠釜鏁版嵁鐨勬棩鏈熻寖鍥淬�傚湪鐢熸垚鎶ヨ〃鏃讹紝灏嗘牴鎹湡闂寸被鍨嬫妸鏁翠釜鏃ユ湡鑼冨洿鍒掑垎涓轰竴涓釜鐨勬湡闂存銆俓r\n\r\n鍦ㄨ繘琛屼簡浜ゅ弶琛ㄧ殑鍩烘湰璁剧疆涔嬪悗锛屾寜鏈熼棿浜ゅ弶鎶ヨ〃杩橀渶瑕佽繘琛屼互涓嬫柟闈㈢殑璁剧疆锛歕r\n1銆佷氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т竴瀹氳鍏宠仈涓�涓棩鏈熺被鍨嬬殑瀛楁銆� \r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂寸被鍨嬧�濆睘鎬с�� \r\n3銆佸畾涔変袱涓棩鏈熺被鍨嬬殑鎶ヨ〃鍙傛暟锛屽叾鍒嗗埆纭畾鎶ヨ〃鏁版嵁鐨勮捣濮嬫棩鏈熶笌缁撴潫鏃ユ湡銆� \r\n4銆佽缃氦鍙夎〃鐨勨�滃紑濮嬫棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勮捣濮嬫棩鏈熷弬鏁板悕绉般�� \r\n5銆佽缃氦鍙夎〃鐨勨�滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勭粨鏉熸棩鏈熷弬鏁板悕绉般�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":1,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.CompanyName,m.OrderDate,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #6/1/1997# and #7/15/1997#\r\norder by c.CompanyName, m.OrderDate",
+			"Field":[
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"dd鏃�"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.079375,
+							"Top":0.343958,
+							"Width":1.19063,
+							"Height":0.396875,
+							"Text":"瀹㈡埛"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"Dock":"Fill"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Anchor":"[Top|Right]",
+							"Left":1.32292,
+							"Top":0.0529167,
+							"Width":1.19063,
+							"Height":0.47625,
+							"TextAlign":"MiddleRight",
+							"Text":"鏃ユ湡"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"OrderDate"
+						}
+					]
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"OrderDate",
+			"VCrossFields":"CompanyName",
+			"HCrossPeriodType":"Day",
+			"BeginDateParameter":"CrossBeginDate",
+			"EndDateParameter":"CrossEndDate"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/6/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/6/30"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏃ユ姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3g.grf b/public/grf/3g.grf
new file mode 100644
index 0000000..35582bc
--- /dev/null
+++ b/public/grf/3g.grf
@@ -0,0 +1,203 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3g.浜ゅ弶琛ㄦ寜鏈堜氦鍙�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎸夋棩浜ゅ弶琛ㄣ�俓r\n\r\n鎸夋湡闂翠氦鍙夋姤琛ㄥ氨鏄寜鏃堕棿娈靛鏁版嵁杩涜褰掔被姹囨�诲苟杩涜浜ゅ弶灞曠幇鐨勬姤琛紝渚嬪甯歌鐨勫悇绉嶆棩鎶ヨ〃鏈堟姤琛ㄧ瓑銆傝璁℃寜鏈熼棿浜ゅ弶鎶ヨ〃锛岃纭畾鏃ユ湡鏈熼棿绫诲瀷锛屽苟纭畾鏁翠釜鏁版嵁鐨勬棩鏈熻寖鍥淬�傚湪鐢熸垚鎶ヨ〃鏃讹紝灏嗘牴鎹湡闂寸被鍨嬫妸鏁翠釜鏃ユ湡鑼冨洿鍒掑垎涓轰竴涓釜鐨勬湡闂存銆俓r\n\r\n鍦ㄨ繘琛屼簡浜ゅ弶琛ㄧ殑鍩烘湰璁剧疆涔嬪悗锛屾寜鏈熼棿浜ゅ弶鎶ヨ〃杩橀渶瑕佽繘琛屼互涓嬫柟闈㈢殑璁剧疆锛歕r\n1銆佷氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т竴瀹氳鍏宠仈涓�涓棩鏈熺被鍨嬬殑瀛楁銆� \r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂寸被鍨嬧�濆睘鎬с�� \r\n3銆佸畾涔変袱涓棩鏈熺被鍨嬬殑鎶ヨ〃鍙傛暟锛屽叾鍒嗗埆纭畾鎶ヨ〃鏁版嵁鐨勮捣濮嬫棩鏈熶笌缁撴潫鏃ユ湡銆� \r\n4銆佽缃氦鍙夎〃鐨勨�滃紑濮嬫棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勮捣濮嬫棩鏈熷弬鏁板悕绉般�� \r\n5銆佽缃氦鍙夎〃鐨勨�滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勭粨鏉熸棩鏈熷弬鏁板悕绉般�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.CompanyName,m.OrderDate,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997#\r\norder by c.CompanyName, m.OrderDate",
+			"Field":[
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"MM鏈�"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"OrderDate"
+						}
+					]
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"OrderDate",
+			"VCrossFields":"CompanyName",
+			"HCrossPeriodType":"Month",
+			"BeginDateParameter":"CrossBeginDate",
+			"EndDateParameter":"CrossEndDate"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":10.9008,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":24.7121,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":21.9075,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/12/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞湀鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3h.grf b/public/grf/3h.grf
new file mode 100644
index 0000000..5743c65
--- /dev/null
+++ b/public/grf/3h.grf
@@ -0,0 +1,304 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3h.浜ゅ弶琛ㄦí鍚戝钩鍧�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"瀹氫箟涓�涓悎璁″垪锛屽皢姝ゅ垪鐨勫唴瀹规牸鏀逛负鑷敱鏍硷紝鍦ㄥ唴瀹规牸涓彃鍏ヤ竴涓粺璁℃锛屾寚瀹氱粺璁℃鐨勭粺璁″嚱鏁拌涓衡�滃钩鍧団�濓紝杩欐牱灏辨寚绀烘鍒椾负妯悜姹傚钩鍧囧垪銆傝繖鏍峰畾涔変箣鍚庯紝鍦ㄨ繍琛屾椂灏变細姹傚嚭妯悜骞冲潎鍊笺�備笅闈㈢殑杩囩▼璇存槑鍦ㄤ緥瀛愭ā鏉库��3c.浜ゅ弶琛ㄧ旱鍚戝悎璁�.grf鈥濈殑鍩虹涓婂鍔犳í鍚戞眰骞冲潎鐨勫姛鑳姐�俓r\n\r\n1銆佹彃鍏ユí鍚戞眰骞冲潎鍒楋細鎵ц鑿滃崟鈥滄煡鍏モ��-銆夆�滃垪鈥濓紝璁惧畾姝ゆ柊鍒楃殑鈥滃悕绉扳�濆睘鎬т负鈥淗Average鈥濄�� \r\n2銆侀�変腑姝ゅ垪鐨勫唴瀹规牸锛岃缃叾鈥滆嚜鐢辨牸鈥濆睘鎬т负鈥滄槸鈥濄�� \r\n3銆佸湪鍐呭鏍兼彃鍏ヤ竴涓粺璁℃锛岃缃叾鈥滃仠闈犫�濆睘鎬т负鈥滃厖婊♀�濓紝鍏垛�滅粺璁″嚱鏁扳�濆睘鎬т负鈥滃钩鍧団�濓紝鍏垛�滄暟鎹瓧娈碘�濆睘鎬т负鈥淎mount鈥濄�� \r\n4銆侀噸鏂拌瀹氭í鍚戝悎璁″垪锛氶�変腑浜ゅ弶琛紝璁剧疆鍏垛�滃悎璁″垪鏁扳�濆睘鎬т负鈥�2鈥濄�� \r\n\r\n鍐嶈繘琛屼竴浜涘叾瀹冭瀹氫笌璋冩暣锛屼細寰楀埌涓�涓被浼间緥瀛愭ā鏉库��3o.浜ゅ弶琛ㄦí鍚戝钩鍧�.grf鈥濈殑鎶ヨ〃銆傝繘鍏ユ煡璇㈣鍥炬垨棰勮瑙嗗浘灏卞彲浠ョ湅鍒拌繍琛屾晥鏋溿�� \r\n\r\n鐗瑰埆璇存槑锛氱粺璁℃鐨勭粺璁″嚱鏁板彲浠ヨ瀹氫负鍏跺畠鐨勶紝杩欐牱灏卞彲浠ュ疄鐜板叾瀹冩柟寮忕殑妯悜缁熻锛屽锛氫釜鏁般�佹渶澶у�笺�佹渶灏忓�硷紝闈炵┖鍊煎钩鍧囩瓑銆� \r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<10 and m.CustomerId<'H'\r\norder by m.CustomerId, d.ProductID",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"Column1",
+				"Width":1.98438
+			},
+			{
+				"Name":"HTotal",
+				"Width":2.19604
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Avg"
+						}
+					]
+				},
+				{
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"骞冲潎"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"ECEBD5",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绾靛悜鍚堣"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":2
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":10.9008,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":24.7121,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":21.9075,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":8.99583,
+					"Top":0.396875,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3i.grf b/public/grf/3i.grf
new file mode 100644
index 0000000..2d02bae
--- /dev/null
+++ b/public/grf/3i.grf
@@ -0,0 +1,295 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3i.浜ゅ弶琛ㄧ旱鍚戝崟鍏冩牸鍚堝苟",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.City,m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,d.Quantity\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<10\r\norder by c.City,m.CustomerId, d.ProductID",
+			"Field":[
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.69333
+			},
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.24354
+			}
+		],
+		"ColumnContent":{
+			"Height":0.7,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"DataField":"City"
+				},
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"TotalGroup",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"ECEBD5",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Left":1.69333,
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"SubGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"KeepTogether":false,
+					"Height":0.635,
+					"RepeatOnPage":true,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":0.608542,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"ECEBD5",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Left":1.69333,
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"灏忚"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductID",
+			"VCrossFields":"City;CustomerId",
+			"ListCols":3
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":4.15396,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.9652,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":15.1606,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.60917,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3j.grf b/public/grf/3j.grf
new file mode 100644
index 0000000..3720830
--- /dev/null
+++ b/public/grf/3j.grf
@@ -0,0 +1,243 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3j.浜ゅ弶琛ㄥ鏁版嵁鍒�(1)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓叿鏈変袱涓氦鍙夋暟鎹垪鐨勪氦鍙夎〃銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":1,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.CompanyName,p.ProductName,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<10\r\norder by c.CompanyName, p.ProductName",
+			"Field":[
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Qty",
+				"Width":1.8
+			},
+			{
+				"Name":"Amount",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Qty",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.079375,
+							"Top":0.449792,
+							"Width":1.19063,
+							"Height":0.502708,
+							"Text":"瀹㈡埛"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"Dock":"Fill"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Anchor":"[Top|Right]",
+							"Left":1.32292,
+							"Top":0.0529167,
+							"Width":1.19063,
+							"Height":0.502708,
+							"TextAlign":"MiddleRight",
+							"Text":"浜у搧"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"DataTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Qty",
+							"TextAlign":"MiddleCenter",
+							"Text":"鏁伴噺"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductName",
+			"VCrossFields":"CompanyName"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3k.grf b/public/grf/3k.grf
new file mode 100644
index 0000000..79613aa
--- /dev/null
+++ b/public/grf/3k.grf
@@ -0,0 +1,263 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3k.浜ゅ弶琛ㄥ鏁版嵁鍒�(2)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓叿鏈変袱涓氦鍙夋暟鎹垪鐨勪氦鍙夎〃锛屼笖灏嗗悓涓�鍒椾骇鐢熺殑浜ゅ弶鍒楁帓鍒楀湪涓�璧枫�傞�氳繃璁剧疆鍙屽眰琛ㄥご鏉ュ疄鐜拌繖鐐癸紝姣忎釜浜ゅ弶鍒楅兘瀹氫箟鑷繁鐨勪笂灞傝〃澶达紝涓婂眰琛ㄥご璁惧畾闈欐�佹枃瀛楋紝涓嬪眰琛ㄥご鏄剧ず浜ゅ弶鍔ㄦ�佹暟鎹��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":1,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.CompanyName,p.ProductName,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<10\r\norder by c.CompanyName, p.ProductName",
+			"Field":[
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Qty",
+				"Width":1.8
+			},
+			{
+				"Name":"Amount",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Qty",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"BackColor":"99FFFF",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.079375,
+							"Top":0.449792,
+							"Width":1.19063,
+							"Height":0.502708,
+							"Text":"瀹㈡埛"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"Dock":"Fill"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Anchor":"[Top|Right]",
+							"Left":1.32292,
+							"Top":0.0529167,
+							"Width":1.19063,
+							"Height":0.502708,
+							"TextAlign":"MiddleRight",
+							"Text":"浜у搧"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Qty",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"FieldBox",
+									"Name":"FieldBox2",
+									"Dock":"Fill",
+									"TextAlign":"MiddleCenter",
+									"DataField":"ProductName"
+								}
+							]
+						}
+					],
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column2",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"BackColor":"99FFFF",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"FieldBox",
+									"Name":"FieldBox3",
+									"BackColor":"FFFFFF",
+									"Dock":"Fill",
+									"TextAlign":"MiddleCenter",
+									"DataField":"ProductName"
+								}
+							]
+						}
+					],
+					"BackColor":"99FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"ProductName",
+			"VCrossFields":"CompanyName"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3l.grf b/public/grf/3l.grf
new file mode 100644
index 0000000..17c1c45
--- /dev/null
+++ b/public/grf/3l.grf
@@ -0,0 +1,637 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3l.浜ゅ弶琛ㄨ嚜瀹氫箟缁熻",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎸夋棩浜ゅ弶琛ㄣ�俓r\n\r\n鎸夋湡闂翠氦鍙夋姤琛ㄥ氨鏄寜鏃堕棿娈靛鏁版嵁杩涜褰掔被姹囨�诲苟杩涜浜ゅ弶灞曠幇鐨勬姤琛紝渚嬪甯歌鐨勫悇绉嶆棩鎶ヨ〃鏈堟姤琛ㄧ瓑銆傝璁℃寜鏈熼棿浜ゅ弶鎶ヨ〃锛岃纭畾鏃ユ湡鏈熼棿绫诲瀷锛屽苟纭畾鏁翠釜鏁版嵁鐨勬棩鏈熻寖鍥淬�傚湪鐢熸垚鎶ヨ〃鏃讹紝灏嗘牴鎹湡闂寸被鍨嬫妸鏁翠釜鏃ユ湡鑼冨洿鍒掑垎涓轰竴涓釜鐨勬湡闂存銆俓r\n\r\n鍦ㄨ繘琛屼簡浜ゅ弶琛ㄧ殑鍩烘湰璁剧疆涔嬪悗锛屾寜鏈熼棿浜ゅ弶鎶ヨ〃杩橀渶瑕佽繘琛屼互涓嬫柟闈㈢殑璁剧疆锛歕r\n1銆佷氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т竴瀹氳鍏宠仈涓�涓棩鏈熺被鍨嬬殑瀛楁銆� \r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂寸被鍨嬧�濆睘鎬с�� \r\n3銆佸畾涔変袱涓棩鏈熺被鍨嬬殑鎶ヨ〃鍙傛暟锛屽叾鍒嗗埆纭畾鎶ヨ〃鏁版嵁鐨勮捣濮嬫棩鏈熶笌缁撴潫鏃ユ湡銆� \r\n4銆佽缃氦鍙夎〃鐨勨�滃紑濮嬫棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勮捣濮嬫棩鏈熷弬鏁板悕绉般�� \r\n5銆佽缃氦鍙夎〃鐨勨�滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勭粨鏉熸棩鏈熷弬鏁板悕绉般�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,d.ProductID,p.ProductName,\r\nd.Quantity, d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p \r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID<8\r\norder by m.CustomerId, d.ProductID\r\n",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.56104
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.6
+			},
+			{
+				"Name":"HPercent",
+				"Width":1.2
+			},
+			{
+				"Name":"VPercent",
+				"Width":1.2
+			},
+			{
+				"Name":"HTotal",
+				"Width":2
+			},
+			{
+				"Name":"HTotalPercent",
+				"Width":1.37583
+			},
+			{
+				"Name":"VTotalPercent",
+				"Width":1.37583
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HPercent",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"VPercent",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotal",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"HTotalPercent",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"VTotalPercent",
+					"BackColor":"E1FFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"DataTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HPercent",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"VPercent",
+							"TextAlign":"MiddleCenter",
+							"Text":"绾垫瘮%"
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"ProductName"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"HTotalTitle",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"HTotal",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"閲戦"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"HTotalPercent",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"妯瘮%"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"VTotalPercent",
+							"BackColor":"E1FFFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"绾垫瘮%"
+						}
+					],
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"ECEBD5",
+					"Height":1.79917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍚堣"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"AlignColumn":"Amount",
+							"Left":4.23333,
+							"Width":1.5875,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"AlignColumn":"HPercent",
+							"Left":5.82083,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox3",
+							"AlignColumn":"VPercent",
+							"Left":7.01146,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox4",
+							"AlignColumn":"HTotalPercent",
+							"Left":10.2129,
+							"Width":1.37583,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox5",
+							"AlignColumn":"HTotal",
+							"Left":8.20208,
+							"Width":2.01083,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox6",
+							"AlignColumn":"VTotalPercent",
+							"Left":11.5888,
+							"Width":1.37583,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Top":0.608542,
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"骞冲潎"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox7",
+							"AlignColumn":"Amount",
+							"Left":4.20688,
+							"Top":0.608542,
+							"Width":1.61396,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Avg"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox8",
+							"AlignColumn":"HTotal",
+							"Left":8.17563,
+							"Top":0.608542,
+							"Width":2.03729,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Avg"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"AlignColumn":"HPercent",
+							"Left":5.79438,
+							"Top":0.608542,
+							"Width":1.21708,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"AlignColumn":"VPercent",
+							"Left":6.985,
+							"Top":0.608542,
+							"Width":1.21708,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"AlignColumn":"HTotalPercent",
+							"Left":10.1865,
+							"Top":0.608542,
+							"Width":1.40229,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"AlignColumn":"VTotalPercent",
+							"Left":11.5623,
+							"Top":0.608542,
+							"Width":1.40229,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"CustomerID",
+							"AlignColumnEx":"CustomerName",
+							"Top":1.19063,
+							"Width":4.23333,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"涓暟"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox9",
+							"AlignColumn":"Amount",
+							"Left":4.20688,
+							"Top":1.19063,
+							"Width":1.61396,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Count",
+							"Format":"#,##0"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox10",
+							"AlignColumn":"HTotal",
+							"Left":8.17563,
+							"Top":1.19063,
+							"Width":2.03729,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Count",
+							"Format":"#,##0"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"AlignColumn":"HPercent",
+							"Left":5.79438,
+							"Top":1.19063,
+							"Width":1.21708,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"AlignColumn":"VPercent",
+							"Left":6.985,
+							"Top":1.19063,
+							"Width":1.21708,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"AlignColumn":"HTotalPercent",
+							"Left":10.1865,
+							"Top":1.19063,
+							"Width":1.40229,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"AlignColumn":"VTotalPercent",
+							"Left":11.5623,
+							"Top":1.19063,
+							"Width":1.40229,
+							"Height":0.582083,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							}
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%;;#",
+			"GroupAutoSum":false,
+			"HCrossFields":"ProductID",
+			"VCrossFields":"CustomerId",
+			"ListCols":2,
+			"TotalCols":3,
+			"HPercentColumns":"HPercent",
+			"VPercentColumns":"VPercent",
+			"TotalHPercentColumns":"HTotalPercent",
+			"TotalVPercentColumns":"VTotalPercent"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.1775,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":36.9888,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":34.1842,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":15.1342,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3m.grf b/public/grf/3m.grf
new file mode 100644
index 0000000..5db311d
--- /dev/null
+++ b/public/grf/3m.grf
@@ -0,0 +1,352 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3m.浜ゅ弶琛ㄦí鍚戝皬璁�(1)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":1.5,
+		"RightMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select t.CategoryName, p.ProductName,c.City,c.CompanyName,d.Quantity\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join \r\n(Products p inner join Categories t on p.CategoryID=t.CategoryID)\r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997#\r\norder by t.CategoryName,p.ProductName,c.City,c.CompanyName",
+			"Field":[
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.69333
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.40229
+			},
+			{
+				"Name":"Column2",
+				"Width":1.69333
+			},
+			{
+				"Name":"Column3",
+				"Width":1.71979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"DataField":"City"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Column2",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"EFE7C2",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						}
+					]
+				},
+				{
+					"Column":"Column3",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"FieldBox",
+									"Name":"FieldBox1",
+									"Dock":"Fill",
+									"TextAlign":"MiddleCenter",
+									"DataField":"ProductName"
+								}
+							]
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"CategoryName"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"BackColor":"EFE7C2",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"灏忚\r\n[#CategoryName#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column3",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"TotalGroup",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"ECEBD5",
+							"AlignColumnEx":"CustomerName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"SubGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.608542,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"DEEDEF",
+					"Height":0.608542,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"ECEBD5",
+							"AlignColumnEx":"CustomerName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"灏忚"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"CategoryName;ProductName",
+			"VCrossFields":"City;CompanyName",
+			"ListCols":2,
+			"TotalCols":1,
+			"SubtotalCols":1
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":25.1354,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":38.9467,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":36.1421,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":16.1131,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3n.grf b/public/grf/3n.grf
new file mode 100644
index 0000000..2c28fd5
--- /dev/null
+++ b/public/grf/3n.grf
@@ -0,0 +1,563 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3n.浜ゅ弶琛ㄦí鍚戝皬璁�(2)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":1.5,
+		"RightMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select t.CategoryName, p.ProductName,c.City,c.CompanyName,d.Quantity\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join \r\n(Products p inner join Categories t on p.CategoryID=t.CategoryID)\r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997# and D.ProductID<=10\r\norder by t.CategoryName,p.ProductName,c.City,c.CompanyName",
+			"Field":[
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.69333
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.2
+			},
+			{
+				"Name":"Column5",
+				"Width":1.1
+			},
+			{
+				"Name":"Column6",
+				"Width":1.1
+			},
+			{
+				"Name":"Column2",
+				"Width":1.3
+			},
+			{
+				"Name":"Column8",
+				"Width":1.2
+			},
+			{
+				"Name":"Column7",
+				"Width":1.2
+			},
+			{
+				"Name":"Column3",
+				"Width":1.37583
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"DataField":"City"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Column5",
+					"BackColor":"F7F5E1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"SummaryFun":"CountA"
+						}
+					]
+				},
+				{
+					"Column":"Column6",
+					"BackColor":"F7F5E1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"SummaryFun":"AvgA",
+							"Format":"0.00"
+						}
+					]
+				},
+				{
+					"Column":"Column2",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"F7F5E1",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						}
+					]
+				},
+				{
+					"Column":"Column8",
+					"BackColor":"F7F5E1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox4",
+							"BackColor":"FFCCFF",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"SummaryFun":"CountA"
+						}
+					]
+				},
+				{
+					"Column":"Column7",
+					"BackColor":"F7F5E1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox3",
+							"BackColor":"FFCCFF",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"SummaryFun":"AvgA",
+							"Format":"0.00"
+						}
+					]
+				},
+				{
+					"Column":"Column3",
+					"BackColor":"FFCCFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox5",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Amount",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"FieldBox",
+									"Name":"FieldBox1",
+									"Dock":"Fill",
+									"TextAlign":"MiddleCenter",
+									"DataField":"ProductName"
+								}
+							]
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"DataField":"CategoryName"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column4",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Column5",
+							"BackColor":"F7F5E1",
+							"TextAlign":"MiddleCenter",
+							"Text":"涓暟"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Column6",
+							"BackColor":"F7F5E1",
+							"TextAlign":"MiddleCenter",
+							"Text":"骞冲潎"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Column2",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"MemoBox",
+									"Name":"MemoBox5",
+									"BackColor":"F7F5E1",
+									"BackStyle":"Normal",
+									"Dock":"Fill",
+									"Border":{
+										"Styles":"[DrawRight]"
+									},
+									"TextAlign":"MiddleCenter",
+									"Text":"灏忚"
+								}
+							]
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"DataField":"CategoryName"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column9",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Column8",
+							"BackColor":"FFCCFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"涓暟"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Column7",
+							"BackColor":"FFCCFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"骞冲潎"
+						},
+						{
+							"GroupTitle":false,
+							"Column":"Column3",
+							"BackColor":"FFCCFF",
+							"TextAlign":"MiddleCenter",
+							"Text":"鎬昏"
+						}
+					],
+					"BackColor":"FFCCFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"妯悜鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"TotalGroup",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.635,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"ECEBD5",
+							"AlignColumn":"CustomerName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"SubGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.608542,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"EBEBEB",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"ECEBD5",
+							"AlignColumn":"CustomerName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"灏忚"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Tag":"瀵归綈鍒板垪鎶戝埗鑷姩浜х敓缁熻",
+							"AlignColumn":"Column6",
+							"Left":6.6675,
+							"Width":1.11125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Tag":"瀵归綈鍒板垪鎶戝埗鑷姩浜х敓缁熻",
+							"AlignColumn":"Column5",
+							"Left":5.55625,
+							"Width":1.11125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Tag":"瀵归綈鍒板垪鎶戝埗鑷姩浜х敓缁熻",
+							"BackColor":"FFCCFF",
+							"BackStyle":"Normal",
+							"AlignColumn":"Column7",
+							"Left":10.2658,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"Tag":"瀵归綈鍒板垪鎶戝埗鑷姩浜х敓缁熻",
+							"BackColor":"FFCCFF",
+							"BackStyle":"Normal",
+							"AlignColumn":"Column8",
+							"Left":9.07521,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							}
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"CategoryName;ProductName",
+			"VCrossFields":"City;CompanyName",
+			"ListCols":2,
+			"TotalCols":3,
+			"SubtotalCols":3
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":25.1354,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":38.9467,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":36.1421,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":16.1131,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3o.grf b/public/grf/3o.grf
new file mode 100644
index 0000000..a05436c
--- /dev/null
+++ b/public/grf/3o.grf
@@ -0,0 +1,478 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3o.浜ゅ弶琛ㄦí鍚戞樉绀鸿〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄤ氦鍙夎〃瀹炵幇鏁版嵁搴撹〃鏍兼í鍚戞樉绀猴細\r\n1銆佷氦鍙夎〃涓嶅畾涔夆�滅旱鍚戜氦鍙夊瓧娈碘�濓紝杩欐牱绾靛悜鍙湁涓�椤逛氦鍙夐」銆俓r\n2銆佽瀹氫氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濅负涓婚敭鎴栧敮涓�閿瓧娈点�俓r\n3銆佸唴瀹规牸璁句负鑷敱鏍硷紝璁剧疆鎻掑叆閮ㄤ欢妗嗙殑鈥滃仠闈犫�濆睘鎬т负鈥滀笂绔�濄��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":1,
+		"PrintAdaptMethod":"ToNewPageRFCEx",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.20146
+			}
+		],
+		"ColumnContent":{
+			"Height":6.00604,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Dock":"Top",
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"瀹㈡埛缂栧彿"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Dock":"Top",
+							"Top":0.608542,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍏徃鍚嶇О"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Dock":"Top",
+							"Top":1.21708,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鑱旂郴浜�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Dock":"Top",
+							"Top":1.82563,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鑱旂郴浜虹О璋�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"Dock":"Top",
+							"Top":2.43417,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板潃"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"Dock":"Top",
+							"Top":3.04271,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍩庡競"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"Dock":"Top",
+							"Top":3.65125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板尯"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"Dock":"Top",
+							"Top":4.25979,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"閭紪"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"Dock":"Top",
+							"Top":4.86833,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鐢佃瘽"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"Dock":"Top",
+							"Top":5.47688,
+							"Height":0.502708,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":90000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"浼犵湡"
+						}
+					]
+				},
+				{
+					"Column":"CompanyName",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Dock":"Top",
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"瀹㈡埛缂栧彿"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Dock":"Top",
+							"Top":0.608542,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鍏徃鍚嶇О"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Dock":"Top",
+							"Top":1.21708,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鑱旂郴浜�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox5",
+							"Dock":"Top",
+							"Top":1.82563,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鑱旂郴浜虹О璋�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox6",
+							"Dock":"Top",
+							"Top":2.43417,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鍦板潃"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox7",
+							"Dock":"Top",
+							"Top":3.04271,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鍩庡競"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox8",
+							"Dock":"Top",
+							"Top":3.65125,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鍦板尯"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox9",
+							"Dock":"Top",
+							"Top":4.25979,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"閭紪"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox10",
+							"Dock":"Top",
+							"Top":4.86833,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"DataField":"鐢佃瘽"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox11",
+							"Dock":"Top",
+							"Top":5.47688,
+							"Height":0.502708,
+							"DataField":"浼犵湡"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF"
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"瀹㈡埛缂栧彿"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":12.8588,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":26.67,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.8654,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":10.6627,
+					"Top":0.185208,
+					"Width":5.37104,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"妯悜鏄剧ず鏁版嵁搴撹〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3p.grf b/public/grf/3p.grf
new file mode 100644
index 0000000..4d0cb02
--- /dev/null
+++ b/public/grf/3p.grf
@@ -0,0 +1,229 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3p.浜ゅ弶琛ㄦ寜骞存湀浜ゅ弶",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎸夋棩浜ゅ弶琛ㄣ�俓r\n\r\n鎸夋湡闂翠氦鍙夋姤琛ㄥ氨鏄寜鏃堕棿娈靛鏁版嵁杩涜褰掔被姹囨�诲苟杩涜浜ゅ弶灞曠幇鐨勬姤琛紝渚嬪甯歌鐨勫悇绉嶆棩鎶ヨ〃鏈堟姤琛ㄧ瓑銆傝璁℃寜鏈熼棿浜ゅ弶鎶ヨ〃锛岃纭畾鏃ユ湡鏈熼棿绫诲瀷锛屽苟纭畾鏁翠釜鏁版嵁鐨勬棩鏈熻寖鍥淬�傚湪鐢熸垚鎶ヨ〃鏃讹紝灏嗘牴鎹湡闂寸被鍨嬫妸鏁翠釜鏃ユ湡鑼冨洿鍒掑垎涓轰竴涓釜鐨勬湡闂存銆俓r\n\r\n鍦ㄨ繘琛屼簡浜ゅ弶琛ㄧ殑鍩烘湰璁剧疆涔嬪悗锛屾寜鏈熼棿浜ゅ弶鎶ヨ〃杩橀渶瑕佽繘琛屼互涓嬫柟闈㈢殑璁剧疆锛歕r\n1銆佷氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т竴瀹氳鍏宠仈涓�涓棩鏈熺被鍨嬬殑瀛楁銆� \r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂寸被鍨嬧�濆睘鎬с�� \r\n3銆佸畾涔変袱涓棩鏈熺被鍨嬬殑鎶ヨ〃鍙傛暟锛屽叾鍒嗗埆纭畾鎶ヨ〃鏁版嵁鐨勮捣濮嬫棩鏈熶笌缁撴潫鏃ユ湡銆� \r\n4銆佽缃氦鍙夎〃鐨勨�滃紑濮嬫棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勮捣濮嬫棩鏈熷弬鏁板悕绉般�� \r\n5銆佽缃氦鍙夎〃鐨勨�滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勭粨鏉熸棩鏈熷弬鏁板悕绉般�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select Year(m.OrderDate) As TheYear,Month(m.OrderDate) As TheMonth, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom Orders m inner join OrderDetails d on m.OrderId=d.OrderId\r\ngroup by Year(m.OrderDate),Month(m.OrderDate)\r\norder by Year(m.OrderDate),Month(m.OrderDate)",
+			"Field":[
+				{
+					"Name":"TheYear",
+					"Type":"Integer"
+				},
+				{
+					"Name":"TheMonth",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"CustomerName",
+					"DataField":"TheMonth"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.079375,
+							"Top":0.343958,
+							"Width":0.926042,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"Text":"鏈�"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"Dock":"Fill"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Anchor":"[Top|Right]",
+							"Left":1.5875,
+							"Top":0.0529167,
+							"Width":1.00542,
+							"Height":0.47625,
+							"TextAlign":"MiddleCenter",
+							"Text":"骞�"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"TheYear"
+						}
+					]
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"TheYear",
+			"VCrossFields":"TheMonth",
+			"BeginDateParameter":"CrossBeginDate",
+			"EndDateParameter":"CrossEndDate"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":4.15396,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.9652,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":15.1606,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/12/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.60917,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3q-1.grf b/public/grf/3q-1.grf
new file mode 100644
index 0000000..41edf6a
--- /dev/null
+++ b/public/grf/3q-1.grf
@@ -0,0 +1,176 @@
+锘縶
+	"Version":"6.6.9.0",
+	"Title":"3q.鏃ュ巻鎶ヨ〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁捐瑕佺偣锛歕r\n1銆侀鍏堣缃槑缁嗙綉鏍肩殑鈥滀氦鍙夎〃鈥濆睘鎬т负鈥滄槸鈥濓紝骞堕�変腑浜ゅ弶琛ㄣ�俓r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂�::妯悜浜ゅ弶鏈熼棿绫诲瀷鈥濆睘鎬т负鈥滄棩鍘嗏�濄�俓r\n3銆佽缃�滃紑濮嬫棩鏈熷弬鏁扳�濅笌鈥滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬э紝閫氳繃瀵瑰簲鍙傛暟鍊兼寚瀹氭棩鍘嗘湡闂磋寖鍥淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1,
+		"BottomMargin":1
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderDate,sum(d.Quantity) as Qty,sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997# and productID<20\r\ngroup by m.OrderDate\r\norder by m.OrderDate",
+			"Field":[
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Qty",
+					"Type":"Float",
+					"Format":"#,##0.##;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.56646
+			},
+			{
+				"Name":"Column1",
+				"Width":5.60917
+			}
+		],
+		"ColumnContent":{
+			"Height":1.25,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"ForeColor":"800000",
+							"Width":2.59292,
+							"Height":0.396875,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:MM/dd#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Top":0.396875,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Qty"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Top":0.79375,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Amount"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FEE7FE",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dddd#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column1"
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossPeriodType":"Calendar",
+			"BeginDateParameter":"CrossEndDate",
+			"EndDateParameter":"CrossBeginDate"
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/12/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.211667,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺涓庨噾棰濇棩鍘嗘姤琛�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3q-2.grf b/public/grf/3q-2.grf
new file mode 100644
index 0000000..cc06ed4
--- /dev/null
+++ b/public/grf/3q-2.grf
@@ -0,0 +1,234 @@
+锘縶
+	"Version":"6.6.9.0",
+	"Title":"3q.鏃ュ巻鎶ヨ〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁捐瑕佺偣锛歕r\n1銆侀鍏堣缃槑缁嗙綉鏍肩殑鈥滀氦鍙夎〃鈥濆睘鎬т负鈥滄槸鈥濓紝骞堕�変腑浜ゅ弶琛ㄣ�俓r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂�::妯悜浜ゅ弶鏈熼棿绫诲瀷鈥濆睘鎬т负鈥滄棩鍘嗏�濄�俓r\n3銆佽缃�滃紑濮嬫棩鏈熷弬鏁扳�濅笌鈥滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬э紝閫氳繃瀵瑰簲鍙傛暟鍊兼寚瀹氭棩鍘嗘湡闂磋寖鍥淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1,
+		"BottomMargin":1
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.Region,m.OrderDate,sum(d.Quantity) as Qty,sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId) \r\ninner join Customers c on m.CustomerID=c.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #03/31/1997#\r\ngroup by c.Region,m.OrderDate\r\norder by c.Region,m.OrderDate",
+			"Field":[
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Qty",
+					"Type":"Float",
+					"Format":"#,##0.##;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.56646
+			},
+			{
+				"Name":"Column1",
+				"Width":5.60917
+			}
+		],
+		"ColumnContent":{
+			"Height":1.25,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"ForeColor":"800000",
+							"Width":0.79375,
+							"Height":0.396875,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dd#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Top":0.396875,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Qty"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Top":0.79375,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Amount"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FEE7FE",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dddd#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CustomerGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Width":4.20688,
+							"Height":0.79375,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0
+				}
+			},
+			{
+				"Name":"MonthGroup",
+				"GroupHeader":{
+					"Height":0.608542,
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Width":5.00063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"[#OrderDate:yyyy骞碝MM#]"
+						}
+					],
+					"GroupKeepTogether":"All"
+				},
+				"GroupFooter":{
+					"Height":0.396875,
+					"PrintGridBorder":false
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossPeriodType":"Calendar",
+			"BeginDateParameter":"CrossEndDate",
+			"EndDateParameter":"CrossBeginDate"
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/3/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.211667,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺涓庨噾棰濇棩鍘嗘姤琛�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3q-3.grf b/public/grf/3q-3.grf
new file mode 100644
index 0000000..5d722f9
--- /dev/null
+++ b/public/grf/3q-3.grf
@@ -0,0 +1,207 @@
+锘縶
+	"Version":"6.7.5.6",
+	"Title":"3q.鏃ュ巻鎶ヨ〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁捐瑕佺偣锛歕r\n1銆侀鍏堣缃槑缁嗙綉鏍肩殑鈥滀氦鍙夎〃鈥濆睘鎬т负鈥滄槸鈥濓紝骞堕�変腑浜ゅ弶琛ㄣ�俓r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂�::妯悜浜ゅ弶鏈熼棿绫诲瀷鈥濆睘鎬т负鈥滄棩鍘嗏�濄�俓r\n3銆佽缃�滃紑濮嬫棩鏈熷弬鏁扳�濅笌鈥滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬э紝閫氳繃瀵瑰簲鍙傛暟鍊兼寚瀹氭棩鍘嗘湡闂磋寖鍥淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1,
+		"BottomMargin":1
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.Region,m.OrderDate,sum(d.Quantity) as Qty,sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId) \r\ninner join Customers c on m.CustomerID=c.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #03/31/1997#\r\ngroup by c.Region,m.OrderDate\r\norder by c.Region,m.OrderDate",
+			"Field":[
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Qty",
+					"Type":"Float",
+					"Format":"#,##0.##;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.56646
+			},
+			{
+				"Name":"Column1",
+				"Width":5.60917
+			}
+		],
+		"ColumnContent":{
+			"Height":1.25,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Top":0.396875,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Qty"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Top":0.79375,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"ForeColor":"800000",
+							"Dock":"Top",
+							"Height":0.396875,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:MM/dd#]"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FEE7FE",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dddd#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CustomerGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Width":4.20688,
+							"Height":0.79375,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossPeriodType":"Calendar",
+			"BeginDateParameter":"CrossEndDate",
+			"EndDateParameter":"CrossBeginDate"
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/3/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.211667,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺涓庨噾棰濇棩鍘嗘姤琛�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/3q.grf b/public/grf/3q.grf
new file mode 100644
index 0000000..02ef92e
--- /dev/null
+++ b/public/grf/3q.grf
@@ -0,0 +1,204 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"3q.鏃ュ巻鎶ヨ〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁捐瑕佺偣锛歕r\n1銆侀鍏堣缃槑缁嗙綉鏍肩殑鈥滀氦鍙夎〃鈥濆睘鎬т负鈥滄槸鈥濓紝骞堕�変腑浜ゅ弶琛ㄣ�俓r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂�::妯悜浜ゅ弶鏈熼棿绫诲瀷鈥濆睘鎬т负鈥滄棩鍘嗏�濄�俓r\n3銆佽缃�滃紑濮嬫棩鏈熷弬鏁扳�濅笌鈥滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬э紝閫氳繃瀵瑰簲鍙傛暟鍊兼寚瀹氭棩鍘嗘湡闂磋寖鍥淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1,
+		"BottomMargin":1
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderDate,sum(d.Quantity) as Qty,sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997# and productID<20\r\ngroup by m.OrderDate\r\norder by m.OrderDate",
+			"Field":[
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Qty",
+					"Type":"Float",
+					"Format":"#,##0.##;;#"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.56646
+			},
+			{
+				"Name":"Column1",
+				"Width":5.60917
+			}
+		],
+		"ColumnContent":{
+			"Height":1.25,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"ForeColor":"800000",
+							"Width":0.79375,
+							"Height":0.396875,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dd#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Top":0.396875,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Qty"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Top":0.79375,
+							"Width":2.54,
+							"Height":0.396875,
+							"TextAlign":"MiddleCenter",
+							"DataField":"Amount"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FEE7FE",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"Text":"[#OrderDate:dddd#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0.608542,
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Width":5.00063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"[#OrderDate:yyyy骞碝MM#]"
+						}
+					],
+					"GroupKeepTogether":"All"
+				},
+				"GroupFooter":{
+					"Height":0.396875,
+					"PrintGridBorder":false
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossPeriodType":"Calendar",
+			"BeginDateParameter":"CrossEndDate",
+			"EndDateParameter":"CrossBeginDate"
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/12/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.00542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.211667,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺涓庨噾棰濇棩鍘嗘姤琛�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/4a.grf b/public/grf/4a.grf
new file mode 100644
index 0000000..de5cca5
--- /dev/null
+++ b/public/grf/4a.grf
@@ -0,0 +1,802 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"4a.婕旂ず瀛愭姤琛�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず瀛愭姤琛ㄧ殑浣跨敤\r\n\r\n鍦ㄦ姤琛ㄥご涓庢姤琛ㄥ熬涓彃鍏ュ瓙鎶ヨ〃銆備竴鑸渶瑕佸皢瀹圭撼瀛愭姤琛ㄧ殑鎶ヨ〃鑺傝缃负鍙几灞曪紝浠ヤ究瀹屾暣鏄剧ず鍑哄瓙鎶ヨ〃鐨勫唴瀹广�俓r\n\r\n瀛愭姤琛ㄥ湪杩愯鏃堕渶瑕佸叧鑱斾竴涓姤琛ㄥ璞★紝浠ヤ究鍦ㄥ瓙鎶ヨ〃鍗犳嵁鐨勭┖闂村皢姝ゅ叧鑱旀姤琛ㄧ殑鍐呭鏄剧ず鍑烘潵銆傚彲浠ラ�氳繃瀛愭姤琛ㄧ殑鈥滄姤琛ㄦ枃浠垛�濆睘鎬ф寚瀹氭姤琛ㄦā鏉挎枃浠跺悕鏉ュ叧鑱旀姤琛紝杩欐牱鎴戜滑鍙互鍦ㄨ璁℃姤琛ㄦ椂灏遍瑙堝瓙鎶ヨ〃鐨勬樉绀烘晥鏋溿�備篃鍙互閫氳繃杩愯鏃跺睘鎬р�淩eport鈥濆湪绋嬪簭涓寚瀹氬叧鑱旂殑鎶ヨ〃瀵硅薄锛岃鍙傝�冧緥瀛愮▼搴忊�淪ubReport鈥濄�俓r\n\r\n鍚湁瀛愭姤琛ㄧ殑鎶ヨ〃锛屽叾WEB鎶ヨ〃瀵瑰簲鐨勭殑 XML 涓� JSON 鏁版嵁搴旇瀹氫箟澶氳褰曢泦鏁版嵁鍖咃紝鏇磋缁嗚鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"CanGrow":true,
+			"Height":3.41313,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srCustomerList",
+					"Dock":"Fill",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"Address",
+				"Width":3.41313
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"Phone",
+				"Width":3.46604
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"Address",
+					"DataField":"鍦板潃"
+				},
+				{
+					"Column":"City",
+					"DataField":"鍩庡競"
+				},
+				{
+					"Column":"Region",
+					"DataField":"鍦板尯"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず瀛愭姤琛ㄧ殑浣跨敤\r\n\r\n鍦ㄦ姤琛ㄥご涓庢姤琛ㄥ熬涓彃鍏ュ瓙鎶ヨ〃銆備竴鑸渶瑕佸皢瀹圭撼瀛愭姤琛ㄧ殑鎶ヨ〃鑺傝缃负鍙几灞曪紝浠ヤ究瀹屾暣鏄剧ず鍑哄瓙鎶ヨ〃鐨勫唴瀹广�俓r\n\r\n瀛愭姤琛ㄥ湪杩愯鏃堕渶瑕佸叧鑱斾竴涓姤琛ㄥ璞★紝浠ヤ究鍦ㄥ瓙鎶ヨ〃鍗犳嵁鐨勭┖闂村皢姝ゅ叧鑱旀姤琛ㄧ殑鍐呭鏄剧ず鍑烘潵銆傚彲浠ラ�氳繃瀛愭姤琛ㄧ殑鈥滄姤琛ㄦ枃浠垛�濆睘鎬ф寚瀹氭姤琛ㄦā鏉挎枃浠跺悕鏉ュ叧鑱旀姤琛紝杩欐牱鎴戜滑鍙互鍦ㄨ璁℃姤琛ㄦ椂灏遍瑙堝瓙鎶ヨ〃鐨勬樉绀烘晥鏋溿�備篃鍙互閫氳繃杩愯鏃跺睘鎬р�淩eport鈥濆湪绋嬪簭涓寚瀹氬叧鑱旂殑鎶ヨ〃瀵硅薄锛岃鍙傝�冧緥瀛愮▼搴忊�淪ubReport鈥濄��"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"CanGrow":true,
+			"Height":2.98979,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srProductList",
+					"Dock":"Fill",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"QuerySQL":"select * from Products\r\norder by ProductName",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"SupplierID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"QuantityPerUnit"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"UnitsInStock",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"UnitsOnOrder",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"ReorderLevel",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discontinued",
+					"Type":"Boolean",
+					"Format":"鏄�:鍚�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":2.19604
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.20146
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.19604
+			},
+			{
+				"Name":"UnitsInStock",
+				"Width":2.40771
+			},
+			{
+				"Name":"UnitsOnOrder",
+				"Width":2
+			},
+			{
+				"Name":"ReorderLevel",
+				"Width":2
+			},
+			{
+				"Name":"Discontinued",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"TextAlign":"MiddleRight",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsInStock"
+				},
+				{
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsOnOrder"
+				},
+				{
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ReorderLevel"
+				},
+				{
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"DataField":"Discontinued"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleCenter",
+					"Text":"搴撳瓨鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹氳喘鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣喘绾у埆"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"Text":"浣跨敤涓�"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitleBox",
+					"Center":"Horizontal",
+					"Left":5.02708,
+					"Top":0.3,
+					"Width":6,
+					"Height":0.9,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍒楄〃"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"CanGrow":true,
+			"Height":4.60375,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"BackColor":"FFFF00",
+					"BackStyle":"Normal",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":7.59354,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鏈�鐣呴攢浜у搧"
+				},
+				{
+					"Type":"SubReport",
+					"Name":"srTop10Product",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":7.59354,
+					"Height":3.59833,
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select top 10 p.ProductID, p.ProductName, sum(o.Quantity*o.UnitPrice) As SumQty\r\nfrom OrderDetails o, Products p\r\nwhere o.ProductID=p.ProductID\r\ngroup by p.ProductID, p.ProductName\r\norder by sum(Quantity*o.UnitPrice) desc",
+			"Field":[
+				{
+					"Name":"RowNo",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer",
+					"Format":",000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"SumQty",
+					"Type":"Float"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"RowNo",
+				"Width":1.19063
+			},
+			{
+				"Name":"ProductID",
+				"Width":1.79917
+			},
+			{
+				"Name":"ProductName",
+				"Width":2.40771
+			},
+			{
+				"Name":"SumQty",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"ColumnContentCell":[
+				{
+					"Column":"RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				{
+					"Column":"ProductID",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"SumQty",
+					"TextAlign":"MiddleRight",
+					"DataField":"SumQty"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"搴忓彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"SumQty",
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞暟閲�"
+				}
+			]
+		}
+	}
+}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"BackColor":"FFFF00",
+					"BackStyle":"Normal",
+					"Left":7.99042,
+					"Top":0.211667,
+					"Width":7.80521,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鏈�鏈変环鍊煎鎴�"
+				},
+				{
+					"Type":"SubReport",
+					"Name":"srTop10Customer",
+					"Left":7.99042,
+					"Top":0.79375,
+					"Width":7.80521,
+					"Height":3.59833,
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select top 10 c.CustomerID, c.CompanyName, sum(o.Quantity*o.UnitPrice) As SumAmt\r\nfrom OrderDetails o, Orders m, customers c\r\nwhere o.OrderID=m.OrderID and m.CustomerID=c.CustomerID\r\ngroup by c.CustomerID, c.CompanyName\r\norder by sum(o.Quantity*o.UnitPrice) desc",
+			"Field":[
+				{
+					"Name":"RowNo",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"SumAmt",
+					"Type":"Currency",
+					"Format":"$#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.79917
+			},
+			{
+				"Name":"CompanyName",
+				"Width":2.19604
+			},
+			{
+				"Name":"SumAmt",
+				"Width":2.40771
+			},
+			{
+				"Name":"RowNo",
+				"Width":1.00542
+			}
+		],
+		"ColumnContent":{
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"SumAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"SumAmt"
+				},
+				{
+					"Column":"RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"SystemVar":"RowNo"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"RowNo",
+					"Text":"搴忓彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"SumAmt",
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞�婚噾棰�"
+				}
+			]
+		}
+	}
+}
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/4b.grf b/public/grf/4b.grf
new file mode 100644
index 0000000..d031ca5
--- /dev/null
+++ b/public/grf/4b.grf
@@ -0,0 +1,1129 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"4b.鐙珛瀛愭姤琛�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐙珛瀛愭姤琛ㄥ姛鑳斤細\r\n\r\n鐙珛瀛愭姤琛ㄧ殑姒傚康璇存槑: 璇峰弬鑰冨府鍔╀腑鐨勨�滃紑鍙戞寚鍗�->鎶ヨ〃閮ㄤ欢妗嗗簲鐢�->瀛愭姤琛ㄢ�濋儴鍒哱r\n\r\n鐙珛瀛愭姤琛ㄥ畾涔夎鏄庯細\r\n1銆佸繀椤绘槸鎶ヨ〃澶存垨鎶ヨ〃灏句腑鐨勫瓙鎶ヨ〃锛屼笖鏄墍鍦ㄨ妭鍞竴鐨勯儴浠舵銆俓r\n2銆佸瓙鎶ヨ〃鐨勨�滀富琛ㄩ〉闈㈣缃�(ParentPageSettings)鈥濆睘鎬у繀椤讳负鈥滃惁(FALSE)鈥濄�俓r\n3銆佸鏋滀富琛ㄦ湁鏄庣粏缃戞牸锛屾槑缁嗙綉鏍肩殑鈥滄墦鍗扮瓥鐣モ�濆睘鎬т笉鑳芥槸妯悜鍒嗛〉绫诲瀷銆傞亣鍒拌繖绉嶆儏鍐电殑瑙e喅鍔炴硶鏄皢姝ゆ槑缁嗙綉鏍煎畾涔夊埌鍙︿竴涓嫭绔嬩骇鐢熺殑瀛愭姤琛ㄤ腑銆俓r\n4銆佸瓙琛ㄥ彲浠ラ�夋嫨鏄惁缁ф壙涓昏〃鐨勯〉鍙蜂笌椤垫暟銆俓r\n\r\n鐙珛瀛愭姤琛ㄤ富瑕佺敤閫旓細\r\n1銆佸皢澶氫釜涓嶅悓鐨勬姤琛ㄩ泦涓湪涓�璧锋墦鍗帮紝涓旀瘡涓姤琛ㄧ殑椤甸潰璁剧疆鍙互涓嶄竴鏍凤紝濡傜焊寮犲ぇ灏忎笌绾稿紶鏂瑰悜銆俓r\n2銆佸笇鏈涘涓姤琛ㄩ泦涓鍑哄埌涓�涓枃浠躲�俓r\n3銆佸疄鐜板湪瀵煎嚭Excel鏃讹紝灏嗕笉鍚岀殑鎶ヨ〃鍒嗗埆瀵煎嚭鍦ㄤ笉鍚岀殑宸ヤ綔琛�(sheet)涓�傝缃瓙鎶ヨ〃鐨勨�滃鍑哄埌鏂板伐浣滆〃鈥濆睘鎬т负鈥滄槸鈥濓紝杩欎釜瀛愭姤琛ㄥ湪瀵煎嚭Excel鏃跺皢鍗曠嫭浜х敓鍦ㄤ竴涓柊宸ヤ綔琛ㄤ腑銆� \r\n\r\n鍚湁瀛愭姤琛ㄧ殑鎶ヨ〃锛屽叾WEB鎶ヨ〃瀵瑰簲鐨勭殑 XML 涓� JSON 鏁版嵁搴旇瀹氫箟澶氳褰曢泦鏁版嵁鍖咃紝鏇磋缁嗚鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"CanGrow":true,
+			"Height":5,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srCustomerList",
+					"Dock":"Fill",
+					"ParentPageSettings":false,
+					"ToNewExcelSheet":true,
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"瀹㈡埛",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"Address",
+				"Width":3.41313
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"Phone",
+				"Width":3.46604
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"Address",
+					"DataField":"鍦板潃"
+				},
+				{
+					"Column":"City",
+					"DataField":"鍩庡競"
+				},
+				{
+					"Column":"Region",
+					"DataField":"鍦板尯"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず鐙珛瀛愭姤琛ㄥ姛鑳斤細\r\n\r\n褰撳瓙鎶ヨ〃鏄姤琛ㄥご鎴栨姤琛ㄥ熬涓殑鍞竴閮ㄤ欢妗嗭紝涓斿叾鈥滀富琛ㄩ〉闈㈣缃�濆睘鎬у�间负鈥淔ALSE鈥濓紝杩欐牱鐨勫瓙鎶ヨ〃灏辨槸鐙珛瀛愭姤琛ㄣ�俓r\n\r\n鐙珛瀛愭姤琛ㄥ湪鐢熸垚鏃跺皢搴旂敤鍏惰嚜韬殑椤甸潰璁剧疆鍙傛暟锛岃繖鏍峰氨鍙互鍦ㄥ悓涓�涓姤琛ㄤ腑浜х敓涓嶅悓椤甸潰澶у皬涓庢柟鍚戠殑鎶ヨ〃椤甸潰锛岀嫭绔嬪瓙鎶ヨ〃鍔熻兘杩樺彲浠ュ疄鐜板涓姤琛ㄩ泦涓竴璧烽瑙堛�佹墦鍗颁笌瀵煎嚭绛夈��"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"CanGrow":true,
+			"Height":5,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srProductList",
+					"Dock":"Fill",
+					"ParentPageSettings":false,
+					"ToNewExcelSheet":true,
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"浜у搧",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * from Products\r\norder by ProductName",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"SupplierID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"QuantityPerUnit"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"UnitsInStock",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"UnitsOnOrder",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"ReorderLevel",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discontinued",
+					"Type":"Boolean",
+					"Format":"鏄�:鍚�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":2.19604
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.20146
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.19604
+			},
+			{
+				"Name":"UnitsInStock",
+				"Width":2.40771
+			},
+			{
+				"Name":"UnitsOnOrder",
+				"Width":2
+			},
+			{
+				"Name":"ReorderLevel",
+				"Width":2
+			},
+			{
+				"Name":"Discontinued",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"TextAlign":"MiddleRight",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsInStock"
+				},
+				{
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsOnOrder"
+				},
+				{
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ReorderLevel"
+				},
+				{
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"DataField":"Discontinued"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleCenter",
+					"Text":"搴撳瓨鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹氳喘鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣喘绾у埆"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"Text":"浣跨敤涓�"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":12.1973,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitleBox",
+					"Center":"Horizontal",
+					"Left":9.36625,
+					"Top":0.3,
+					"Width":6,
+					"Height":0.9,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍒楄〃"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"CanGrow":true,
+			"Height":5,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srCustomerGrouped",
+					"Dock":"Fill",
+					"ParentPageSettings":false,
+					"ToNewExcelSheet":true,
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"澶氱骇鍒嗙粍缁熻",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"QuerySQL":"select * from Customers\r\norder by Country,Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":2.01083
+			},
+			{
+				"Name":"RowNo",
+				"Width":1.79917
+			},
+			{
+				"Name":"Group1RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"Group2RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"Group3RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"CustomerID",
+				"Width":2.19604
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.20146
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.79917
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":2.01083
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox10",
+							"Dock":"Fill",
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				{
+					"Column":"RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"SystemVar":"RecordNo"
+						}
+					]
+				},
+				{
+					"Column":"Group1RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox2",
+							"Dock":"Fill",
+							"SystemVar":"GroupRowNo"
+						}
+					]
+				},
+				{
+					"Column":"Group2RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox3",
+							"Dock":"Fill",
+							"SystemVar":"GroupRowNo",
+							"GroupIndex":2
+						}
+					]
+				},
+				{
+					"Column":"Group3RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox4",
+							"Dock":"Fill",
+							"SystemVar":"GroupRowNo",
+							"GroupIndex":3
+						}
+					]
+				},
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁板綍鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group1RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"涓�绾у垎缁勮鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group2RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜岀骇鍒嗙粍琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group3RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"涓夌骇鍒嗙粍琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"Text":"閭紪"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CountryGroup",
+				"ByFields":"Country",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":2.01083,
+							"Width":1.00542,
+							"Height":0.608542,
+							"Text":"鍥藉锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":2.98979,
+							"Width":2.59292,
+							"Height":0.582083,
+							"DataField":"Country"
+						},
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox5",
+							"AlignColumn":"Column1",
+							"Width":2.03729,
+							"Height":0.608542,
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"BackColor":"FFFFFF",
+							"Left":2.01083,
+							"Width":2.40771,
+							"Height":0.582083,
+							"Text":"鍥藉浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"BackColor":"FFFFFF",
+							"Left":4.39208,
+							"Width":1.98438,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"RegionGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":2.98979,
+							"Width":1.00542,
+							"Height":0.582083,
+							"Text":"鍦板尯锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":3.99521,
+							"Width":2.59292,
+							"Height":0.582083,
+							"DataField":"Region"
+						},
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox6",
+							"AlignColumn":"Column1",
+							"Width":2.03729,
+							"Height":0.608542,
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"Left":2.80458,
+							"Width":2.40771,
+							"Height":0.582083,
+							"Text":"鍦板尯浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"Left":5.21229,
+							"Width":2.01083,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						},
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox9",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Column1",
+							"Width":2.03729,
+							"Height":0.608542,
+							"SystemVar":"RowNo"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CityGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Left":3.99521,
+							"Width":0.978958,
+							"Height":0.582083,
+							"Text":"鍩庡競锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":5.00063,
+							"Width":2.61938,
+							"Height":0.582083,
+							"DataField":"City"
+						},
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox7",
+							"AlignColumn":"Column1",
+							"Width":2.03729,
+							"Height":0.608542,
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"F1D3FA",
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":3.99521,
+							"Width":2.38125,
+							"Height":0.582083,
+							"Text":"鍩庡競浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"Left":6.58813,
+							"Width":1.79917,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						},
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox8",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Column1",
+							"Width":2.03729,
+							"Height":0.608542,
+							"SystemVar":"RowNo"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":24.7915,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":8.36083,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず鐙珛瀛愭姤琛ㄥ姛鑳斤細\r\n\r\n褰撳瓙鎶ヨ〃鏄姤琛ㄥご鎴栨姤琛ㄥ熬涓殑鍞竴閮ㄤ欢妗嗭紝涓斿叾鈥滀富琛ㄩ〉闈㈣缃�濆睘鎬у�间负鈥淔ALSE鈥濓紝杩欐牱鐨勫瓙鎶ヨ〃灏辨槸鐙珛瀛愭姤琛ㄣ�俓r\n\r\n鐙珛瀛愭姤琛ㄥ湪鐢熸垚鏃跺皢搴旂敤鍏惰嚜韬殑椤甸潰璁剧疆鍙傛暟锛岃繖鏍峰氨鍙互鍦ㄥ悓涓�涓姤琛ㄤ腑浜х敓涓嶅悓椤甸潰澶у皬涓庢柟鍚戠殑鎶ヨ〃椤甸潰锛岀嫭绔嬪瓙鎶ヨ〃鍔熻兘杩樺彲浠ュ疄鐜板涓姤琛ㄩ泦涓竴璧烽瑙堛�佹墦鍗颁笌瀵煎嚭绛夈��"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.2448,
+					"Top":0.211667,
+					"Width":2.30188,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛璧勬枡"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/4c.grf b/public/grf/4c.grf
new file mode 100644
index 0000000..92aad89
--- /dev/null
+++ b/public/grf/4c.grf
@@ -0,0 +1,639 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"4c.瀛愭姤琛ㄥ疄鐜拌〃涓〃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず琛ㄤ腑琛ㄦ姤琛ㄣ�俓r\n\r\n鍦ㄦ槑缁嗙綉鏍间腑鎻掑叆瀛愭姤琛紝瀛愭姤琛ㄥ叧鑱旂殑鎶ヨ〃灏嗗湪涓绘姤琛ㄧ殑鏄庣粏缃戞牸涓娆℃樉绀恒�傚瓙鎶ヨ〃涓�鑸渶瑕佸叧鑱斾富鎶ヨ〃鐨勬暟鎹紝鍦ㄥ瓙鎶ヨ〃涓畾涔変笌涓绘姤琛ㄥ瓧娈垫垨鍙傛暟鍚屽悕鐨勫弬鏁帮紝骞跺畾涔夊弬鏁板寲鐨勬煡璇QL锛岃繖鏍峰氨鍙互瀹炵幇涓诲瓙鎶ヨ〃鏁版嵁鐨勫叧鑱斻�俓r\n\r\n鍙︿篃鍙互鍦ㄥ瓙鎶ヨ〃鐨� Initialize 浜嬩欢涓彇涓绘姤琛ㄤ腑鐨勬暟鎹�傝繖鏍蜂篃鍙互瀹炵幇涓诲瓙鎶ヨ〃鏁版嵁鐨勫叧鑱斻�傞�氳繃 IGridppReport.ParentReport 灞炴�у彲浠ュ湪瀛愭姤琛ㄤ腑鍙栧緱涓绘姤琛ㄥ璞$殑寮曠敤銆俓r\n\r\n绗簩涓瓙鎶ヨ〃璁剧疆浜嗏�滄棤鏁版嵁闅愯棌鈥濆睘鎬э紝鍦ㄧ敓鎴愭瀛愭姤琛ㄦ椂锛屾病鏈夋槑缁嗘暟鎹殑鎶ヨ〃灏嗕笉浼氭樉绀哄嚭鏉ャ�俓r\n\r\n濡傛灉鏄粰鎶ヨ〃鎻愪緵 XML 鎴� JSON 鏁版嵁鍖咃紝搴旇璁剧疆瀛愭姤琛ㄧ殑鈥滀富浠庡叧绯诲瓧娈碘�濆睘鎬э紝涓旇淇濊瘉瀛愭姤琛ㄤ腑瀛樺湪鍚屽悕绉扮殑瀛楁銆傝繖鏍蜂繚璇佸瓙鎶ヨ〃鍦ㄥ娆$敓鎴愭椂鎸夋鍏崇郴瀛楁绛涢�夋暟鎹�俓r\n\r\n鍚湁瀛愭姤琛ㄧ殑鎶ヨ〃锛屽叾WEB鎶ヨ〃瀵瑰簲鐨勭殑 XML 涓� JSON 鏁版嵁搴旇瀹氫箟澶氳褰曢泦鏁版嵁鍖咃紝鏇磋缁嗚鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Orders\r\nwhere OrderID<=10255\r\norder by OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"EmployeeID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"RequiredDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"ShippedDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"ShipVia",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ShipName"
+				},
+				{
+					"Name":"ShipAddress"
+				},
+				{
+					"Name":"ShipCity"
+				},
+				{
+					"Name":"ShipRegion"
+				},
+				{
+					"Name":"ShipPostalCode"
+				},
+				{
+					"Name":"ShipCountry"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":15.9808
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"SubReport",
+							"Name":"srByOrder",
+							"Dock":"Fill",
+							"RelationFields":"OrderID",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"浣犵殑鎶ヨ〃鏍囬",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * \r\nfrom OrderDetails\r\nwhere OrderID=:OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":2.56646
+			},
+			{
+				"Name":"ProductID",
+				"Width":2.40771
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.40771
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.69333
+			},
+			{
+				"Name":"Discount",
+				"Width":1.69333
+			}
+		],
+		"ColumnContent":{
+			"BackColor":"ECEBD5",
+			"Height":0.635,
+			"AlternatingBackColor":"ECEBD5",
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"ProductID",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"ECEBD5",
+			"Height":0.635,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶樻墸"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"OrderID",
+			"DataType":"Integer",
+			"Value":"10255"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":0.608542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"BackColor":"ECEBD5",
+					"BackStyle":"Normal",
+					"Width":6.79979,
+					"Height":0.608542,
+					"Text":"鏄庣粏琛�1锛氬叧鑱斾富琛ㄢ�滆鍗曞彿鈥濆瓧娈�"
+				}
+			]
+		}
+	]
+}
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"E2EFF1",
+					"FreeCell":true
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":2.80458,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Left":-0.0264583,
+							"Top":0.211667,
+							"Width":4.41854,
+							"Height":0.79375,
+							"Text":"璁㈠崟鍙凤細[#OrderID#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"Left":-0.0264583,
+							"Top":1.00542,
+							"Width":4.41854,
+							"Height":0.79375,
+							"Text":"鏃ユ湡锛歔#OrderDate#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"Left":-0.0264583,
+							"Top":1.79917,
+							"Width":4.41854,
+							"Height":0.79375,
+							"Text":"瀹㈡埛缂栧彿锛歔#CustomerID#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox7",
+							"Left":8.62542,
+							"Top":1.00542,
+							"Width":4.60375,
+							"Height":0.79375,
+							"Text":"鍦板潃锛歔#ShipAddress#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox8",
+							"Left":8.62542,
+							"Top":0.211667,
+							"Width":4.60375,
+							"Height":0.79375,
+							"Text":"鏀惰揣鍩庡競锛歔#ShipCity#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox9",
+							"Left":8.62542,
+							"Top":1.79917,
+							"Width":4.60375,
+							"Height":0.79375,
+							"Text":"杩愯垂锛歔#Freight#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"CanGrow":true,
+					"CanShrink":true,
+					"Height":0.635,
+					"Control":[
+						{
+							"Type":"SubReport",
+							"Name":"srByCity",
+							"Dock":"Fill",
+							"CanShrink":true,
+							"HideOnRecordsetEmpty":true,
+							"RelationFields":"ShipCity",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"浣犵殑鎶ヨ〃鏍囬",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select *,  City as ShipCity\r\nfrom Customers\r\nwhere City=:ShipCity",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				},
+				{
+					"Name":"ShipCity"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"BackColor":"E1FFFF",
+			"Height":0.635,
+			"AlternatingBackColor":"E1FFFF",
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"DataField":"ShipCity"
+				},
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E1FFFF",
+			"Height":0.635,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"ShipCity",
+			"Value":"鍖椾含"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":0.608542,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Width":6.79979,
+					"Height":0.608542,
+					"Text":"鏄庣粏琛�2锛氬叧鑱斾富琛ㄢ�滄敹璐у煄甯傗�濆瓧娈�"
+				}
+			]
+		}
+	]
+}
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":5.47688,
+					"Top":0.396875,
+					"Width":5.08,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鐢ㄥ瓙鎶ヨ〃瀹炵幇琛ㄤ腑琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/4d.grf b/public/grf/4d.grf
new file mode 100644
index 0000000..2c92306
--- /dev/null
+++ b/public/grf/4d.grf
@@ -0,0 +1,596 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"4d.瀛愭姤琛ㄤ富瀛愬叧鑱�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓诲瓙鎶ヨ〃濡備綍浼犻�掑弬鏁般�俓r\n\r\n瀛愭姤琛ㄥ湪杩愯鏃讹紝瀛愭姤琛ㄤ腑瀹氫箟鐨勫弬鏁颁細鍙栦富琛ㄤ腑鍚屽悕鍙傛暟鎴栧瓧娈电殑鍊硷紝杩欐牱灏辫嚜鍔ㄥ疄鐜颁簡涓诲瓙鎶ヨ〃涔嬮棿鐨勫弬鏁板悓姝ャ�俓r\n\r\n涔熷彲浠ュ湪瀛愭姤琛ㄧ殑Initialize浜嬩欢浠g爜涓幏鍙栦富琛ㄧ殑淇℃伅銆俓r\n\r\n鍚湁瀛愭姤琛ㄧ殑鎶ヨ〃锛屽叾WEB鎶ヨ〃瀵瑰簲鐨勭殑 XML 涓� JSON 鏁版嵁搴旇瀹氫箟澶氳褰曢泦鏁版嵁鍖咃紝鏇磋缁嗚鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� ",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"City",
+			"Value":"鍖椾含"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":2.98979,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.445,
+					"Top":0.211667,
+					"Width":7.11729,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀛愭姤琛ㄨ幏鍙栦富琛ㄤ腑鍙傛暟"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"ForeColor":"0000FF",
+					"Top":2.01083,
+					"Width":13.3879,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"涓昏〃鍙傛暟鈥淐ity鈥濈殑褰撳墠鍊�:[#City#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":3.20146,
+					"Top":1.19063,
+					"Width":10.3981,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"TopCenter",
+					"Text":"涓嬮潰鐢ㄥ瓙鎶ヨ〃鍒楀嚭鍙傛暟瀵瑰簲鐨勫鎴蜂俊鎭笌渚涘簲鍟嗕俊鎭�"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader1",
+			"CanGrow":true,
+			"Height":3.20146,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srCustomer",
+					"Dock":"Fill",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * from Customers\r\nwhere City=:City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"鑱旂郴浜�"
+				},
+				{
+					"Column":"City",
+					"BackColor":"00FFFF",
+					"DataField":"鍩庡競"
+				},
+				{
+					"Column":"Region",
+					"DataField":"鍦板尯"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"閭紪"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"00FFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず涓诲瓙鎶ヨ〃濡備綍浼犻�掑弬鏁般�俓r\n\r\n\r\n瀛愭姤琛ㄥ湪杩愯鏃讹紝瀛愭姤琛ㄤ腑瀹氫箟鐨勫弬鏁颁細鍙栦富琛ㄤ腑鍚屽悕鍙傛暟鎴栧瓧娈电殑鍊硷紝杩欐牱灏辫嚜鍔ㄥ疄鐜颁簡涓诲瓙鎶ヨ〃涔嬮棿鐨勫弬鏁板悓姝ャ�俓r\n\r\n涔熷彲浠ュ湪瀛愭姤琛ㄧ殑Initialize浜嬩欢浠g爜涓幏鍙栦富琛ㄧ殑淇℃伅銆�"
+		},
+		{
+			"Name":"City",
+			"Value":"鍖椾含"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":0.608542
+		},
+		{
+			"Name":"ReportHeader2",
+			"CanGrow":true,
+			"Height":3.20146,
+			"Control":[
+				{
+					"Type":"SubReport",
+					"Name":"srSupplier",
+					"Dock":"Fill",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"QuerySQL":"select * from Suppliers\r\nwhere City=:City",
+			"Field":[
+				{
+					"Name":"SupplierID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				},
+				{
+					"Name":"HomePage"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":2.03729
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"SupplierID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"City",
+					"BackColor":"FFFF00",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFF00",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず涓诲瓙鎶ヨ〃濡備綍浼犻�掑弬鏁般�俓r\n\r\n\r\n瀛愭姤琛ㄥ湪杩愯鏃讹紝瀛愭姤琛ㄤ腑瀹氫箟鐨勫弬鏁颁細鍙栦富琛ㄤ腑鍚屽悕鍙傛暟鎴栧瓧娈电殑鍊硷紝杩欐牱灏辫嚜鍔ㄥ疄鐜颁簡涓诲瓙鎶ヨ〃涔嬮棿鐨勫弬鏁板悓姝ャ�俓r\n\r\n涔熷彲浠ュ湪瀛愭姤琛ㄧ殑Initialize浜嬩欢浠g爜涓幏鍙栦富琛ㄧ殑淇℃伅銆�"
+		},
+		{
+			"Name":"City",
+			"Value":"鍖椾含"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":5.29167,
+					"Top":0.185208,
+					"Width":5.42396,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"渚涘簲鍟嗗熀鏈俊鎭�"
+				}
+			]
+		}
+	]
+}
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/4e.grf b/public/grf/4e.grf
new file mode 100644
index 0000000..c7d67ac
--- /dev/null
+++ b/public/grf/4e.grf
@@ -0,0 +1,851 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"Grid++Report",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず澶氱骇瀛愭姤琛╘r\n\r\n鍦ㄥ瓙鎶ヨ〃涓啀瀹氫箟瀛愭姤琛ㄣ�傚瓙鎶ヨ〃涓�鑸渶瑕佸叧鑱斾富鎶ヨ〃鐨勬暟鎹紝鍦ㄥ瓙鎶ヨ〃涓畾涔変笌涓绘姤琛ㄥ瓧娈垫垨鍙傛暟鍚屽悕鐨勫弬鏁帮紝骞跺畾涔夊弬鏁板寲鐨勬煡璇QL锛岃繖鏍峰氨鍙互瀹炵幇涓诲瓙鎶ヨ〃鏁版嵁鐨勫叧鑱斻�俓r\n\r\n鍙︿篃鍙互鍦ㄥ瓙鎶ヨ〃鐨� Initialize 浜嬩欢涓彇涓绘姤琛ㄤ腑鐨勬暟鎹�傝繖鏍蜂篃鍙互瀹炵幇涓诲瓙鎶ヨ〃鏁版嵁鐨勫叧鑱斻�傞�氳繃 IGridppReport.ParentReport 灞炴�у彲浠ュ湪瀛愭姤琛ㄤ腑鍙栧緱涓绘姤琛ㄥ璞$殑寮曠敤銆俓r\n\r\n杩欓噷鍙槸涓轰簡婕旂ず澶氱骇瀛愭姤琛ㄧ殑瀹炵幇鏂瑰紡锛屽疄闄呭簲鐢ㄤ腑杩欐牱鐨勬姤琛ㄥ簲鐢ㄥ垎缁勬潵瀹炵幇鏇寸畝鍗曘�俓r\n\r\n鍚湁瀛愭姤琛ㄧ殑鎶ヨ〃锛屽叾WEB鎶ヨ〃瀵瑰簲鐨勭殑 XML 涓� JSON 鏁版嵁搴旇瀹氫箟澶氳褰曢泦鏁版嵁鍖咃紝鏇磋缁嗚鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� ",
+	"PageDivideLine":true,
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select top 5 * from Customers\r\norder by CustomerID",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"BackColor":"FFFF00",
+			"Height":0,
+			"AlternatingBackColor":"FFFF00",
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerID",
+				"GroupHeader":{
+					"BackColor":"FFFF00",
+					"Height":1.40229,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"RepeatOnPage":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"BackColor":"FFFFFF",
+							"Width":2.80458,
+							"Height":0.608542,
+							"Text":"瀹㈡埛缂栧彿锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"FFFFFF",
+							"Left":2.80458,
+							"Width":5.00063,
+							"Height":0.608542,
+							"DataField":"CustomerID"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"BackColor":"FFFFFF",
+							"Top":0.582083,
+							"Width":2.80458,
+							"Height":0.608542,
+							"Text":"鍏徃鍚嶇О锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"BackColor":"FFFFFF",
+							"Left":2.80458,
+							"Top":0.582083,
+							"Width":5.00063,
+							"Height":0.608542,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"Left":8.17563,
+							"Width":2.80458,
+							"Height":0.608542,
+							"Text":"鑱旂郴浜猴細"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":8.17563,
+							"Top":0.582083,
+							"Width":2.80458,
+							"Height":0.608542,
+							"Text":"鑱旂郴鐢佃瘽锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"BackColor":"FFFFFF",
+							"Left":10.9802,
+							"Top":0.582083,
+							"Width":5.00063,
+							"Height":0.608542,
+							"DataField":"Phone"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"BackColor":"FFFFFF",
+							"Left":10.9802,
+							"Width":5.00063,
+							"Height":0.608542,
+							"DataField":"ContactName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"KeepTogether":false,
+					"CanGrow":true,
+					"Height":1.19063,
+					"NewPage":"After",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"SubReport",
+							"Name":"srLevel1",
+							"Dock":"Fill",
+							"HideOnRecordsetEmpty":true,
+							"RelationFields":"CustomerID",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"浣犵殑鎶ヨ〃鏍囬",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"QuerySQL":"select * from Orders\r\nwhere CustomerID=:CustomerID and OrderDate between #1/1/1997# and #12/31/1997#\r\norder by OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"EmployeeID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy//MM//dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":15.9808
+			}
+		],
+		"ColumnContent":{
+			"Height":1.40229,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"SubReport",
+							"Name":"srLevel2",
+							"Dock":"Fill",
+							"RelationFields":"OrderID",
+"Report":{
+	"Version":"6.8.5.0",
+	"Title":"浣犵殑鎶ヨ〃鏍囬",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"QuerySQL":"select * from OrderDetails\r\nwhere OrderID=:OrderID\r\norder by OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":2.16958
+			},
+			{
+				"Name":"Product",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"Product",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"Text":"[#Quantity*UnitPrice:#,##0.00#]"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.608542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"OrderID"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Product",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					}
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Product",
+							"Left":2.16958,
+							"Width":2.75167,
+							"Height":0.608542,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":8.51958,
+							"Width":2.75167,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity*UnitPrice",
+							"Format":"#,##0.00"
+						}
+					]
+				}
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"OrderID",
+			"DataType":"Integer",
+			"Value":"10778"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"ForeColor":"0000FF",
+					"Center":"Horizontal",
+					"Left":5.42396,
+					"Top":0.211667,
+					"Width":5.18583,
+					"Height":0.820208,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绗簩绾у瓙鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":150000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FFFFFF",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"0000FF",
+					"Text":"瀛愭姤琛�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"BackColor":"33FFFF",
+					"Height":1.40229,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"BackColor":"FFFFFF",
+							"Left":5.23875,
+							"Top":0.0529167,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"璁㈠崟鍙凤細"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"Top":0.635,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鏃ユ湡锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":5.23875,
+							"Top":0.635,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"Top":0.0529167,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"瀹㈡埛缂栧彿锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"FFFFFF",
+							"Left":7.17021,
+							"Top":0.0529167,
+							"Width":2.59292,
+							"Height":0.582083,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"BackColor":"FFFFFF",
+							"Left":1.98438,
+							"Top":0.0529167,
+							"Width":2.59292,
+							"Height":0.582083,
+							"DataField":"CustomerID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"BackColor":"FFFFFF",
+							"Left":1.98438,
+							"Top":0.635,
+							"Width":2.59292,
+							"Height":0.608542,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"BackColor":"FFFFFF",
+							"Left":7.17021,
+							"Top":0.635,
+							"Width":2.59292,
+							"Height":0.608542,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0
+				}
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"CustomerID",
+			"Value":"BERGS"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"BackColor":"CCFFFF",
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"BackColor":"FFFFFF",
+					"ForeColor":"0000FF",
+					"Center":"Horizontal",
+					"Left":3.88938,
+					"Top":0.211667,
+					"Width":8.255,
+					"Height":0.820208,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绗竴绾у瓙鎶ヨ〃"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��"
+		}
+	],
+	"ReportHeader":[
+		{
+			"BackColor":"FFFF00",
+			"Height":2.19604,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"BackColor":"FFFFFF",
+					"Center":"Horizontal",
+					"Left":3.88938,
+					"Top":0.185208,
+					"Width":8.255,
+					"Height":0.820208,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀛愭姤琛ㄥ祵濂楀瓙鎶ヨ〃(澶氱骇瀛愭姤琛�)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"BackColor":"FFFFFF",
+					"ForeColor":"0000FF",
+					"Center":"Horizontal",
+					"Left":3.88938,
+					"Top":1.00542,
+					"Width":8.255,
+					"Height":0.820208,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"涓绘姤琛�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5a.grf b/public/grf/5a.grf
new file mode 100644
index 0000000..6d09b20
--- /dev/null
+++ b/public/grf/5a.grf
@@ -0,0 +1,393 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5a.琛ㄨ揪寮忚繍绠�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐢� MemoBox 瀹氫箟杩愮畻琛ㄨ揪寮忥細\r\n1. 鍦ㄥ唴瀹规牸涓畾涔変竴涓繍绠楄〃杈惧紡锛氭牴鎹�樻姌鎵e悗閲戦=鎶樻墸鍓嶉噾棰�-鎶樻墸閲戦鈥欙紝棣栧厛灏嗏�楴etAmount鈥欏垪瀵瑰簲鐨勫唴瀹规牸璁句负鑷敱鏍硷紝鐒跺姞鍏ヤ竴涓狹emoBox锛屼笖灏嗗叾鍋滈潬妯″紡璁句负鍏呮弧锛屽湪鍏舵枃鏈睘鎬т腑瀹氫箟杩愮畻琛ㄨ揪寮忋�俓r\n2. 鍦ㄥ垎缁勫熬涓畾涔変竴涓繍绠楄〃杈惧紡锛氬畾涔変袱涓粺璁″嚱鏁扮殑鐩稿噺杩愮畻銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,d.ProductID,\r\np.ProductName,d.UnitPrice,d.Quantity,d.Discount,d.UnitPrice*d.Quantity as Amount, \r\nAmount*d.Discount as DiscountAmt\r\nfrom (Orders m \r\ninner join (OrderDetails d \r\ninner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"Text":"[#Amount-DiscountAmt:#,##0.00#]"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":0.396875,
+							"Width":1.5875,
+							"Height":0.79375,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.59292,
+							"Width":4.20688,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":7.19667,
+							"Width":2.98979,
+							"Height":0.79375,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":11.1919,
+							"Width":1.00542,
+							"Height":0.79375,
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"Left":12.3825,
+							"Width":2.40771,
+							"Height":0.79375,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Left":0.396875,
+							"Top":-0.0264583,
+							"Width":2.59292,
+							"Height":0.846667,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Top":-0.0264583,
+							"Width":2.61938,
+							"Height":0.899583,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Top":-0.0264583,
+							"Width":2.40771,
+							"Height":0.899583,
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":-0.0264583,
+							"Width":2.80458,
+							"Height":0.899583,
+							"TextAlign":"MiddleRight",
+							"Text":"[#Sum(Amount)-Sum(DiscountAmt):#,##0.00#]"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Top":0.211667,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5b.grf b/public/grf/5b.grf
new file mode 100644
index 0000000..f040bad
--- /dev/null
+++ b/public/grf/5b.grf
@@ -0,0 +1,562 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5b.鏄剧ず琛屽彿搴忓彿",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐢ㄧ郴缁熷彉閲忔樉绀鸿鍙凤細鏈姤琛ㄦā鏉挎槸鍦ㄥ绾у垎缁勭殑鍩虹涓婂畬鎴愩�傚埄鐢ㄢ�樿鍙�(RowNo)鈥欎笌鈥樺垎缁勮鍙�(Group1RowNo/Group2RowNo/Group3RowNo)鈥欑郴缁熷彉閲忓緱鍒板綋鍓嶆槑缁嗚鐨勫簭鍙枫�傞鍏堝皢瑕佹樉绀鸿鍙风殑鍒楀搴旂殑鍐呭鏍艰涓鸿嚜鐢辨牸锛屽苟鍒犻櫎鏍间腑宸插瓨鍦ㄧ殑瀛楁妗嗐�傜劧鍚庡湪鏍间腑鍔犲叆涓�涓郴缁熷彉閲忔锛屽皢鍏垛�橀敋瀹氣�欏睘鎬ц涓衡�樺~鍏呪�欍�傛渶鍚庤瀹氣�樼郴缁熷彉閲忊�欏睘鎬у嵆鍙紝濡傛灉瑕佹樉绀烘槑缁嗚鐨勮鍙凤紝鍒欓�夆�樿鍙封�欙紝濡傛灉瑕佹樉绀烘槑缁嗚鍦ㄦ煇涓垎缁勫唴鐨勮鍙凤紝鍒欓�夆�樹竴绾у垎缁勮鍙�/浜岀骇鍒嗙粍琛屽彿/涓夌骇鍒嗙粍琛屽彿鈥欍��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Country,Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.19604
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.20146
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.79917
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":2.01083
+			},
+			{
+				"Name":"RowNo",
+				"Width":1.79917
+			},
+			{
+				"Name":"Group1RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"Group2RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"Group3RowNo",
+				"Width":2.19604
+			},
+			{
+				"Name":"Column1",
+				"Width":1.37583
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RecordNo"
+						}
+					]
+				},
+				{
+					"Column":"Group1RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox2",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"GroupRowNo"
+						}
+					]
+				},
+				{
+					"Column":"Group2RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox3",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"GroupRowNo",
+							"GroupIndex":2
+						}
+					]
+				},
+				{
+					"Column":"Group3RowNo",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox4",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"GroupRowNo",
+							"GroupIndex":3
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox10",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁板綍鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group1RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"涓�绾у垎缁勮鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group2RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜岀骇鍒嗙粍琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Group3RowNo",
+					"TextAlign":"MiddleCenter",
+					"Text":"涓夌骇鍒嗙粍琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"Text":"閭紪"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CountryGroup",
+				"ByFields":"Country",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox5",
+							"AlignColumn":"Column1",
+							"Width":1.40229,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍥藉: [#Country#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox8",
+							"AlignColumn":"Group1RowNo",
+							"Left":3.175,
+							"Width":2.2225,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"Text":"[#SystemVar(GroupNo,1)#]/[#SystemVar(GroupCount,1)#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox7",
+							"BackColor":"FFFFFF",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":1.00542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍥藉浜烘暟缁熻: [#Count()#]"
+						}
+					]
+				}
+			},
+			{
+				"Name":"RegionGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox6",
+							"AlignColumn":"Column1",
+							"Width":1.40229,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍦板尯: [#Region#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox9",
+							"AlignColumn":"Group2RowNo",
+							"Left":5.37104,
+							"Width":2.2225,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"Text":"[#SystemVar(GroupNo,2)#]/[#SystemVar(GroupCount,2)#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox9",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Column1",
+							"Width":1.40229,
+							"Height":0.79375,
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"BackColor":"FFFFFF",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"鍦板尯浜烘暟缁熻: [#Count()#]"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CityGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox7",
+							"AlignColumn":"Column1",
+							"Width":1.40229,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍩庡競: [#City#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox10",
+							"AlignColumn":"Group3RowNo",
+							"Left":7.56708,
+							"Width":2.2225,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"Text":"[#SystemVar(GroupNo,3)#]/[#SystemVar(GroupCount,3)#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"F1D3FA",
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox8",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Column1",
+							"Width":1.40229,
+							"Height":0.608542,
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"BackColor":"FFFFFF",
+							"AlignColumnSide":"Right",
+							"AlignColumn":"(GridRight)",
+							"Left":20.7963,
+							"Width":3.99521,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍩庡競浜烘暟缁熻: [#Count()#]"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":24.7915,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":8.36083,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.2183,
+					"Top":0.211667,
+					"Width":2.30188,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛璧勬枡"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5c.grf b/public/grf/5c.grf
new file mode 100644
index 0000000..29351f9
--- /dev/null
+++ b/public/grf/5c.grf
@@ -0,0 +1,393 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5c.灞傞珮涓嶇瓑澶氬眰琛ㄥご",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず灞傞珮涓嶇瓑澶氬眰琛ㄥご鎶ヨ〃: Grid++Report 鐨勬槑缁嗙綉鏍兼爣棰樿鍙互瀹氫箟浠绘剰澶氬眰鐨勭骇鑱斿叧绯汇�傚湪璁捐鍣ㄢ�樺垪鏍囬甯冨眬...鈥欑晫闈腑鍙互鍦ㄨ璁℃椂瀹氫箟澶氬眰鏍囧ご銆傞�氳繃IGRDetailGrid 涓� IGRColumnTitleCell 鐨勪竴浜涙柟娉曞彲浠ョ敤缂栫▼鐨勬柟寮忓畾涔夊灞傝〃澶淬�俓r\n\r\n閫氳繃璁剧疆缁勬爣棰樻牸鐨勯珮搴�(Height)灞炴�э紝涓哄灞傝〃澶寸殑姣忎竴灞傝缃笉鍚岀殑楂樺害锛屽疄鐜板眰楂樹笉绛夌殑澶氬眰琛ㄥご",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CompanyName",
+				"Width":2.96334
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.82563
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.79917
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.03729
+			},
+			{
+				"Name":"Fax",
+				"Width":1.79917
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.74625,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"E1FFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Left":0.185208,
+							"Top":0.978958,
+							"Width":1.19063,
+							"Height":0.529167,
+							"Text":"鍏徃"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"BackColor":"FFFFFF",
+							"Dock":"Fill"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"BackColor":"FFFFFF",
+							"Anchor":"[Top|Right]",
+							"Left":1.48167,
+							"Top":0.211667,
+							"Width":1.19063,
+							"Height":0.555625,
+							"TextAlign":"MiddleRight",
+							"Text":"椤圭洰"
+						}
+					]
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"Height":0.499999,
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":true,
+							"Name":"Column3",
+							"Height":0.499999,
+							"ColumnTitleCell":[
+								{
+									"GroupTitle":false,
+									"Column":"ContactTitle",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"绉癨r\n璋�"
+								},
+								{
+									"GroupTitle":false,
+									"Column":"ContactName",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"濮揬r\n鍚�"
+								}
+							],
+							"BackColor":"E2EFF1",
+							"TextAlign":"MiddleCenter",
+							"Text":"鑱旂郴浜�"
+						},
+						{
+							"GroupTitle":true,
+							"Name":"Column4",
+							"Height":0.499999,
+							"ColumnTitleCell":[
+								{
+									"GroupTitle":false,
+									"Column":"Phone",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"鐢礬r\n璇�"
+								},
+								{
+									"GroupTitle":false,
+									"Column":"Fax",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"浼燶r\n鐪�"
+								}
+							],
+							"BackColor":"E2EFF1",
+							"TextAlign":"MiddleCenter",
+							"Text":"鑱旂郴閫斿緞"
+						}
+					],
+					"BackColor":"ECEBD5",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴鏂规硶(涓夊眰涓嶇瓑楂�)"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column2",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":true,
+							"Name":"Column5",
+							"ColumnTitleCell":[
+								{
+									"GroupTitle":false,
+									"Column":"Country",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"鍥藉"
+								},
+								{
+									"GroupTitle":false,
+									"Column":"City",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"鍩庡競"
+								}
+							],
+							"BackColor":"E2EFF1",
+							"TextAlign":"MiddleCenter",
+							"Text":"绗簩灞�(1)"
+						},
+						{
+							"GroupTitle":true,
+							"Name":"Column6",
+							"ColumnTitleCell":[
+								{
+									"GroupTitle":false,
+									"Column":"Region",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"鍦板尯"
+								},
+								{
+									"GroupTitle":false,
+									"Column":"PostalCode",
+									"BackColor":"E1FFFF",
+									"TextAlign":"MiddleCenter",
+									"Text":"閭紪"
+								}
+							],
+							"BackColor":"E2EFF1",
+							"TextAlign":"MiddleCenter",
+							"Text":"绗簩灞�(2)"
+						}
+					],
+					"BackColor":"ECEBD5",
+					"TextAlign":"MiddleCenter",
+					"Text":"浣嶇疆淇℃伅(涓夊眰绛夐珮)"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":4.15397,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.9652,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":15.1606,
+				"Top":0.396875,
+				"Width":2.59291,
+				"Height":0.608541,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608541,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.16478,
+					"Top":0.211667,
+					"Width":5.63563,
+					"Height":0.582084,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"灞傞珮涓嶇瓑澶氬眰琛ㄥご鎶ヨ〃"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"Height":0.79375,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Dock":"Fill",
+					"WordWrap":true,
+					"Text":"閫氳繃璁剧疆缁勬爣棰樻牸鐨勯珮搴�(Height)灞炴�э紝涓哄灞傝〃澶寸殑姣忎竴灞傝缃笉鍚岀殑楂樺害锛屽疄鐜板眰楂樹笉绛夌殑澶氬眰琛ㄥご"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5d.grf b/public/grf/5d.grf
new file mode 100644
index 0000000..93b77b5
--- /dev/null
+++ b/public/grf/5d.grf
@@ -0,0 +1,633 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5d.鏂囧瓧鏂瑰悜涓庨棿璺�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧鏂瑰悜涓庢枃瀛楄搴�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"BackColor":"FFD2FF",
+			"Height":7.19667,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"BackColor":"FFFFFF",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":3.20146,
+					"Height":5.00063,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"TextOrientation":"U2DL2R0",
+					"Text":"澧炲姞鏂囧瓧鏂瑰悜涓庢枃瀛楄搴﹀姛鑳姐�傜患鍚堟枃瀛楁閫氳繃瀹氫箟鏂囧瓧鏂瑰悜灞炴�э紝鍙互鎸夌収鍑犵绔栨帓鏂瑰紡鏄剧ず鏂囧瓧銆�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"BackColor":"FFFFFF",
+					"Left":4.86833,
+					"Top":0.211667,
+					"Width":3.20146,
+					"Height":5.00063,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"BottomLeft",
+					"TextOrientation":"D2UL2R1",
+					"Text":"澧炲姞鏂囧瓧鏂瑰悜涓庢枃瀛楄搴﹀姛鑳姐�傜患鍚堟枃瀛楁閫氳繃瀹氫箟鏂囧瓧鏂瑰悜灞炴�э紝鍙互鎸夌収鍑犵绔栨帓鏂瑰紡鏄剧ず鏂囧瓧銆�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"BackColor":"FFFFFF",
+					"Left":9.55146,
+					"Top":0.211667,
+					"Width":3.20146,
+					"Height":5.00063,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopRight",
+					"TextOrientation":"U2DR2L0",
+					"Text":"澧炲姞鏂囧瓧鏂瑰悜涓庢枃瀛楄搴﹀姛鑳姐�傜患鍚堟枃瀛楁閫氳繃瀹氫箟鏂囧瓧鏂瑰悜灞炴�э紝鍙互鎸夌収鍑犵绔栨帓鏂瑰紡鏄剧ず鏂囧瓧銆�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"BackColor":"FFFFFF",
+					"Left":14.2081,
+					"Top":0.211667,
+					"Width":3.20146,
+					"Height":5.00063,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopRight",
+					"TextOrientation":"U2DR2L1",
+					"Text":"澧炲姞鏂囧瓧鏂瑰悜涓庢枃瀛楄搴﹀姛鑳姐�傜患鍚堟枃瀛楁閫氳繃瀹氫箟鏂囧瓧鏂瑰悜灞炴�э紝鍙互鎸夌収鍑犵绔栨帓鏂瑰紡鏄剧ず鏂囧瓧銆�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox38",
+					"BackColor":"FFFFFF",
+					"Left":9.60438,
+					"Top":5.3975,
+					"Width":7.80521,
+					"Height":1.61396,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"L2RD2U1",
+					"Text":"鏂囧瓧鏂瑰悜浠庡乏鑷冲彸浠庝笅鑷充笂1閫傚悎鍥句功妗f澶圭瓑鑴婅儗鎵撳嵃锛屾暟瀛椾笌鑻辨枃鍚屾椂鏃嬭浆"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox39",
+					"BackColor":"FFFFFF",
+					"Left":0.211667,
+					"Top":5.3975,
+					"Width":7.80521,
+					"Height":1.61396,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"@瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"L2RD2U0",
+					"Text":"[Grid++Report5]鏂囧瓧鏂瑰悜浠庡乏鑷冲彸浠庝笅鑷充笂0閫傚悎鍥句功妗f澶圭瓑鑴婅儗鎵撳嵃(2011-09-02)"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"BackColor":"FFFF00",
+			"Height":3.20146,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"BackColor":"FFFFFF",
+					"Left":0.396875,
+					"Top":0.211667,
+					"Width":3.99521,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAngle":30,
+					"Text":"鏂囧瓧瑙掑害鏄剧ず鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"BackColor":"FFFFFF",
+					"Left":4.78896,
+					"Top":0.211667,
+					"Width":3.99521,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAngle":150,
+					"Text":"鏂囧瓧瑙掑害鏄剧ず鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox7",
+					"BackColor":"FFFFFF",
+					"Left":9.2075,
+					"Top":0.211667,
+					"Width":3.99521,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAngle":210,
+					"Text":"鏂囧瓧瑙掑害鏄剧ず鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox8",
+					"BackColor":"FFFFFF",
+					"Left":13.5996,
+					"Top":0.211667,
+					"Width":3.99521,
+					"Height":2.77813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAngle":330,
+					"Text":"鏂囧瓧瑙掑害鏄剧ず鏂囧瓧"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter2",
+			"Height":3.59833,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox19",
+					"Left":0.396875,
+					"Top":0.211667,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"TopLeft",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox20",
+					"Left":6.79979,
+					"Top":0.211667,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"TopCenter",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox21",
+					"Left":13.2027,
+					"Top":0.211667,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"TopRight",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox22",
+					"Left":0.396875,
+					"Top":1.40229,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox23",
+					"Left":6.79979,
+					"Top":1.40229,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox24",
+					"Left":13.2027,
+					"Top":1.40229,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleRight",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox25",
+					"Left":0.396875,
+					"Top":2.59292,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"BottomLeft",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox26",
+					"Left":6.79979,
+					"Top":2.59292,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"BottomCenter",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox27",
+					"Left":13.2027,
+					"Top":2.59292,
+					"Width":4.39208,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"BottomRight",
+					"CharSpacing":8,
+					"Text":"瀛楅棿璺濆崟琛�"
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter3",
+			"Height":8.20208,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox28",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox29",
+					"Left":6.19125,
+					"Top":0.211667,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopCenter",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox30",
+					"Left":12.1973,
+					"Top":0.211667,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopRight",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox31",
+					"Left":0.211667,
+					"Top":2.80458,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox32",
+					"Left":6.19125,
+					"Top":2.80458,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox33",
+					"Left":12.1973,
+					"Top":2.80458,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleRight",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox34",
+					"Left":0.211667,
+					"Top":5.3975,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"BottomLeft",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox35",
+					"Left":6.19125,
+					"Top":5.3975,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"BottomCenter",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox36",
+					"Left":12.1973,
+					"Top":5.3975,
+					"Width":5.60917,
+					"Height":2.38125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Italic":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"BottomRight",
+					"CharSpacing":4,
+					"LnSpacing":4,
+					"Text":"瀛楅棿璺濅笌琛岄棿鎹細\r\n鏂囧瓧寰堥暱闇�瑕佺粫琛屾樉绀哄苟鍚勭鏂囧瓧瀵归綈鏂瑰紡\r\n1234567890"
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter1",
+			"CanGrow":true,
+			"BackColor":"E1FFFF",
+			"Height":4.78896,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox9",
+					"BackColor":"FFFFFF",
+					"Dock":"Fill",
+					"CanGrow":true,
+					"WordWrap":true,
+					"CharSpacing":4,
+					"LnSpacing":8,
+					"Text":"浼侀箙鐨勬矇娼� - 婕旂ずGrid++Report鐨勮闂磋窛涓庡瓧闂磋窛\r\n\r\n鍗楁瀬鐨勪紒楣呮槸绉嶆啫鎬佸彲鎺殑灏忓姩鐗╋紝鍙互鍦ㄦ按涓父瀣夛紝涔熻兘鍦ㄩ檰涓婅璧般�傜劧鑰岋紝鍗楁瀬澶у湴鐨勬按闄嗕氦鎺ュ锛屽叏鏄粦婧滄簻鐨勫啺灞傛垨鑰呭皷閿愮殑鍐版1锛屽畠浠韩韬閲嶏紝娌℃湁鍙互鐢ㄦ潵鏀�鐖殑鍓嶈噦锛屼篃娌℃湁鍙互椋炵繑鐨勭繀鑶�锛屽浣曚粠姘翠腑涓婂哺锛焅r\n\r\n绾綍鐗囥�婃繁钃濄�嬶紝璇﹀敖鍦板睍绀轰簡浼侀箙鐧婚檰鐨勮繃绋嬨�傚湪灏嗚涓婂哺涔嬫椂锛屼紒楣呯寷鍦颁綆澶达紝浠庢捣闈㈡墡鍏ユ捣涓紝鎷煎姏娌夋綔銆傛綔寰楄秺娣憋紝娴锋按鎵�浜х敓鐨勫帇鍔涘拰娴姏涔熻秺澶э紝浼侀箙涓�鐩存綔鍒伴�傚綋鐨勬繁搴︼紝鍐嶆憜鍔ㄥ弻瓒筹紝杩呯寷鍚戜笂锛岀姽濡傜寮︿箣绠箍鍑烘按闈紝鑵剧┖鑰岃捣锛岃惤浜庨檰鍦颁箣涓婏紝鐢诲嚭涓�閬撳畬缇庣殑U褰㈢嚎銆俓r\n\r\n杩欑娌夋綔鏄负浜嗚搫鍔匡紝绉仛鐮存按鑰屽嚭鐨勫姏閲忥紝鐪嬩技绗ㄦ嫏锛屽嵈瀵屾湁鎴愭晥銆俓r\n\r\n浜虹敓鍙堜綍灏濅笉鏄姝わ紵褰撴垜浠潰鍓嶅洶闅鹃噸閲嶏紝鍑哄ご涔嬫棩閬ヤ笉鍙強鏃讹紝浣曚笉瀛﹀浼侀箙鐨勬矇娼滐紵杩欑娌夋綔缁濋潪娌夋拨锛岃�屾槸鑷己銆傚鏋滄垜浠湪鍥板涓篃鑳芥矇涓嬫皵鏉ワ紝涓嶈鈥滃啺妫扁�濆悡鍊掞紝鍦ㄥ枾鍤d腑涔熻兘娌変笅蹇冩潵锛屼笉琚诞鍗庤糠鎯戯紝涓撳績鑷村織绉仛鍔涢噺锛屽苟鎶撲綇鎭板綋鐨勬満浼氬弽寮瑰悜涓婏紝姣棤鐤戦棶锛屾垜浠氨鑳芥垚鍔熺櫥闄嗭紒鍙嶄箣锛屾�绘槸闅忔尝娴矇锛屾垨鑰呮�ㄥぉ灏や汉锛屾敞瀹氬氨浼氳鍛借繍鐨勯娴帺寮勪簬鑲℃帉涔嬮棿锛岀洿鑷崇簿鐤插姏绔�俓r\n\r\n鐢樹簬娌変笅鍘伙紝鎵嶅彲娴嚭鏉ワ紝浼侀箙鐨勬矇娼滃師鍒欙紝涔熼�傜敤浜庝汉鐨勭敓瀛樸��"
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter4",
+			"CanGrow":true,
+			"BackColor":"ECEBD5",
+			"Height":4.79,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox37",
+					"BackColor":"FFFFFF",
+					"Dock":"Fill",
+					"CanGrow":true,
+					"WordWrap":true,
+					"TextOrientation":"Invert",
+					"CharSpacing":4,
+					"LnSpacing":8,
+					"Text":"浼侀箙鐨勬矇娼� - 婕旂ずGrid++Report鐨勮闂磋窛涓庡瓧闂磋窛\r\n\r\n鍗楁瀬鐨勪紒楣呮槸绉嶆啫鎬佸彲鎺殑灏忓姩鐗╋紝鍙互鍦ㄦ按涓父瀣夛紝涔熻兘鍦ㄩ檰涓婅璧般�傜劧鑰岋紝鍗楁瀬澶у湴鐨勬按闄嗕氦鎺ュ锛屽叏鏄粦婧滄簻鐨勫啺灞傛垨鑰呭皷閿愮殑鍐版1锛屽畠浠韩韬閲嶏紝娌℃湁鍙互鐢ㄦ潵鏀�鐖殑鍓嶈噦锛屼篃娌℃湁鍙互椋炵繑鐨勭繀鑶�锛屽浣曚粠姘翠腑涓婂哺锛焅r\n\r\n绾綍鐗囥�婃繁钃濄�嬶紝璇﹀敖鍦板睍绀轰簡浼侀箙鐧婚檰鐨勮繃绋嬨�傚湪灏嗚涓婂哺涔嬫椂锛屼紒楣呯寷鍦颁綆澶达紝浠庢捣闈㈡墡鍏ユ捣涓紝鎷煎姏娌夋綔銆傛綔寰楄秺娣憋紝娴锋按鎵�浜х敓鐨勫帇鍔涘拰娴姏涔熻秺澶э紝浼侀箙涓�鐩存綔鍒伴�傚綋鐨勬繁搴︼紝鍐嶆憜鍔ㄥ弻瓒筹紝杩呯寷鍚戜笂锛岀姽濡傜寮︿箣绠箍鍑烘按闈紝鑵剧┖鑰岃捣锛岃惤浜庨檰鍦颁箣涓婏紝鐢诲嚭涓�閬撳畬缇庣殑U褰㈢嚎銆俓r\n\r\n杩欑娌夋綔鏄负浜嗚搫鍔匡紝绉仛鐮存按鑰屽嚭鐨勫姏閲忥紝鐪嬩技绗ㄦ嫏锛屽嵈瀵屾湁鎴愭晥銆俓r\n\r\n浜虹敓鍙堜綍灏濅笉鏄姝わ紵褰撴垜浠潰鍓嶅洶闅鹃噸閲嶏紝鍑哄ご涔嬫棩閬ヤ笉鍙強鏃讹紝浣曚笉瀛﹀浼侀箙鐨勬矇娼滐紵杩欑娌夋綔缁濋潪娌夋拨锛岃�屾槸鑷己銆傚鏋滄垜浠湪鍥板涓篃鑳芥矇涓嬫皵鏉ワ紝涓嶈鈥滃啺妫扁�濆悡鍊掞紝鍦ㄥ枾鍤d腑涔熻兘娌変笅蹇冩潵锛屼笉琚诞鍗庤糠鎯戯紝涓撳績鑷村織绉仛鍔涢噺锛屽苟鎶撲綇鎭板綋鐨勬満浼氬弽寮瑰悜涓婏紝姣棤鐤戦棶锛屾垜浠氨鑳芥垚鍔熺櫥闄嗭紒鍙嶄箣锛屾�绘槸闅忔尝娴矇锛屾垨鑰呮�ㄥぉ灏や汉锛屾敞瀹氬氨浼氳鍛借繍鐨勯娴帺寮勪簬鑲℃帉涔嬮棿锛岀洿鑷崇簿鐤插姏绔�俓r\n\r\n鐢樹簬娌変笅鍘伙紝鎵嶅彲娴嚭鏉ワ紝浼侀箙鐨勬矇娼滃師鍒欙紝涔熼�傜敤浜庝汉鐨勭敓瀛樸��"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5e.grf b/public/grf/5e.grf
new file mode 100644
index 0000000..ccd8290
--- /dev/null
+++ b/public/grf/5e.grf
@@ -0,0 +1,513 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5e.HTML鏍囩",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず缁煎悎鏂囧瓧妗嗘敮鎸佺殑鍚勭HTML鏍囩锛岃缃患鍚堟枃瀛楁鐨勨�滄敮鎸丠TML鏍囩鈥濆睘鎬т负鈥滄槸鈥濆彲浠ュ紑鍚疕TML鏍囩瑙f瀽鍔熻兘銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"ImageList":[
+		{
+			"Image":"AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA///////////////////////////////////////////////////////////6K/Yr9/f4+v/////////////////////////////6K/b29isr9/j4+fr/////////////////////////+vb29vb2Kyv3+Pj4+fv///////////////////////8r9vb29vYrK/f3+Pj4+f////////////////////////b29vb29isr9/f4+Pj5///////////////////////59vb29vb2Kyv39/j4+Pn7//////////////////////j29vb29lB1e3v4+Pj4Vvr/////////////////////9/b29vZ95ujm5n34+PhW+f/////////////////////39vb25qf3+fn3p+j4+Pj5/////////////////////yv29n2n+fv4+Pv2p6f4+Pn/////////////////////K/ZQ5uf7/fb5+vv36Hv4Vv/////////////////////29lDo9vn7+fr7+fnoe/hW////////////////////+fb2UOb2+/32+/359+Z7+Fb7///////////////////49vb2faf2+/v4+fanffj4Vvr///////////////////f29vb36Kf2+fn3p+j4+PhW+v//////////////////9/b29vb3febm6OZ9+Pj4+Fb6///////////////////39vb29vYrUFBQUPf4+PhW+fr///////////////////f29vb29vb29iv3+PhWVlb5+v//////////////////K/b29isrK/f3+PhWVlb5+vr6//////////////////8rKysr9/f39/f39/f4Vlb5+vr/////////////////+Ssr9ysr9fX19fX19fYrK/hW+fv////////////////49yv1Kw4WCQ4ODw8JDg8r9Sv4+f////////////////f1Dw4VAToBAQE6AQEBCQ86D/VW////////////////9RYJAQEBDzoBAQEVAQwPAQk6DvX///////////////8IDwkBAQ8BDwwPDw8PAToPDgE6CP///////////////ysPAQ8VFQEPAQEPAQ8ODwwODwkr/////////////////xUBAQELAQELARABDgEKAQEBDv///////////////////w8JAQsMDgkOCQEBFgwLAQ7/////////////////////////DggMCAEKAQoID//////////////////////////////////////////////////////////////////////////////////////////////////////wD///wAP//4AB//8AAP//AAD//wAA//4AAH/+AAB//gAAf/4AAH/+AAB//gAAf/4AAH/8AAA//AAAP/wAAD/8AAA//AAAP/wAAD/8AAA//AAAP/gAAB/4AAAf+AAAH/gAAB/4AAAf+AAAH/wAAD/+AAB//wAA///gB///////"
+		},
+		{
+			"Image":"AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4mJX181Nfn///////////////////////////////+JX19fX181WTX3+f///////////////////////////1+JXzVfX186NTUz9y/5////////////////////////X4mtXzVfX19fOjVZNS/39vj///////////////////81X4mIiF81X19fXzo1NDUvLvf2+P///////////////4lf3d3diF5eiV9fX181NTU1NSwu9/b4/////////////92JiYmJiDQRNV+CX19fOjU1NTUvMy4u9/j///////+JiWVlZWWICwsLERE1X4JfOl81NTM1NDU1Lvj5/////xdlQUFliV40NDQ0CxERNV+CX186NTMvNDQ1NTX4////ZRcXFmUs9gEBAfYLCwsLERE1X4JfOjszLi4vNTX5////////CgEKNAEBNDQ0NDQ0CwsRETVfg186My4vLjX/////////////9gEBAQEBAfYLCwsLETQRNV9fOzMzWf////////////////8KNDQBAQE0NDQ0NDQLNBFeXl5Z//////////////////////YBAQEBAQEB9jQ0iTQ0Xl7/////////////////////////CjQ0CgEB9mWJiWVe//////////////////////////////YB9vn/F0GJZWWJ////////////////////////////////////QRdlZRf//////////////////////////////////////0EXZf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8B///+AD///AAH//wAAP/8AAAf/AAAA/wAAAB+AAAAHAAAAAwAAAAEAAAAAgAAAAPgAAAD/gAAA//AAAP/+AAH//8AA///wgP///8D////x////////////////////////////////"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"CanGrow":true,
+			"Height":7.40833,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox8",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.4517,
+					"Height":6.985,
+					"CanGrow":true,
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"Text":"璁剧疆缁煎悎鏂囧瓧妗嗙殑鈥滄敮鎸丠TML鏍囩鈥濆睘鎬т负鈥滄槸鈥濆彲浠ュ紑鍚疕TML鏍囩瑙f瀽鍔熻兘銆傜洰鍓嶆敮鎸佺殑鏍囩鏈夛細\r\n<b>...</b> 鏂囧瓧绮椾綋\r\n<i>...</i> 鏂囧瓧鏂滀綋\r\n<u>...</u> 鏂囧瓧涓嬪垝绾匡紝涓嬪垝绾夸粎缁樺埗鍦ㄦ枃瀛椾笅\r\n<U>...</U> 鏂囧瓧涓嬪垝绾匡紝涓嬪垝绾垮欢浼稿埌琛屽熬锛屽嵆浣挎病鏈夋枃瀛楋紝琛屼篃鐢绘弧涓嬪垝绾縗r\n<strike>...</strike> 鏂囧瓧鍒犻櫎绾縗r\n<p>...</p> 鏂囧瓧娈佃惤鎹㈣\r\n<sub>...</sub> 涓嬫爣\r\n<sup>...</sup> 涓婃爣\r\n<font color=...>...</font> 鏂囧瓧棰滆壊锛岄鑹插�兼敮鎸佷袱绉嶈〃绀烘柟寮忥細rgb涓�16杩涘埗锛屽:<font color=#FFAA88>锛�<font color=#RGB(255,128,64)>\r\n<font size=n>..........</font> 鏂囧瓧澶у皬锛屽弬鏁皀涓哄瓧浣撶殑鐐规暟锛屽彲浠ュ甫灏忔暟鐐筡r\n<font face=\"瀛椾綋鍚嶇О\">..........</font> 瀛椾綋鍚嶇О锛屽弬鏁颁负鏈夋晥鐨勫瓧浣撳悕绉癨r\n<icon>n</icon> 鍦ㄦ枃瀛椾腑鎻掑叆鍥炬爣,n涓轰粠0寮�濮嬬殑鏁板瓧锛屽垎鍒〃绀轰笉鍚岀殑鍥炬爣銆俓r\n<img>n(w,h)</img> 鍦ㄦ枃瀛椾腑鎻掑叆鏄剧ず鎶ヨ〃鍥惧儚闆嗗悎涓殑涓�涓浘鍍忥紝骞惰鎸囧畾鍥惧儚鏄剧ず鐨勫搴︿笌楂樺害锛沶銆亀銆乭閮芥槸绾暟瀛楋紝n涓轰粠1寮�濮嬬殑鏁板瓧锛屽搴旀姤琛ㄥ浘鍍忛泦鍚堜腑鐨勫浘鍍忓簭鍙凤紝w涓巋鍒嗗埆鎸囧畾鍥惧儚鐨勬樉绀哄搴︿笌楂樺害锛屼互灞忓箷鍍忕礌涓哄崟浣嶃��"
+				}
+			]
+		},
+		{
+			"CanGrow":true,
+			"Height":11.1919,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox9",
+					"Left":0.238125,
+					"Top":0.714375,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<b>鏂囧瓧绮椾綋</b>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox10",
+					"Left":10.1335,
+					"Top":0.714375,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<b>鏂囧瓧绮椾綋</b>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox11",
+					"Left":0.238125,
+					"Top":1.29646,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<i>鏂囧瓧鏂滀綋</i>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox12",
+					"Left":10.1335,
+					"Top":1.29646,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<i>鏂囧瓧鏂滀綋</i>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox13",
+					"Left":0.238125,
+					"Top":1.87854,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<u>鏂囧瓧涓嬪垝绾�</u>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox14",
+					"Left":10.1335,
+					"Top":1.87854,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<u>鏂囧瓧涓嬪垝绾�</u>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox15",
+					"Left":0.238125,
+					"Top":2.98979,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<strike>鏂囧瓧鍒犻櫎绾�</strike>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox16",
+					"Left":10.1335,
+					"Top":2.98979,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<strike>鏂囧瓧鍒犻櫎绾�</strike>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox17",
+					"Left":0.238125,
+					"Top":3.57188,
+					"Width":9.63083,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<sup>涓婃爣鏂囧瓧</sup>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox18",
+					"Left":10.1335,
+					"Top":3.57188,
+					"Width":5.63563,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<sup>涓婃爣鏂囧瓧</sup>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox19",
+					"Left":0.238125,
+					"Top":4.18042,
+					"Width":9.63083,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<sub>涓嬫爣鏂囧瓧</sub>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox20",
+					"Left":10.1335,
+					"Top":4.18042,
+					"Width":5.63563,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<sub>涓嬫爣鏂囧瓧</sub>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox21",
+					"Left":0.238125,
+					"Top":4.78896,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<font color=#RGB(255,0,0)>鏂囧瓧棰滆壊</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox22",
+					"Left":10.1335,
+					"Top":4.78896,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<font color=#RGB(255,0,0)>鏂囧瓧棰滆壊</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox23",
+					"Left":0.238125,
+					"Top":5.37104,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<font size=12>鏂囧瓧澶у皬</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox24",
+					"Left":10.1335,
+					"Top":5.37104,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<font size=12>鏂囧瓧澶у皬</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox25",
+					"Left":0.238125,
+					"Top":5.95313,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"鍓嶉潰鏂囧瓧<font face=妤蜂綋_GB2312>妤蜂綋鏂囧瓧</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox26",
+					"Left":10.1335,
+					"Top":5.95313,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"鍓嶉潰鏂囧瓧<font face=妤蜂綋_GB2312>妤蜂綋鏂囧瓧</font>鍚庨潰鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox27",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Left":0.238125,
+					"Top":0.132292,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏍囩鍘熷鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox28",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Left":10.1335,
+					"Top":0.132292,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏍囩瑙f瀽鏄剧ず"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox29",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Left":0.211667,
+					"Top":6.82625,
+					"Width":15.584,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"HTML鏍囩缁煎悎婕旂ず"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox30",
+					"Left":0.211667,
+					"Top":7.40833,
+					"Width":15.584,
+					"Height":3.43958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"CanGrow":true,
+					"TextAlign":"TopLeft",
+					"HtmlTags":true,
+					"Text":"Grid++Report鏄竴娆�<b>C/S</b>涓�<b>B/S</b>闆嗘垚鎶ヨ〃宸ュ叿锛屽姛鑳藉叏闈㈡槗瀛︽槗鐢ㄣ�傛姤琛ㄧ粍浠跺彲鐢ㄤ簬寮�鍙戞闈�<sup>(C/S)</sup>鎶ヨ〃涓嶹EB<sub>(B/S)</sub>鎶ヨ〃锛孋/S鎶ヨ〃閫傜敤浜�<font color=#RGB(255,0,0)>VB.NET銆丆#.NET銆乂B銆乂C銆丏elphi銆丆++Builder銆乂FP銆佹槗璇█</font>绛夊紑鍙戝伐鍏枫�俉EB鎶ヨ〃閫傜敤浜�<u>ASP銆丄SP.NET銆丣SP銆丳HP</u>绛夛紝鍦ㄧ綉椤靛鎴风鍏锋湁鐏垫椿鐨勮剼鏈�<i>(JavaScript/VBScript)</i>鎺у埗鑳藉姏銆傚紑鍙戞闈㈡姤琛ㄤ笌WEB鎶ヨ〃<u><b>鍏变韩</b></u>鐩稿悓鐨勫紑鍙戠煡璇嗕笌璁捐璧勬簮锛屽ぇ澶ф彁楂樻姤琛ㄥ紑鍙戠殑鏁堢巼銆�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox31",
+					"Left":0.238125,
+					"Top":2.46063,
+					"Width":9.63083,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"<U>鏂囧瓧涓嬪垝绾�</U>"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox32",
+					"Left":10.1335,
+					"Top":2.46063,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"HtmlTags":true,
+					"Text":"<U>鏂囧瓧涓嬪垝绾�</U>"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader1",
+			"Height":2.80458,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":7.99042,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"TopLeft",
+					"HtmlTags":true,
+					"Text":"鍥炬爣 <icon>0</icon> 妗哱r\n鍥炬爣 <icon>1</icon> 妗嗗唴鐢诲嬀\r\n鍥炬爣 <icon>2</icon> 妗嗗唴鐢诲弶"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox33",
+					"Left":8.20208,
+					"Top":0.79375,
+					"Width":7.59354,
+					"Height":1.79917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"TopLeft",
+					"HtmlTags":true,
+					"Text":"鍥炬爣 <icon>3</icon> 鍦嗗湀\r\n鍥炬爣 <icon>4</icon> 鍦嗗湀鍐呯敾鐐筡r\n鍥炬爣 <icon>5</icon> 鍦嗗湀鍐呯敾鍙�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox34",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.584,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"HTML鏍囩鍥炬爣婕旂ず:<icon>n</icon>鏍囩锛屽湪鏂囧瓧涓彃鍏ュ浘鏍�"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":2.40771,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox35",
+					"BackColor":"E1FFFF",
+					"BackStyle":"Normal",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.584,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"HTML鏍囩鍥炬爣婕旂ず:<img>n(w,h)</img>鏍囩锛屽湪鏂囧瓧涓彃鍏ュ浘鍍忛泦鍚堜腑鐨勫浘鍍�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox36",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":15.584,
+					"Height":1.21708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"CanGrow":true,
+					"TextAlign":"TopLeft",
+					"HtmlTags":true,
+					"Text":"鍥惧儚闆嗗悎涓殑绗竴涓浘鍍� <img>1(20,20)</img>锛屾樉绀哄昂瀵镐负: 20 *20\r\n鍥惧儚闆嗗悎涓殑绗簩涓浘鍍� <img>2(40,20)</img>锛屾樉绀哄昂瀵镐负: 40 *20"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5f.grf b/public/grf/5f.grf
new file mode 100644
index 0000000..77277a5
--- /dev/null
+++ b/public/grf/5f.grf
@@ -0,0 +1,320 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5f.鏃犺竟妗嗚〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPageEx",
+		"Border":{
+			"Styles":"[]"
+		},
+		"ColLine":{
+			"Color":"0000FF"
+		},
+		"RowLine":{
+			"Color":"FF0000"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5g.grf b/public/grf/5g.grf
new file mode 100644
index 0000000..885a317
--- /dev/null
+++ b/public/grf/5g.grf
@@ -0,0 +1,363 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5g.鏃犺绾胯〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓病鏈夎绾跨殑琛ㄦ牸鎶ヨ〃銆俓r\n\r\n璁剧疆鏄庣粏缃戞牸鐨勨�滄樉绀鸿绾库�濆睘鎬т负鈥滃惁鈥濓紝杩欐牱鏁翠釜琛ㄦ牸灏辨病鏈夋按骞宠绾裤�備絾鏈夋椂鍊欐垜浠笇鏈涘湪鏍囬琛屼笅鏄剧ず涓�鏉℃按骞冲垎闅旂嚎锛岄噰鐢ㄤ笅闈㈢殑姝ラ鍙互瀹炵幇杩欎釜瑕佹眰锛歕r\n1銆侀�変腑鍏ㄩ儴鏍囬鏍硷紝灏嗗畠浠殑鈥滆嚜鐢辨牸鈥濆睘鎬ц涓衡�滄槸鈥濄�俓r\n2銆侀�変腑鍏ㄩ儴鏍囬鏍间腑鐨勯潤鎬佹枃瀛楁锛岃瀹冧滑鐨勨�滃仠闈犫�濆睘鎬т负鈥滃厖婊♀�濓紝璁惧畠浠殑鈥滆竟妗嗘ā寮忊�濆睘鎬т负鈥滅敾涓嬧�濄�俓r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowRowLine":false,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Border":{
+			"Pen":{
+				"Width":2
+			}
+		},
+		"ColLine":{
+			"Color":"0000FF"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"AlternatingBackColor":"C1C1C1",
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"瀹㈡埛缂栧彿"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鍏徃鍚嶇О"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鑱旂郴浜�"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鑱旂郴浜虹О璋�"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鍦板潃"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鍩庡競"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawBottom]",
+								"Pen":{
+									"Color":"FF0000"
+								}
+							},
+							"Text":"鍦板尯"
+						}
+					]
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5h.grf b/public/grf/5h.grf
new file mode 100644
index 0000000..5eb755d
--- /dev/null
+++ b/public/grf/5h.grf
@@ -0,0 +1,388 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5h.瀵归綈鍒楁敼杩涘鍑篍xcel",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"杩欎釜鎶ヨ〃鏄湪鈥�2a.鍩烘湰鍒嗙粍.grf鈥濈殑鍩虹涓婂埗浣滅殑锛屽氨鏄牴鎹儴浠舵鐨勪綅缃负鍏惰涓婂搴旂殑鈥滃榻愬垪鈥濆睘鎬с�傞�氳繃瀵归綈鍒楀姛鑳界‘瀹氶儴浠舵鐨勬按骞充綅缃笌瀹藉害銆俓r\n\r\n鎵ц鈥�2a.鍩烘湰鍒嗙粍.grf鈥濅笌鏈姤琛ㄧ殑瀵煎嚭Excel鍔熻兘锛屽彲浠ョ湅鍒版湰鎶ヨ〃瀵煎嚭Excel鍏锋湁鏇村皯鐨勫垪锛屼笖閮ㄤ欢妗嗙殑瀵煎嚭浣嶇疆涔熶笌鎶ヨ〃闈炲父涓�鑷淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductName",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"AlignColumn":"ProductName",
+							"Width":2.80458,
+							"Height":0.79375,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"AlignColumn":"UnitPrice",
+							"AlignColumnEx":"Quantity",
+							"Left":2.77813,
+							"Width":3.59833,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"AlignColumn":"Discount",
+							"AlignColumnEx":"Amount",
+							"Left":6.35,
+							"Width":4.41854,
+							"Height":0.79375,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.40771,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.80458,
+							"Height":0.79375,
+							"DataField":"Freight"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.978958,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ProductName",
+							"AlignColumnEx":"UnitPrice",
+							"Width":4.78896,
+							"Height":1.00542,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.61938,
+							"Height":1.00542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.40771,
+							"Height":1.00542,
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"NetAmountSummaryBox",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.80458,
+							"Height":1.00542,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"AlignColumn":"Amount",
+				"AlignColumnEx":"NetAmount",
+				"Left":8.14917,
+				"Width":7.77875,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"AlignColumn":"ProductName",
+				"AlignColumnEx":"Discount",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"AlignColumn":"DisCountAmt",
+				"AlignColumnEx":"NetAmount",
+				"Left":10.7421,
+				"Width":5.18583,
+				"Height":0.79375,
+				"TextAlign":"MiddleCenter",
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"AlignColumn":"ProductName",
+					"AlignColumnEx":"NetAmount",
+					"Width":15.9279,
+					"Height":1.40229,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5i.grf b/public/grf/5i.grf
new file mode 100644
index 0000000..4cf2910
--- /dev/null
+++ b/public/grf/5i.grf
@@ -0,0 +1,456 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5i.瀵艰埅涔︾",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄦ姤琛ㄨ妭鐨勨�滀功绛炬枃鏈�濆睘鎬т笂瀹氫箟姝よ妭鐨勪功绛炬枃鏈紝鍏跺畾涔変笌缁煎悎鏂囧瓧妗嗙殑鈥滄枃鏈�濆睘鎬ф槸涓�鏍风殑锛屽湪鍏朵腑鍙互鎻掑叆鍚勭鍔ㄦ�佹暟鎹煙銆傞�氬父鍦ㄥ垎缁勫ご涓婂畾涔変功绛炬枃鏈��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":1.2,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"E2EFF1",
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"CountryGroup",
+				"ByFields":"Country",
+				"GroupHeader":{
+					"Height":1,
+					"BookmarkText":"鍥藉锛歔#Country#]",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":0.185208,
+							"Width":1.00542,
+							"Height":1.00542,
+							"Text":"鍥藉锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.19063,
+							"Width":2.59292,
+							"Height":1.00542,
+							"DataField":"Country"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"008080",
+					"Height":1,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"BackColor":"FFFFFF",
+							"Left":0.185208,
+							"Width":2.40771,
+							"Height":1.00542,
+							"Text":"鍥藉浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"BackColor":"FFFFFF",
+							"Left":2.59292,
+							"Width":1.98438,
+							"Height":1.00542,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"RegionGroup",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":1,
+					"BookmarkText":"鍦板尯[#Region#]",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":1.19063,
+							"Width":1.00542,
+							"Height":1.00542,
+							"Text":"鍦板尯锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.19604,
+							"Width":2.59292,
+							"Height":1.00542,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFF00",
+					"Height":1,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"Left":0.978958,
+							"Width":2.40771,
+							"Height":1.00542,
+							"Text":"鍦板尯浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"Left":3.38667,
+							"Width":2.01083,
+							"Height":1.00542,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CityGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":1,
+					"BookmarkText":"鍩庡競锛歔#City#]",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Left":2.19604,
+							"Width":0.978958,
+							"Height":1.00542,
+							"Text":"鍩庡競锛�"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":3.175,
+							"Width":2.61938,
+							"Height":1.00542,
+							"DataField":"City"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"F1D3FA",
+					"Height":1,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Left":2.19604,
+							"Width":2.38125,
+							"Height":0.582083,
+							"Text":"鍩庡競浜烘暟缁熻锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"Left":4.78896,
+							"Width":1.79917,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":24.6063,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":8.36083,
+				"Width":4.39208,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":9.89542,
+					"Top":0.211667,
+					"Width":4.92125,
+					"Height":0.820208,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹� 鎴� 璧� 鏂�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5j.grf b/public/grf/5j.grf
new file mode 100644
index 0000000..1cf0fe2
--- /dev/null
+++ b/public/grf/5j.grf
@@ -0,0 +1,449 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5j.璐㈠姟閲戦绾�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず璐㈠姟閲戦绾夸笌閲戦浣嶆爣绛剧殑鐢ㄦ硶銆傝缃枃瀛楃被鍨嬨�佹爣棰樻牸涓庡唴瀹规牸鐨� ShowMoneyLine 涓� ShowMoneylabel 灞炴�т娇璇ュ叾鏄剧ず閲戦绾夸笌閲戦浣嶆爣绛俱�傝缃姤琛ㄤ富瀵硅薄鐨� ShowMoneyWidth 涓� ShowMoneyDigit 灞炴�у彲浠ユ敼鍙樺叏閮ㄩ噾棰濅綅鐨勬樉绀哄搴︿笌閲戦浣嶆暟銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ShowMoneyWidth":3,
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductName",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"Amount",
+				"Width":2.59292
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.38125
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"DiscountAmt"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"ShowMoneyLine":true,
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"鎶樻墸鍓嶉噾棰�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"Text":"鎶樻墸閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"ShowMoneyLabel":true,
+					"Text":"鎶樻墸鍚庨噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":1.79917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":2.01083,
+							"Top":0.608542,
+							"Width":5.18583,
+							"Height":0.608542,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Left":2.01083,
+							"Width":5.18583,
+							"Height":0.582083,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field3",
+							"Left":2.01083,
+							"Top":1.19063,
+							"Width":5.18583,
+							"Height":0.608542,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7156,
+							"Top":0.211667,
+							"Width":2.40771,
+							"Height":0.978958,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"ShowMoneyLabel":true,
+							"Text":"杩愯垂"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"Field4",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7156,
+							"Top":1.19063,
+							"Width":2.40771,
+							"Height":0.396875,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+							},
+							"ShowMoneyLine":true,
+							"DataField":"Freight"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Left":0.211667,
+							"Width":1.79917,
+							"Height":0.582083,
+							"Text":"鍏徃锛�"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"Left":0.211667,
+							"Top":0.608542,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Text":"璁㈠崟缂栧彿锛�"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Left":0.211667,
+							"Top":1.19063,
+							"Width":1.79917,
+							"Height":0.608542,
+							"Text":"璁㈠崟鏃ユ湡锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"AlignColumn":"NetAmount",
+							"Left":13.0969,
+							"Top":0.211667,
+							"Width":2.80458,
+							"Height":0.978958,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight]"
+							},
+							"ShowMoneyLabel":true,
+							"Text":"鎬婚噾棰�"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"AlignColumn":"NetAmount",
+							"Left":13.0969,
+							"Top":1.19063,
+							"Width":2.80458,
+							"Height":0.396875,
+							"Border":{
+								"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+							},
+							"ShowMoneyLine":true,
+							"Text":"[#Freight+Sum(NetAmount)#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"AlignColumn":"ProductName",
+							"Width":2.77813,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Amount",
+							"Left":8.14917,
+							"Width":2.59292,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"$#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"DisCountAmt",
+							"Left":10.7421,
+							"Width":2.38125,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"DiscountAmt",
+							"Format":"$#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Width":2.77813,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"ShowMoneyLine":true,
+							"DataField":"NetAmount",
+							"Format":"$#,##0.00"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5k.grf b/public/grf/5k.grf
new file mode 100644
index 0000000..7fdb96e
--- /dev/null
+++ b/public/grf/5k.grf
@@ -0,0 +1,128 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5k.鏍囩鏂囧瓧",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏂囧瓧鍦ㄥ搴︽柟鍚戜笂浼哥缉鏄剧ず銆俓r\n\r\n璁剧疆鈥滄枃瀛楁牸寮�::瀛椾綋瀹藉害姣斾緥鈥濆睘鎬у彲浠ュ疄鐜版枃瀛楁媺瀹芥垨鍘嬬獎鏄剧ず銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"LeftMargin":1,
+		"TopMargin":1.5,
+		"RightMargin":1,
+		"BottomMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Height":13.2027,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Left":0.238125,
+					"Top":6.19125,
+					"Width":18.124,
+					"Height":2.98979,
+					"Font":{
+						"Name":"鍗庢枃缁嗛粦",
+						"Size":720000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"FontWidthRatio":0.5,
+					"Text":"锟�198.85"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":0.291042,
+					"Top":2.46063,
+					"Width":18.0975,
+					"Height":2.59292,
+					"Font":{
+						"Name":"鍗庢枃缁嗛粦",
+						"Size":720000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"锟�198.85"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox7",
+					"Left":0.238125,
+					"Top":10.2129,
+					"Width":18.124,
+					"Height":2.77813,
+					"Font":{
+						"Name":"鍗庢枃缁嗛粦",
+						"Size":720000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"FontWidthRatio":1.5,
+					"Text":"锟�198.85"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":0.873125,
+					"Top":0.396875,
+					"Width":13.8113,
+					"Height":1.19063,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"璁剧疆鈥滄枃瀛楁牸寮�::瀛椾綋瀹藉害姣斾緥鈥濆睘鎬у彲浠ュ疄鐜版枃瀛楁媺瀹芥垨鍘嬬獎鏄剧ず銆�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":0.846667,
+					"Top":1.87854,
+					"Width":2.61938,
+					"Height":0.582083,
+					"Text":"姝e父鏄剧ず锛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":0.79375,
+					"Top":5.26521,
+					"Width":13.8113,
+					"Height":0.926042,
+					"WordWrap":true,
+					"Text":"鍘嬬缉鏄剧ず锛氬皢鈥滄枃瀛楁牸寮�::瀛椾綋瀹藉害姣斾緥鈥濆睘鎬ц缃负0.5锛屾枃瀛楁寜姝e父瀹藉害鐨�50%鏄剧ず锛屾枃瀛楀皢鏄惧緱缁嗛暱"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":0.79375,
+					"Top":9.39271,
+					"Width":13.8113,
+					"Height":0.820208,
+					"WordWrap":true,
+					"Text":"浼稿睍鏄剧ず锛氾細灏嗏�滄枃瀛楁牸寮�::瀛椾綋瀹藉害姣斾緥鈥濆睘鎬ц缃负1.5锛屾枃瀛楁寜姝e父瀹藉害鐨�150%鏄剧ず锛屾枃瀛楀皢鏄惧緱瀹芥墎"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5l.grf b/public/grf/5l.grf
new file mode 100644
index 0000000..b32e8b7
--- /dev/null
+++ b/public/grf/5l.grf
@@ -0,0 +1,317 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5l.浼稿睍鍒楅�傚簲鏂囧瓧",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏄庣粏缃戞牸閿佸畾鍒楋細鍦ㄢ�樼畝鍗曞垪琛ㄢ�欐姤琛ㄧ殑鍩虹涓婏紝閫氳繃璁惧畾鏄庣粏缃戞牸鐨勨�橀攣瀹氬垪鏁�(FixCols)鈥欏睘鎬у�间负2锛屼粠鑰屾寚瀹氭姤琛ㄥ湪鏌ヨ鏄剧ず鏃舵槑缁嗙綉鏍兼渶宸﹁竟鐨勪袱鍒椾笉杩涜姘村钩婊氬姩锛屾�绘槸鏄剧ず鍦ㄦ渶宸﹁竟銆俓r\n\r\n鍏朵腑鐨勨�滃湴鍧�(绐勫垪)鈥濆垪鏄负浜嗘紨绀烘墦鍗板垪瀹借嚜鍔ㄩ�傚簲鍐呭鍔熻兘鑰屼笓闂ㄨ瀹氱殑锛岃缃槑缁嗙綉鏍肩殑鈥滄墦鍗板垪瀹借嚜鍔ㄩ�傚簲鍐呭鈥濆睘鎬у嵆鍙紑鍚繖鏍风殑鍔熻兘銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"PrintAdaptFitText":true,
+		"AppendBlankCol":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select top 30 * from Customers\r\norder by CustomerID",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":2.38125
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.81
+			},
+			{
+				"Name":"City",
+				"Width":2.01083
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.41313
+			},
+			{
+				"Name":"Column1",
+				"Width":1.21708
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"BackColor":"FFFF00",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"BackColor":"FFFF00",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Column1",
+					"DataField":"Address"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎵撳嵃鑷姩澧炲"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":12.8588,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":26.67,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":23.8654,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.6417,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5m.grf b/public/grf/5m.grf
new file mode 100644
index 0000000..6421ec2
--- /dev/null
+++ b/public/grf/5m.grf
@@ -0,0 +1,270 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5m.鐢靛瓙鍗扮珷",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐢ㄦ诞鍔ㄩ儴浠舵瀹炵幇鐢靛瓙鍗扮珷銆俓r\n\r\n璁捐杩囩▼锛歕r\n1銆侀鍏堣繘鍏ラ〉闈㈣鍥撅紱\r\n2銆佺劧鍚庣偣鍑婚紶鏍囧彸閿墦寮�寮瑰嚭寮忓叧鑱旇彍鍗曪紝閫夋嫨鈥滄樉绀烘诞鍔ㄨ妭鈥濓紱\r\n3銆佹渶鍚庡湪娴姩鑺備笂鎻掑叆涓�涓浘鍍忔骞惰缃浉搴斿睘鎬у�硷紱\r\n4銆佸湪鎶ヨ〃涓诲璞$殑鈥滈〉寮�濮嬭剼鏈�濆睘鎬т腑鍐欒剼鏈唬鐮侊紝鎺у埗鍥惧儚妗嗗彧鍦ㄦ渶鍚庝竴椤垫樉绀恒��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"PageStartScript":"//鎺у埗娴姩閮ㄤ欢妗哱"pbMark\"鍙湪鏈�鍚庝竴椤垫樉绀篭r\nReport.ControlByName(\"pbMark\").Visible = (Report.SystemVarValue(3) == Report.SystemVarValue(2));",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPage",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":3.36021,
+					"Top":0.185208,
+					"Width":9.31333,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢靛瓙鍗扮珷锛氬彧鍦ㄦ渶鍚庝竴椤垫樉绀�"
+				}
+			]
+		}
+	],
+	"Control":[
+		{
+			"Type":"PictureBox",
+			"Name":"pbMark",
+			"Left":6.79979,
+			"Top":12.5942,
+			"Width":6.40292,
+			"Height":4.41854,
+			"SizeMode":"EnsureFullView",
+			"TransparentMode":"Overlying",
+			"Picture":"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"
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5n.grf b/public/grf/5n.grf
new file mode 100644
index 0000000..0fbc786
--- /dev/null
+++ b/public/grf/5n.grf
@@ -0,0 +1,270 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5n.姘村嵃鑳屾櫙",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍦ㄦ姤琛ㄦ墦鍗伴〉闈腑鏄剧ず姘村嵃鑳屾櫙鍥俱�傞�氳繃鎶ヨ〃涓诲璞$殑鈥滄按鍗板浘(Watermark)鈥濆睘鎬ф寚瀹氭按鍗拌儗鏅浘銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Watermark":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAIjAiMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqpe3v2LyyY9ytnJ3YxjH4dM9+3pkqm7FRi5OyLdF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xDMcQjgE8eX19hxwewxg8ABlj3KuMro5qtJ03ZhRRRTMwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqje6lHbxkRsrynPfIXGck8+x4yOh5ADEJuxUIObsh95DBdYiaRUnH3Dn5hnnpnOPlJ/4DkEEAjCdZbSVlOY3UYODjjHqMcYHsML/Dt/csd2Z2d2JbOSxPOfXt/d9sbf4dv7m19q+0/Jdvgj7k2MGMj1xjj5cnoQVJ+UqRHi2pHpU6cqStuiSLVriM/vcSKD824YIABzzx6E8gcg5wNwjjimL6okiBkLyDcNxJ54YdM44PBHRcHG391Wlie3kMcg2MvvjHoQeOPl68fd/h2/uZIbSWZCYQGZTgoDhlx0OOO644xgqB8pA8ou9iuSmk5LS501FcqkskKlUkaMdwDt6Aj27AjtjB+7t/c201a6jUhirH1demAR7ehPOOh+783l2qiOSWDktmb9FZP9t4+9b4x1+fGPXqB6N1x05xh9kp1m3Gfkl4z1AHr6njp36c5xtbbXOjJ4equho0VnHWbcZ+SXjPUAevqeOnfpznG1tqQasJZ0ieAruO3IJOD9MA9Q3uMdOHCHMhewqWvYNTsVdGuYyEdBufJwCBjnORgjA5yOg5BCsuL93/AGcfhjH5Yxt9sbf4dv7nrKztQ0/zszQjEw5IHG7p7jngdxnA5BCsszh1R0YfEW9yRifd/wBnH4Yx+WMbfbG3+Hb+56a1G2zgXGMRqMYxjj0wMfkPoKwraymknjVoZFTIJOCmAMd8DHG3HA6DAGAIujopoMXNOyQUUUVocRhX2mm1QSxEtEoG4nAK4xzxjjgemMDoArRv0y+aJ1tpAShO1MDlTzxjA44PGBjB4ADLHtVnPo8BkDIzIu7JUenHA9Og+mBjG1Cubi07xOuNeM4clX7zRooorQ5AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiimSoZIXRW2llIB54/Ig/kRQCH0VhRatcRn97iRQfm3DBAAOeePQnkDkHOBuEe1FK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QQCMmxumtJwNwWIkBw3AAHGenGAD2HCkYABEWXwyO63t6V+qNjULX7Rbkom6ZOUIOD1GR+nqOQOQQCMnT7r7LcAO+yE8OCOBgHB7Yxj0GADwApEXQ1gapB5F15g3bZPm3E9D1POfYHqMYHOFDRuat7yJw0lJOlLqb9MEUYkMgjUOc5YDk9O/4D8hVDSbkNF9mKkNGODg4xn9MHjGAOOACCq6VWndXOacXTk4hRRRTICiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArmbyIW93IgwqqcrgEADqO46AeuPl4IC5i6asrWIGIS4UHCDDHd90ZyD2xz3yOgzjAdImro6cLPlnbuT6XP5tr5Z2hovl2gY46DjAx0I6DoeFOVD9Sj8yxc5wU+cHftAx+X8xzjlTgjGsZ/st0rHaq/dbcMbR37cY2+g+7ggBSIujdQ6Mpzhhg4JB/MdKIvmjYdaPsqqkttzlopXt5BJGdjL7Yx6gjjj5enH3f4dv7np4pUmjEkZyp9sfUEdj7Vy33f8AZx+GMfljG32xt/h2/udrR5S0DwnP7s8AkcDpgDAIwQe2O3y4KLFN62N8XC8ebsaVFFFbHnBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVHPEJ4HjOORwSDwex4IPB54INSUUDTad0cn93/Zx+GMfljG32xt/h2/uei05i1hFnA2grgADGDjGB06eg+i9A+Wzt5jl4huzncvynOAM5H0H4qD1AqSKJIYxHGNqDoM9PYe3t2qIxaZ0168akUramRc6VKj7rcBlJJ2r8uzuAOfQAdRyB0AUx29LtJbVJPNAXcQAoOenGeOPTt0A6DCrfopqCTuRLETlDlYUUUVRgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":7.54063,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5o.grf b/public/grf/5o.grf
new file mode 100644
index 0000000..22c2aa2
--- /dev/null
+++ b/public/grf/5o.grf
@@ -0,0 +1,275 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"5o.姘村嵃鏂囧瓧",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鐢ㄦ诞鍔ㄩ儴浠舵瀹炵幇姘村嵃鏂囧瓧銆俓r\n\r\n璁捐杩囩▼锛歕r\n1銆侀鍏堣繘鍏ラ〉闈㈣鍥撅紱\r\n2銆佺劧鍚庣偣鍑婚紶鏍囧彸閿墦寮�寮瑰嚭寮忓叧鑱旇彍鍗曪紝閫夋嫨鈥滄樉绀烘诞鍔ㄨ妭鈥濓紱\r\n3銆佹渶鍚庡湪娴姩鑺備笂鎻掑叆涓�涓患鍚堟枃瀛楁骞惰缃浉搴斿睘鎬у�硷紱\r\n4銆佸皢姝ょ患鍚堟枃瀛楁鐨勨�滄爣璇�(Tag)鈥濆睘鎬ц缃负鈥淲ATERMARK鈥濓紝杩欐牱鎸囧畾娴姩閮ㄤ欢妗嗕互姘村嵃鏂瑰紡鏄剧ず銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ToNewPage",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	],
+	"Control":[
+		{
+			"Type":"MemoBox",
+			"Name":"MemoBox4",
+			"Tag":"WATERMARK",
+			"ForeColor":"AFBBEB",
+			"Left":1.19063,
+			"Top":4.20688,
+			"Width":18.8119,
+			"Height":12.991,
+			"Font":{
+				"Name":"寰蒋闆呴粦",
+				"Size":360000,
+				"Bold":true,
+				"Charset":134
+			},
+			"TextAngle":20,
+			"Text":"Grid++Report-姘村嵃娴姩閮ㄤ欢妗�"
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/5p.grf b/public/grf/5p.grf
new file mode 100644
index 0000000..4d1f004
--- /dev/null
+++ b/public/grf/5p.grf
@@ -0,0 +1,208 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"5p.鏁存暟鏋氫妇鏂囧瓧鏍煎紡鍖�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄦ暣鏁板瓧娈碘�淪hipVia鈥濅笂瀹氫箟鈥滄牸寮忓寲鈥濆睘鎬э紝灏嗘暣鏁板�兼灇涓炬樉绀轰负瀵瑰簲鏂囧瓧銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,m.Freight,m.ShipVia,ShipAddress\r\nfrom Orders m left join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10300\r\norder by m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy/MM/dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ShipVia",
+					"Type":"Integer",
+					"Format":"{1=涓浗閭斂EMS,2=椤轰赴蹇��,3=鍦嗛�氬揩閫拀"
+				},
+				{
+					"Name":"ShipAddress"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":1.69333
+			},
+			{
+				"Name":"CustomerId",
+				"Width":1.87854
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.20146
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.01083
+			},
+			{
+				"Name":"Freight",
+				"Width":1.40229
+			},
+			{
+				"Name":"ShipVia",
+				"Width":2.59292
+			},
+			{
+				"Name":"ShipAddress",
+				"Width":3.81
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"CustomerId",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"CompanyName",
+					"ShrinkFontToFit":true,
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Freight",
+					"TextAlign":"MiddleRight",
+					"DataField":"Freight"
+				},
+				{
+					"Column":"ShipVia",
+					"ForeColor":"0000FF",
+					"DataField":"ShipVia"
+				},
+				{
+					"Column":"ShipAddress",
+					"WordWrap":true,
+					"ShrinkFontToFit":true,
+					"DataField":"ShipAddress"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CustomerId",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栫爜"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣揣鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Freight",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯垂"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ShipVia",
+					"TextAlign":"MiddleCenter",
+					"Text":"蹇�掑叕鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ShipAddress",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏀惰揣鍦板潃"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Height":2.01083,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":3.175,
+					"Top":0.211667,
+					"Width":11.6152,
+					"Height":1.37583,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹氫箟鏍煎紡鍖栦覆灏嗘暣鏁版樉绀轰负瀵瑰簲鏂囧瓧\r\n蹇�掑叕鍙稿垪瀵瑰簲瀛楁涓烘暣鏁扮被鍨�"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6a.grf b/public/grf/6a.grf
new file mode 100644
index 0000000..83cef13
--- /dev/null
+++ b/public/grf/6a.grf
@@ -0,0 +1,66 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6a.鍚堝悓鎵撳嵃(鍗曚唤_RTF)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢≧TF鏂囧瓧妗嗗疄鐜颁竴娆℃墦鍗颁竴浠藉悎鍚孿r\n1銆佸湪RTF鏂囨湰涓彃鍏ュ姩鎬佹暟鎹煙銆俓r\n2銆佸湪鎶ヨ〃涓诲璞′笂瀹氫箟鈥滄煡璇QL鈥濅笌鈥滄暟鎹簱杩炴帴涓测�濆睘鎬э紝鍦ㄨ璁℃姤琛ㄦ椂鎻愪緵鎶ヨ〃鏁版嵁銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,\r\np.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID=10252 and d.ProductID=20\r\norder by m.OrderDate, m.OrderID",
+	"Printer":{
+		"LeftMargin":2,
+		"RightMargin":2
+	},
+	"Parameter":[
+		{
+			"Name":"OrderID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"CustomerId"
+		},
+		{
+			"Name":"CompanyName"
+		},
+		{
+			"Name":"OrderDate",
+			"DataType":"DateTime"
+		},
+		{
+			"Name":"ProductName"
+		},
+		{
+			"Name":"UnitPrice",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"Quantity",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"Amount",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		}
+	],
+	"ReportHeader":[
+		{
+			"CanGrow":true,
+			"Height":11.5888,
+			"Control":[
+				{
+					"Type":"RichTextBox",
+					"Name":"RichTextBox1",
+					"Dock":"Fill",
+					"CanGrow":true,
+					"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fmodern\\fprq1\\fcharset134 \\'bf\\'ac\\'cc\\'e5_GB2312;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}{\\f2\\fnil\\fprq2\\fcharset134 \\'ba\\'da\\'cc\\'e5;}{\\f3\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f4\\fswiss\\fprq2\\fcharset0 MS Shell Dlg 2;}{\\f5\\fmodern\\fprq6\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\r\n{\\colortbl ;\\red255\\green0\\blue0;\\red255\\green255\\blue255;\\red0\\green0\\blue0;}\r\n{\\*\\generator Msftedit 5.41.15.1515;}\\viewkind4\\uc1\\pard\\nowidctlpar\\qr\\lang2052\\kerning2\\f0\\fs24\\'ba\\'cf\\'cd\\'ac\\'b1\\'e0\\'ba\\'c5\\'a3\\'ba\\lang1033\\f1 XSWEB\\cf1\\lang2052\\f0 -[#\\lang1033\\f1 OrderID\\lang2052\\f0 #]\\lang1033\\f1\\par\r\n\\pard\\nowidctlpar\\qc\\cf0\\lang2052\\f2\\fs44\\'d1\\'dd\\'ca\\'be\\'b4\\'f2\\'d3\\'a1\\'ba\\'cf\\lang1033\\f1  \\lang2052\\f2\\'cd\\'ac\\par\r\n\\pard\\nowidctlpar\\b\\f3\\fs24\\'cb\\'b5\\'c3\\'f7\\'a3\\'ba\\'ca\\'fd\\'be\\'dd\\'b2\\'bb\\'be\\'df\\'d3\\'d0\\'d5\\'e6\\'ca\\'b5\\'d0\\'d4\\'a3\\'ac\\'bd\\'ab\\'b6\\'af\\'cc\\'ac\\'ca\\'fd\\'be\\'dd\\'b1\\'ea\\'bc\\'c7\\'ce\\'aa\\'ba\\'ec\\'c9\\'ab\\'bd\\'f6\\'ce\\'aa\\'cd\\'bb\\'b3\\'f6\\'cf\\'d4\\'ca\\'be\\'a1\\'a3\\'b8\\'f1\\'ca\\'bd\\'ce\\'c4\\'b1\\'be\\'bf\\'c9\\'d2\\'d4\\'d4\\'daWord\\'bb\\'f2\\'d0\\'b4\\'d7\\'d6\\'b0\\'e5\\'b3\\'cc\\'d0\\'f2\\'d6\\'d0\\'b1\\'e0\\'bc\\'ad\\'ba\\'c3\\'a3\\'ac\\'c8\\'bb\\'ba\\'f3\\'d5\\'b3\\'cc\\'f9\\'bb\\'f2\\'d4\\'d8\\'c8\\'eb\\'b5\\'bd\\'b1\\'a8\\'b1\\'ed\\'b5\\'c4RTF\\'b1\\'e0\\'bc\\'ad\\'b6\\'d4\\'bb\\'b0\\'bf\\'f2\\'d6\\'d0\\'a3\\'ac\\'b6\\'af\\'cc\\'ac\\'ca\\'fd\\'be\\'dd\\'bf\\'c9\\'d2\\'d4\\'d3\\'c3\\ldblquote\\'b2\\'e5\\'c8\\'eb\\'d3\\'f2\\rdblquote\\'d3\\'eb\\ldblquote\\'b1\\'ed\\'b4\\'ef\\'ca\\'bd\\rdblquote\\'b0\\'b4\\'c5\\'a5\\'b2\\'e5\\'c8\\'eb\\'a3\\'ac\\'d5\\'e2\\'b7\\'bd\\'c3\\'e6\\'d3\\'eb\\'d7\\'db\\'ba\\'cf\\'ce\\'c4\\'d7\\'d6\\'bf\\'f2\\'ca\\'c7\\'cd\\'ea\\'c8\\'ab\\'d2\\'bb\\'d6\\'c2\\'b5\\'c4\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\qc\\cf1\\fs44\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\cf0\\b0\\f2\\fs24\\'bc\\'d7    \\'b7\\'bd\\cf1\\'a3\\'ba\\ul [#\\lang1033\\f1 CompanyName\\lang2052\\f2 #]\\par\r\n\\cf0\\ulnone\\'d2\\'d2    \\'b7\\'bd\\'a3\\'ba\\ul\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be\\f3  \\lang1033\\f1\\par\r\n\\pard\\nowidctlpar\\fi420\\sl360\\slmult1\\qj\\lang2052\\ulnone\\f3\\fs21\\'be\\'ad\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'c6\\'bd\\'b5\\'c8\\'d3\\'d1\\'ba\\'c3\\'d0\\'ad\\'c9\\'cc\\'a3\\'ac\\'d2\\'d2\\'b7\\'bd\\'cd\\'ac\\'d2\\'e2\\'bd\\'ab\\'c6\\'e4\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4\\'a1\\'b6\\cf1 [#\\lang1033\\f1 ProductName\\lang2052\\f3 #]\\cf0\\'a1\\'b7\\'b2\\'bb\\'cf\\'de\\'b7\\'d6\\'b7\\'a2\\'ca\\'fd\\'c1\\'bf\\'d0\\'ed\\'bf\\'c9\\'ca\\'da\\'c8\\'a8\\'cf\\'fa\\'ca\\'db\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a3\\'ac\\'b2\\'a2\\'be\\'cd\\'d3\\'d0\\'b9\\'d8\\'be\\'df\\'cc\\'e5\\'ca\\'c2\\'cf\\'ee\\'b4\\'ef\\'b3\\'c9\\'d2\\'bb\\'d6\\'c2\\'c7\\'a9\\'b6\\'a9\\'c8\\'e7\\'cf\\'c2\\'ba\\'cf\\'cd\\'ac\\'a3\\'ba \\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'d2\\'bb.\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cf\\'fa\\'ca\\'db\\'b2\\'fa\\'c6\\'b7\\'b9\\'e6\\'b8\\'f1\\'d3\\'eb\\'bd\\'f0\\'b6\\'ee\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cf\\'fa\\'ca\\'db\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'b5\\'c4\\'a1\\'b6\\cf1 [#\\lang1033\\f1 ProductName\\lang2052\\f3 #]\\cf0\\'a1\\'b7\\'b2\\'bb\\'cf\\'de\\'b7\\'d6\\'b7\\'a2\\'ca\\'fd\\'c1\\'bf\\'d0\\'ed\\'bf\\'c9\\'ca\\'da\\'c8\\'a8\\ul  \\cf1 [#\\lang1033\\f1 Quantity\\lang2052\\f3 #] \\cf0\\ulnone\\'cc\\'d7\\'a3\\'ac\\'b5\\'a5\\'bc\\'db\\'ce\\'aa\\ul  \\cf1 [#\\lang1033\\f1 UnitPrice\\lang2052\\f3 #]\\cf0  \\ulnone\\'d4\\'aa\\'a1\\'a3\\par\r\n2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d2\\'d4\\'d7\\'dc\\'bd\\'f0\\'b6\\'ee\\'c8\\'cb\\'c3\\'f1\\'b1\\'d2\\ul  \\cf1 [#\\lang1033\\f1 Amount\\lang2052\\f3 #]\\cf0  \\cf2\\b  \\cf0\\ulnone\\b0\\'d4\\'aa\\'a3\\'a8\\'b4\\'f3\\'d0\\'b4\\'a3\\'ba\\ul  \\cf1\\b [#Amount:$$#]\\cf0  \\ulnone\\b0\\'a3\\'a9\\'b9\\'ba\\'c2\\'f2\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cb\\'f9\\'d6\\'b8\\'b6\\'a8\\'b5\\'c4\\'b2\\'fa\\'c6\\'b7\\'a1\\'a3\\par\r\n3.\\tab\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d3\\'eb\\'b5\\'a5\\'bb\\'fa\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'ac\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'c8\\'c3\\'d2\\'bb\\'b8\\'f6\\'be\\'d6\\'d3\\'f2\\'cd\\'f8\\'b7\\'b6\\'ce\\'a7\\'c4\\'da\\'b5\\'c4\\'b5\\'e7\\'c4\\'d4\\'bf\\'c9\\'d2\\'d4\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'c4\\'a3\\'b0\\'e5\\'a3\\'ac\\'b5\\'a5\\'bb\\'fa\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'c8\\'c3\\'b2\\'e5\\'bd\\'d3\\'b1\\'be\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'b5\\'c4\\'b5\\'e7\\'c4\\'d4\\'bf\\'c9\\'d2\\'d4\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'c4\\'a3\\'b0\\'e5\\'a1\\'a3\\par\r\n4.\\tab\\'bc\\'d7\\'b7\\'bd\\'d3\\'a6\\'cd\\'d7\\'c9\\'c6\\'b1\\'a3\\'b9\\'dc\\'ba\\'c3\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'ac\\'d2\\'c5\\'ca\\'a7\\'ba\\'f3\\'d2\\'d2\\'b7\\'bd\\'b2\\'bb\\'bb\\'e1\\'b2\\'b9\\'b7\\'a2\\'a1\\'a3\\'c8\\'e7\\'d3\\'d0\\'cb\\'f0\\'bb\\'b5\\'bf\\'c9\\'b8\\'fc\\'bb\\'bb\\'a3\\'ac\\'d3\\'c3\\'bb\\'a7\\'d0\\'eb\\'bc\\'c4\\'bb\\'d8\\'cb\\'f0\\'bb\\'b5\\'b5\\'c4\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'bb\\'d4\\'da\\'b9\\'ba\\'c2\\'f2\\'d6\\'ae\\'c8\\'d5\\'c6\\'f06\\'b8\\'f6\\'d4\\'c2\\'d6\\'ae\\'c4\\'da\\'b5\\'c4\\'b7\\'c7\\'c8\\'cb\\'ce\\'aa\\'cb\\'f0\\'bb\\'b5\\'c3\\'e2\\'b7\\'d1\\'b8\\'fc\\'bb\\'bb\\'a3\\'ac\\'c6\\'e4\\'cb\\'fc\\'c7\\'e9\\'bf\\'f6\\'d2\\'bb\\'d6\\'a7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d0\\'eb\\'d6\\'a7\\'b8\\'b6100\\'d4\\'aa\\'b2\\'c4\\'c1\\'cf\\'b7\\'d1\\'a1\\'a3\\par\r\n5.\\tab\\'d2\\'d2\\'b7\\'bd\\'b8\\'f9\\'be\\'dd\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4\\'d7\\'a2\\'b2\\'e1\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'b2\\'fa\\'c9\\'fa\\'d2\\'bb\\'b8\\'f6\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'a3\\'ac\\'b2\\'a2\\'bd\\'ab\\'b8\\'c3\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'b7\\'a2\\'cb\\'cd\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a1\\'a3\\par\r\n6.\\tab\\'bc\\'d7\\'b7\\'bd\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'ca\\'b1\\'b1\\'d8\\'d0\\'eb\\'d4\\'da\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d5\\'fd\\'c8\\'b7\\'b2\\'e5\\'bd\\'d3\\'d4\\'da\\'b5\\'e7\\'c4\\'d4\\'ca\\'b1\\'bd\\'f8\\'d0\\'d0\\'a3\\'ac\\'b7\\'f1\\'d4\\'f2\\'b1\\'a8\\'b1\\'ed\\'d4\\'cb\\'d0\\'d0\\'ca\\'b1\\'b2\\'bb\\'c4\\'dc\\'cf\\'fb\\'b3\\'fd\\'ca\\'d4\\'d3\\'c3\\'b1\\'ea\\'d6\\'be\\'ce\\'c4\\'d7\\'d6\\'a1\\'a3\\'bc\\'d7\\'b7\\'bd\\'b0\\'b4\\'d5\\'d5\\'d7\\'a2\\'b2\\'e1\\'d2\\'aa\\'c7\\'f3\\'a3\\'ac\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4WEB\\'c8\\'ed\\'bc\\'fe\\'cf\\'b5\\'cd\\'b3\\'bf\\'c9\\'d2\\'d4\\'b2\\'bf\\'ca\\'f0\\'b5\\'bd\\'b2\\'bb\\'cf\\'de\\'ca\\'fd\\'c1\\'bf\\'b5\\'c4\\'c8\\'ce\\'ba\\'ceWEB\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'c9\\'cf\\'a1\\'a3\\par\r\n7.\\tab\\'d2\\'d2\\'b7\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'d7\\'a2\\'b2\\'e1\\'b7\\'bd\\'c3\\'e6\\'b5\\'c4\\'bc\\'bc\\'ca\\'f5\\'d6\\'b8\\'b5\\'bc\\'a3\\'ac\\'d3\\'d0\\'b9\\'d8\\'b2\\'fa\\'c6\\'b7\\'d7\\'a2\\'b2\\'e1\\'b7\\'bd\\'c3\\'e6\\'b5\\'c4\\'be\\'df\\'cc\\'e5\\'bd\\'e2\\'ca\\'cd\\'c8\\'a8\\'d4\\'da\\'d2\\'d2\\'b7\\'bd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'b6\\'fe.\\'b8\\'b6\\'bf\\'ee\\'b7\\'bd\\'ca\\'bd\\'bc\\'b0\\'ca\\'b1\\'bc\\'e4\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj\\b0 1.\\tab\\'bc\\'d7\\'b7\\'bd\\'d4\\'da\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cb\\'ab\\'b7\\'bd\\'c7\\'a9\\'d7\\'d6\\'b8\\'c7\\'d5\\'c2\\'ba\\'f3\\'c8\\'fd\\'c8\\'d5\\'d6\\'ae\\'c4\\'da\\'b8\\'b6\\'bf\\'ee\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li721\\qj 2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d2\\'d4\\'d2\\'f8\\'d0\\'d0\\'bb\\'e3\\'bf\\'ee\\'b7\\'bd\\'ca\\'bd\\'d6\\'a7\\'b8\\'b6\\'d2\\'d2\\'b7\\'bd\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'bf\\'ee\\'a1\\'a3\\'d2\\'d2\\'b7\\'bd\\'b9\\'ab\\'cb\\'be\\'d5\\'ca\\'bb\\'a7\\'c8\\'e7\\'cf\\'c2\\'a3\\'ba\\line\\'bf\\'aa\\'bb\\'a7\\'d2\\'f8\\'d0\\'d0\\'a3\\'ba\\'b9\\'e3\\'d6\\'dd\\'d2\\'f8\\'d0\\'d0\\'a3\\'a8\\'d0\\'d0\\'ba\\'c5\\'a3\\'ba313581000013\\'a3\\'a9\\line\\'bf\\'aa\\'bb\\'a7\\'d5\\'cb\\'ba\\'c5\\'a3\\'ba800143630609022 \\line\\'bf\\'aa\\'bb\\'a7\\'c3\\'fb\\'b3\\'c6\\'a3\\'ba\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj 3.\\tab\\'cc\\'d8\\'b1\\'f0\\'cc\\'e1\\'ca\\'be\\'a3\\'ba\\'d2\\'d2\\'b7\\'bd\\'b5\\'c4\\'bf\\'aa\\'bb\\'a7\\'d2\\'f8\\'d0\\'d0\\'b2\\'bb\\'d3\\'c3\\'d0\\'b4\\'d6\\'a7\\'d0\\'d0\\'c3\\'fb\\'b3\\'c6\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'bf\\'c9\\'d2\\'d4\\'bd\\'ab\\'d0\\'d0\\'ba\\'c5(313581000013)\\'cc\\'e1\\'b9\\'a9\\'b8\\'f8\\'bb\\'e3\\'bf\\'ee\\'d2\\'f8\\'d0\\'d0\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c8\\'fd.\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'c9\\'fa\\'b3\\'c9\\'d3\\'eb\\'b7\\'a2\\'cb\\'cd\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj\\tx780\\b0 1.\\tab\\'bc\\'d7\\'b7\\'bd\\'d4\\'da\\'bb\\'e3\\'bf\\'ee\\'ba\\'f3\\'cf\\'f2\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'d7\\'a2\\'b2\\'e1\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'a3\\'ac\\'d2\\'d2\\'b7\\'bd\\'be\\'dd\\'b4\\'cb\\'c9\\'fa\\'b3\\'c9\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'d6\\'c6\\'d7\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj 2.\\tab\\'d2\\'d2\\'b7\\'bd\\'ca\\'d5\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'b8\\'b6\\'bf\\'ee\\'ba\\'f3\\'d4\\'da\\'c1\\'bd\\'b8\\'f6\\'b9\\'a4\\'d7\\'f7\\'c8\\'d5\\'d6\\'ae\\'c4\\'da\\'bd\\'ab\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'b7\\'a2\\'cb\\'cd\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4EMAIL\\'d3\\'ca\\'cf\\'e4\\'a1\\'a3 \\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a2\\'ba\\'cf\\'cd\\'ac\\'d4\\'ad\\'bc\\'fe\\'d3\\'eb\\'b7\\'a2\\'c6\\'b1\\'d2\\'d4\\'bf\\'ec\\'b5\\'dd\\'b7\\'bd\\'ca\\'bd\\'bc\\'c4\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'cb\\'c4.\\'cb\\'ab\\'b7\\'bd\\'b5\\'c4\\'c8\\'a8\\'c0\\'fb\\'a1\\'a2\\'d2\\'e5\\'ce\\'f1\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj\\tx780\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'bd\\'f6\\'d3\\'c3\\'d4\\'da\\'bc\\'d7\\'b7\\'bd\\'d7\\'d4\\'c9\\'ed\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4\\'c8\\'ed\\'bc\\'fe\\'d6\\'d0\\'a3\\'ac\\'b2\\'bb\\'b5\\'c3\\'cf\\'f2\\'c8\\'ce\\'ba\\'ce\\'b5\\'da\\'c8\\'fd\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b4\\'cb\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a3\\f0\\fs24\\par\r\n\\f3\\fs21 2.\\tab\\'c8\\'f4\\'d2\\'d2\\'b7\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'b3\\'f6\\'ca\\'db\\'b5\\'c4\\'c8\\'ed\\'bc\\'fe\\'cf\\'b5\\'cd\\'b3\\'b4\\'e6\\'d4\\'da\\'d6\\'aa\\'ca\\'b6\\'b2\\'fa\\'c8\\'a8\\'be\\'c0\\'b7\\'d7\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'b2\\'bb\\'b3\\'d0\\'b5\\'a3\\'c8\\'ce\\'ba\\'ce\\'c1\\'ac\\'b4\\'f8\\'d4\\'f0\\'c8\\'ce\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj 3.\\tab\\'d2\\'d2\\'b7\\'bd\\'ce\\'aa\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'c8\\'ed\\'bc\\'fe\\'cf\\'c2\\'d4\\'d8\\'b5\\'d8\\'d6\\'b7\\'bc\\'b0\\'cf\\'e0\\'d3\\'a6\\'d7\\'a2\\'b2\\'e1\\'c2\\'eb\\'a1\\'a3\\par\r\n4.\\tab\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'bb\\'a5\\'cf\\'e0\\'d7\\'f1\\'ca\\'d8\\'c8\\'ed\\'bc\\'fe\\'ca\\'b9\\'d3\\'c3\\'d0\\'ed\\'bf\\'c9\\'d0\\'ad\\'d2\\'e9\\'a1\\'a3\\par\r\n5.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'d4\\'da\\'d2\\'d2\\'b7\\'bd\\'b7\\'fe\\'ce\\'f1\\'cd\\'f8\\'d5\\'be\\'c9\\'cf\\'b0\\'d1\\'bc\\'d7\\'b7\\'bd\\'c1\\'d0\\'ce\\'aa\\'b3\\'c9\\'b9\\'a6\\'b0\\'b8\\'c0\\'fd\\'bf\\'cd\\'bb\\'a7\\'a3\\'ac\\'b3\\'fd\\'b7\\'c7\\'bc\\'d7\\'b7\\'bd\\'ca\\'e9\\'c3\\'e6\\'cc\\'e1\\'b3\\'f6\\'d2\\'aa\\'c7\\'f3\\'b2\\'bb\\'c4\\'dc\\'c1\\'d0\\'b3\\'f6\\'a1\\'a3 \\par\r\n6.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'cb\\'e6\\'ca\\'b1\\'b5\\'f7\\'d5\\'fb\\'b2\\'fa\\'c6\\'b7\\'b5\\'c4\\'ca\\'d0\\'b3\\'a1\\'b1\\'ea\\'d7\\'bc\\'bc\\'db\\'b8\\'f1\\'a3\\'ac\\'b2\\'bb\\'b9\\'dc\\'ca\\'c7\\'d5\\'c7\\'bc\\'db\\'bb\\'b9\\'ca\\'c7\\'bd\\'b5\\'bc\\'db\\'a3\\'ac\\'b6\\'d4\\'bc\\'d7\\'b7\\'bd\\'b6\\'bc\\'c3\\'bb\\'d3\\'d0\\'d3\\'b0\\'cf\\'ec\\'a1\\'a3\\'bc\\'b4\\'a3\\'ba\\'c8\\'e7\\'b9\\'fb\\'d5\\'c7\\'bc\\'db\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'ce\\'de\\'d0\\'eb\\'b2\\'b9\\'c7\\'ae\\'a3\\'bb\\'c8\\'e7\\'b9\\'fb\\'bd\\'b5\\'bc\\'db\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d2\\'b2\\'b2\\'bb\\'b5\\'c3\\'d2\\'aa\\'c7\\'f3\\'cd\\'cb\\'bf\\'ee\\'a1\\'a3\\par\r\n7.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'b2\\'bb\\'b6\\'a8\\'c6\\'da\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'b5\\'c4\\'c1\\'aa\\'cf\\'b5Email\\'b7\\'a2\\'cb\\'cd\\'d3\\'d0\\'b9\\'d8\\'b7\\'fe\\'ce\\'f1\\'b6\\'af\\'cc\\'ac\\'a1\\'a2\\'b2\\'fa\\'c6\\'b7\\'bd\\'e9\\'c9\\'dc\\'b5\\'c8\\'d0\\'c5\\'cf\\'a2\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'ce\\'e5.\\'ca\\'db\\'ba\\'f3\\'b7\\'fe\\'ce\\'f1\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj\\tx839\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cd\\'a8\\'b9\\'fd\\'b5\\'e7\\'bb\\'b0\\'a1\\'a2EMAIL\\'b7\\'bd\\'ca\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'c3\\'e2\\'b7\\'d1\\'ce\\'de\\'cf\\'de\\'c6\\'da\\'bc\\'bc\\'ca\\'f5\\'d6\\'a7\\'b3\\'d6\\'b7\\'fe\\'ce\\'f1\\'a3\\'ac\\'d0\\'ad\\'d6\\'fa\\'bc\\'d7\\'b7\\'bd\\'bd\\'e2\\'be\\'f6\\'b1\\'be\\'c8\\'ed\\'bc\\'fe\\'d4\\'da\\'ca\\'b9\\'d3\\'c3\\'d6\\'d0\\'b3\\'f6\\'cf\\'d6\\'b5\\'c4\\'ce\\'ca\\'cc\\'e2\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj 2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d3\\'d0\\'cc\\'e1\\'b9\\'a9\\'ce\\'ca\\'cc\\'e2\\'cf\\'ea\\'be\\'a1\\'c3\\'e8\\'ca\\'f6\\'b1\\'a8\\'b8\\'e6\\'d3\\'eb\\'b2\\'e2\\'ca\\'d4\\'ca\\'fd\\'be\\'dd\\'b5\\'c4\\'d2\\'e5\\'ce\\'f1\\'a3\\'ac\\'d2\\'d4\\'b7\\'bd\\'b1\\'e3\\'d2\\'d2\\'b7\\'bd\\'d6\\'d8\\'cf\\'d6\\'d3\\'eb\\'bd\\'e2\\'be\\'f6\\'ce\\'ca\\'cc\\'e2\\'a1\\'a3\\par\r\n3.\\tab\\'d2\\'d2\\'b7\\'bd\\'c8\\'ed\\'bc\\'fe\\'ca\\'c7\\'cd\\'a8\\'d3\\'c3\\'c8\\'ed\\'bc\\'fe\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d0\\'e8\\'d2\\'aa\\'b8\\'c4\\'b6\\'af\\'bb\\'f2\\'d0\\'e8\\'d2\\'aa\\'ce\\'af\\'cd\\'d0\\'d2\\'d2\\'b7\\'bd\\'bd\\'f8\\'d0\\'d0\\'b6\\'a8\\'d6\\'c6\\'b6\\'fe\\'b4\\'ce\\'bf\\'aa\\'b7\\'a2\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d3\\'a6\\'cd\\'ac\\'d2\\'d2\\'b7\\'bd\\'c1\\'ed\\'b6\\'a9\\'d0\\'ad\\'d2\\'e9\\'a3\\'ac\\'c1\\'ed\\'ca\\'d5\\'bf\\'aa\\'b7\\'a2\\'b7\\'d1\\'d3\\'c3\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c1\\'f9.\\'c8\\'ed\\'bc\\'fe\\'c9\\'fd\\'bc\\'b6\\par\r\n\\pard\\nowidctlpar\\fi420\\sl360\\slmult1\\qj\\b0\\'bc\\'d7\\'b7\\'bd\\'bf\\'c9\\'d2\\'d4\\'c3\\'e2\\'b7\\'d1\\'c9\\'fd\\'bc\\'b6\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'b9\\'ba\\'c2\\'f2\\'b0\\'e6\\'b1\\'be(5.0)\\'b6\\'d4\\'d3\\'a6\\'b5\\'c4\\'b8\\'fc\\'d0\\'c2\\cf3\\'d0\\'a1\\'b0\\'e6\\'b1\\'be(\\'c8\\'e7\\'a3\\'ba5.2\\'a1\\'a25.5\\'b5\\'c8)\\'a1\\'a3\\'c8\\'e7\\'b9\\'fb\\'d2\\'d2\\'b7\\'bd\\'c8\\'ed\\'bc\\'fe\\'d3\\'d0\\'d0\\'c2\\'b5\\'c4\\'b4\\'f3\\'b0\\'e6\\'b1\\'be(6.0\\'bc\\'b0\\'d2\\'d4\\'ba\\'f3\\'b0\\'e6\\'b1\\'be)\\cf0\\'cd\\'c6\\'b3\\'f6\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'c8\\'e7\\'d0\\'e8\\'c9\\'fd\\'bc\\'b6\\'b5\\'bd\\'d0\\'c2\\'b0\\'e6\\'b1\\'be\\'a3\\'ac\\'d4\\'da\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'c7\\'a9\\'b6\\'a9\\'c8\\'d5\\'c8\\'fd\\'b8\\'f6\\'d4\\'c2\\'c4\\'da\\'b2\\'b9\\'b2\\'ee\\'bc\\'db\\'bd\\'f8\\'d0\\'d0\\'c9\\'fd\\'bc\\'b6\\'a3\\'ac\\'b7\\'f1\\'d4\\'f2\\'b0\\'b4\\'d2\\'d2\\'b7\\'bd\\'d6\\'c6\\'b6\\'a8\\'b5\\'c4\\'c9\\'fd\\'bc\\'b6\\'bc\\'db\\'b8\\'f1\\'bd\\'f8\\'d0\\'d0\\'c9\\'fd\\'bc\\'b6\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c6\\'df.\\'c6\\'e4\\'cb\\'fc\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj\\tx839\\b0 1.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'b9\\'b2\\'b7\\'a1\\'d2\\'b3\\'a3\\'ac\\'d2\\'bb\\'ca\\'bd\\'c1\\'bd\\'b7\\'dd\\'a3\\'ac\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'b8\\'f7\\'d6\\'b4\\'d2\\'bb\\'b7\\'dd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj 2.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'b4\\'ab\\'d5\\'e6\\'bc\\'fe\\'d3\\'eb\\'d4\\'ad\\'bc\\'fe\\'be\\'df\\'d3\\'d0\\'cd\\'ac\\'b5\\'c8\\'d0\\'a7\\'c1\\'a6\\'a1\\'a3\\par\r\n3.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'be\\'ad\\'cb\\'ab\\'b7\\'bd\\'bc\\'d3\\'b8\\'c7\\'b9\\'ab\\'d5\\'c2\\'bc\\'b0\\'ca\\'da\\'c8\\'a8\\'b4\\'fa\\'b1\\'ed\\'c7\\'a9\\'d7\\'d6\\'ba\\'f3\\'c9\\'fa\\'d0\\'a7\\'a3\\'ac\\'be\\'df\\'d3\\'d0\\'cd\\'ac\\'b5\\'c8\\'b7\\'a8\\'c2\\'c9\\'d0\\'a7\\'c1\\'a6\\'a1\\'a3\\par\r\n4.\\tab\\'b1\\'be\\'d0\\'ad\\'d2\\'e9\\'ce\\'b4\\'be\\'a1\\'ca\\'c2\\'d2\\'cb\\'a3\\'ac\\'cb\\'ab\\'b7\\'bd\\'d3\\'d1\\'ba\\'c3\\'d0\\'ad\\'c9\\'cc\\'bd\\'e2\\'be\\'f6\\'a1\\'a3\\'c8\\'e7\\'b9\\'fb\\'d0\\'ad\\'c9\\'cc\\'b2\\'bb\\'b3\\'c9\\'a3\\'ac\\'bf\\'c9\\'cc\\'e1\\'c7\\'eb\\'b9\\'e3\\'d6\\'dd\\'d6\\'d9\\'b2\\'c3\\'ce\\'af\\'d4\\'b1\\'bb\\'e1\\'bd\\'f8\\'d0\\'d0\\'d6\\'d9\\'b2\\'c3\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi473\\sl360\\slmult1\\qj\\par\r\n\\pard\\nowidctlpar\\fi420\\sl-760\\slmult0\\qj\\tx4536\\'bc\\'d7\\'b7\\'bd\\'b8\\'c7\\'d5\\'c2\\'a3\\'ba\\cf1\\ul [#\\lang1033\\f4 CompanyName\\lang2052\\f3 #]\\cf0\\ulnone\\tab\\'d2\\'d2\\'b7\\'bd\\'b8\\'c7\\'d5\\'c2\\'a3\\'ba\\ul\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be \\ulnone\\par\r\n\\'bc\\'d7\\'b7\\'bd\\'b4\\'fa\\'b1\\'ed\\'a3\\'ba\\ul                  \\ulnone\\tab\\'d2\\'d2\\'b7\\'bd\\'b4\\'fa\\'b1\\'ed\\'a3\\'ba\\ul                         \\ulnone\\par\r\n\\'c8\\'d5    \\'c6\\'da\\'a3\\'ba\\ul  \\cf1 [#SystemVar(CurrentDateTime):yyyy#]\\cf0  \\ulnone\\'c4\\'ea\\ul  \\cf1 [#SystemVar(CurrentDateTime):\\lang1033\\f4 M\\lang2052\\f3 #]\\cf0  \\ulnone\\'d4\\'c2\\ul  \\cf1 [#SystemVar(CurrentDateTime):d#]\\cf0  \\ulnone\\'c8\\'d5           \\'c8\\'d5    \\'c6\\'da\\'a3\\'ba\\ul        \\ulnone\\'c4\\'ea\\ul       \\ulnone\\'d4\\'c2\\ul       \\ulnone\\'c8\\'d5\\par\r\n\\par\r\n\\pard\\par\r\n\\kerning0\\f5\\fs20\\par\r\n\\kerning2\\f0\\fs24\\par\r\n}\r\n"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6b.grf b/public/grf/6b.grf
new file mode 100644
index 0000000..5830d07
--- /dev/null
+++ b/public/grf/6b.grf
@@ -0,0 +1,96 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6b.鍚堝悓鎵撳嵃(澶氫唤_RTF)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢≧TF鏂囧瓧妗嗗疄鐜颁竴娆℃墦鍗板浠藉悎鍚孿r\n1銆佸簲璇ュ湪鏄庣粏缃戞牸涓樉绀烘姤琛ㄥ唴瀹广�俓r\n2銆佸湪RTF鏂囨湰涓彃鍏ュ姩鎬佹暟鎹煙銆俓r\n3銆佸湪鏄庣粏缃戞牸鐨勮褰曢泦涓婂畾涔夆�滄煡璇QL鈥濅笌鈥滄暟鎹簱杩炴帴涓测�濆睘鎬э紝鍦ㄨ璁℃姤琛ㄦ椂鎻愪緵鎶ヨ〃鏁版嵁銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":2,
+		"RightMargin":2
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,\r\np.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10384 and D.ProductID=20\r\norder by m.OrderID,p.ProductName",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":17.0127
+			}
+		],
+		"ColumnContent":{
+			"Height":11.1919,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"RichTextBox",
+							"Name":"RichTextBox2",
+							"Dock":"Fill",
+							"CanGrow":true,
+							"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fmodern\\fprq1\\fcharset134 \\'bf\\'ac\\'cc\\'e5_GB2312;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}{\\f2\\fnil\\fprq2\\fcharset134 \\'ba\\'da\\'cc\\'e5;}{\\f3\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f4\\fswiss\\fprq2\\fcharset0 MS Shell Dlg 2;}}\r\n{\\colortbl ;\\red255\\green0\\blue0;\\red255\\green255\\blue255;\\red0\\green0\\blue0;}\r\n{\\*\\generator Msftedit 5.41.15.1515;}\\viewkind4\\uc1\\pard\\nowidctlpar\\qr\\lang2052\\kerning2\\f0\\fs24\\'ba\\'cf\\'cd\\'ac\\'b1\\'e0\\'ba\\'c5\\'a3\\'ba\\lang1033\\f1 XSWEB\\cf1\\lang2052\\f0 -[#\\lang1033\\f1 OrderID\\lang2052\\f0 #]\\lang1033\\f1\\par\r\n\\pard\\nowidctlpar\\qc\\cf0\\lang2052\\f2\\fs44\\'d1\\'dd\\'ca\\'be\\'b4\\'f2\\'d3\\'a1\\'ba\\'cf\\lang1033\\f1  \\lang2052\\f2\\'cd\\'ac\\par\r\n\\pard\\nowidctlpar\\b\\f3\\fs24\\'cb\\'b5\\'c3\\'f7\\'a3\\'ba\\'ca\\'fd\\'be\\'dd\\'b2\\'bb\\'be\\'df\\'d3\\'d0\\'d5\\'e6\\'ca\\'b5\\'d0\\'d4\\'a3\\'ac\\'bd\\'ab\\'b6\\'af\\'cc\\'ac\\'ca\\'fd\\'be\\'dd\\'b1\\'ea\\'bc\\'c7\\'ce\\'aa\\'ba\\'ec\\'c9\\'ab\\'bd\\'f6\\'ce\\'aa\\'cd\\'bb\\'b3\\'f6\\'cf\\'d4\\'ca\\'be\\'a1\\'a3\\'b8\\'f1\\'ca\\'bd\\'ce\\'c4\\'b1\\'be\\'bf\\'c9\\'d2\\'d4\\'d4\\'daWord\\'bb\\'f2\\'d0\\'b4\\'d7\\'d6\\'b0\\'e5\\'b3\\'cc\\'d0\\'f2\\'d6\\'d0\\'b1\\'e0\\'bc\\'ad\\'ba\\'c3\\'a3\\'ac\\'c8\\'bb\\'ba\\'f3\\'d5\\'b3\\'cc\\'f9\\'bb\\'f2\\'d4\\'d8\\'c8\\'eb\\'b5\\'bd\\'b1\\'a8\\'b1\\'ed\\'b5\\'c4RTF\\'b1\\'e0\\'bc\\'ad\\'b6\\'d4\\'bb\\'b0\\'bf\\'f2\\'d6\\'d0\\'a3\\'ac\\'b6\\'af\\'cc\\'ac\\'ca\\'fd\\'be\\'dd\\'bf\\'c9\\'d2\\'d4\\'d3\\'c3\\ldblquote\\'b2\\'e5\\'c8\\'eb\\'d3\\'f2\\rdblquote\\'d3\\'eb\\ldblquote\\'b1\\'ed\\'b4\\'ef\\'ca\\'bd\\rdblquote\\'b0\\'b4\\'c5\\'a5\\'b2\\'e5\\'c8\\'eb\\'a3\\'ac\\'d5\\'e2\\'b7\\'bd\\'c3\\'e6\\'d3\\'eb\\'d7\\'db\\'ba\\'cf\\'ce\\'c4\\'d7\\'d6\\'bf\\'f2\\'ca\\'c7\\'cd\\'ea\\'c8\\'ab\\'d2\\'bb\\'d6\\'c2\\'b5\\'c4\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\qc\\cf1\\fs44\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\cf0\\b0\\f2\\fs24\\'bc\\'d7    \\'b7\\'bd\\cf1\\'a3\\'ba\\ul [#\\lang1033\\f1 CompanyName\\lang2052\\f2 #]\\par\r\n\\cf0\\ulnone\\'d2\\'d2    \\'b7\\'bd\\'a3\\'ba\\ul\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be\\f3  \\lang1033\\f1\\par\r\n\\pard\\nowidctlpar\\fi420\\sl360\\slmult1\\qj\\lang2052\\ulnone\\f3\\fs21\\'be\\'ad\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'c6\\'bd\\'b5\\'c8\\'d3\\'d1\\'ba\\'c3\\'d0\\'ad\\'c9\\'cc\\'a3\\'ac\\'d2\\'d2\\'b7\\'bd\\'cd\\'ac\\'d2\\'e2\\'bd\\'ab\\'c6\\'e4\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4\\'a1\\'b6\\cf1 [#\\lang1033\\f1 ProductName\\lang2052\\f3 #]\\cf0\\'a1\\'b7\\'b2\\'bb\\'cf\\'de\\'b7\\'d6\\'b7\\'a2\\'ca\\'fd\\'c1\\'bf\\'d0\\'ed\\'bf\\'c9\\'ca\\'da\\'c8\\'a8\\'cf\\'fa\\'ca\\'db\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a3\\'ac\\'b2\\'a2\\'be\\'cd\\'d3\\'d0\\'b9\\'d8\\'be\\'df\\'cc\\'e5\\'ca\\'c2\\'cf\\'ee\\'b4\\'ef\\'b3\\'c9\\'d2\\'bb\\'d6\\'c2\\'c7\\'a9\\'b6\\'a9\\'c8\\'e7\\'cf\\'c2\\'ba\\'cf\\'cd\\'ac\\'a3\\'ba \\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'d2\\'bb.\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cf\\'fa\\'ca\\'db\\'b2\\'fa\\'c6\\'b7\\'b9\\'e6\\'b8\\'f1\\'d3\\'eb\\'bd\\'f0\\'b6\\'ee\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cf\\'fa\\'ca\\'db\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'b5\\'c4\\'a1\\'b6\\cf1 [#\\lang1033\\f1 ProductName\\lang2052\\f3 #]\\cf0\\'a1\\'b7\\'b2\\'bb\\'cf\\'de\\'b7\\'d6\\'b7\\'a2\\'ca\\'fd\\'c1\\'bf\\'d0\\'ed\\'bf\\'c9\\'ca\\'da\\'c8\\'a8\\ul  \\cf1 [#\\lang1033\\f1 Quantity\\lang2052\\f3 #] \\cf0\\ulnone\\'cc\\'d7\\'a3\\'ac\\'b5\\'a5\\'bc\\'db\\'ce\\'aa\\ul  \\cf1 [#\\lang1033\\f1 UnitPrice\\lang2052\\f3 #]\\cf0  \\ulnone\\'d4\\'aa\\'a1\\'a3\\par\r\n2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d2\\'d4\\'d7\\'dc\\'bd\\'f0\\'b6\\'ee\\'c8\\'cb\\'c3\\'f1\\'b1\\'d2\\ul  \\cf1 [#\\lang1033\\f1 Amount\\lang2052\\f3 #]\\cf0  \\cf2\\b  \\cf0\\ulnone\\b0\\'d4\\'aa\\'a3\\'a8\\'b4\\'f3\\'d0\\'b4\\'a3\\'ba\\ul  \\cf1\\b [#Amount:$$#]\\cf0  \\ulnone\\b0\\'a3\\'a9\\'b9\\'ba\\'c2\\'f2\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cb\\'f9\\'d6\\'b8\\'b6\\'a8\\'b5\\'c4\\'b2\\'fa\\'c6\\'b7\\'a1\\'a3\\par\r\n3.\\tab\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d3\\'eb\\'b5\\'a5\\'bb\\'fa\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'ac\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'c8\\'c3\\'d2\\'bb\\'b8\\'f6\\'be\\'d6\\'d3\\'f2\\'cd\\'f8\\'b7\\'b6\\'ce\\'a7\\'c4\\'da\\'b5\\'c4\\'b5\\'e7\\'c4\\'d4\\'bf\\'c9\\'d2\\'d4\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'c4\\'a3\\'b0\\'e5\\'a3\\'ac\\'b5\\'a5\\'bb\\'fa\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'c8\\'c3\\'b2\\'e5\\'bd\\'d3\\'b1\\'be\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'b5\\'c4\\'b5\\'e7\\'c4\\'d4\\'bf\\'c9\\'d2\\'d4\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'c4\\'a3\\'b0\\'e5\\'a1\\'a3\\par\r\n4.\\tab\\'bc\\'d7\\'b7\\'bd\\'d3\\'a6\\'cd\\'d7\\'c9\\'c6\\'b1\\'a3\\'b9\\'dc\\'ba\\'c3\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'ac\\'d2\\'c5\\'ca\\'a7\\'ba\\'f3\\'d2\\'d2\\'b7\\'bd\\'b2\\'bb\\'bb\\'e1\\'b2\\'b9\\'b7\\'a2\\'a1\\'a3\\'c8\\'e7\\'d3\\'d0\\'cb\\'f0\\'bb\\'b5\\'bf\\'c9\\'b8\\'fc\\'bb\\'bb\\'a3\\'ac\\'d3\\'c3\\'bb\\'a7\\'d0\\'eb\\'bc\\'c4\\'bb\\'d8\\'cb\\'f0\\'bb\\'b5\\'b5\\'c4\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a3\\'bb\\'d4\\'da\\'b9\\'ba\\'c2\\'f2\\'d6\\'ae\\'c8\\'d5\\'c6\\'f06\\'b8\\'f6\\'d4\\'c2\\'d6\\'ae\\'c4\\'da\\'b5\\'c4\\'b7\\'c7\\'c8\\'cb\\'ce\\'aa\\'cb\\'f0\\'bb\\'b5\\'c3\\'e2\\'b7\\'d1\\'b8\\'fc\\'bb\\'bb\\'a3\\'ac\\'c6\\'e4\\'cb\\'fc\\'c7\\'e9\\'bf\\'f6\\'d2\\'bb\\'d6\\'a7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d0\\'eb\\'d6\\'a7\\'b8\\'b6100\\'d4\\'aa\\'b2\\'c4\\'c1\\'cf\\'b7\\'d1\\'a1\\'a3\\par\r\n5.\\tab\\'d2\\'d2\\'b7\\'bd\\'b8\\'f9\\'be\\'dd\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4\\'d7\\'a2\\'b2\\'e1\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'b2\\'fa\\'c9\\'fa\\'d2\\'bb\\'b8\\'f6\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'a3\\'ac\\'b2\\'a2\\'bd\\'ab\\'b8\\'c3\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'b7\\'a2\\'cb\\'cd\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a1\\'a3\\par\r\n6.\\tab\\'bc\\'d7\\'b7\\'bd\\'c9\\'e8\\'bc\\'c6\\'b1\\'a8\\'b1\\'ed\\'ca\\'b1\\'b1\\'d8\\'d0\\'eb\\'d4\\'da\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'d5\\'fd\\'c8\\'b7\\'b2\\'e5\\'bd\\'d3\\'d4\\'da\\'b5\\'e7\\'c4\\'d4\\'ca\\'b1\\'bd\\'f8\\'d0\\'d0\\'a3\\'ac\\'b7\\'f1\\'d4\\'f2\\'b1\\'a8\\'b1\\'ed\\'d4\\'cb\\'d0\\'d0\\'ca\\'b1\\'b2\\'bb\\'c4\\'dc\\'cf\\'fb\\'b3\\'fd\\'ca\\'d4\\'d3\\'c3\\'b1\\'ea\\'d6\\'be\\'ce\\'c4\\'d7\\'d6\\'a1\\'a3\\'bc\\'d7\\'b7\\'bd\\'b0\\'b4\\'d5\\'d5\\'d7\\'a2\\'b2\\'e1\\'d2\\'aa\\'c7\\'f3\\'a3\\'ac\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4WEB\\'c8\\'ed\\'bc\\'fe\\'cf\\'b5\\'cd\\'b3\\'bf\\'c9\\'d2\\'d4\\'b2\\'bf\\'ca\\'f0\\'b5\\'bd\\'b2\\'bb\\'cf\\'de\\'ca\\'fd\\'c1\\'bf\\'b5\\'c4\\'c8\\'ce\\'ba\\'ceWEB\\'b7\\'fe\\'ce\\'f1\\'c6\\'f7\\'c9\\'cf\\'a1\\'a3\\par\r\n7.\\tab\\'d2\\'d2\\'b7\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'d7\\'a2\\'b2\\'e1\\'b7\\'bd\\'c3\\'e6\\'b5\\'c4\\'bc\\'bc\\'ca\\'f5\\'d6\\'b8\\'b5\\'bc\\'a3\\'ac\\'d3\\'d0\\'b9\\'d8\\'b2\\'fa\\'c6\\'b7\\'d7\\'a2\\'b2\\'e1\\'b7\\'bd\\'c3\\'e6\\'b5\\'c4\\'be\\'df\\'cc\\'e5\\'bd\\'e2\\'ca\\'cd\\'c8\\'a8\\'d4\\'da\\'d2\\'d2\\'b7\\'bd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'b6\\'fe.\\'b8\\'b6\\'bf\\'ee\\'b7\\'bd\\'ca\\'bd\\'bc\\'b0\\'ca\\'b1\\'bc\\'e4\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj\\b0 1.\\tab\\'bc\\'d7\\'b7\\'bd\\'d4\\'da\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'cb\\'ab\\'b7\\'bd\\'c7\\'a9\\'d7\\'d6\\'b8\\'c7\\'d5\\'c2\\'ba\\'f3\\'c8\\'fd\\'c8\\'d5\\'d6\\'ae\\'c4\\'da\\'b8\\'b6\\'bf\\'ee\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li721\\qj 2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d2\\'d4\\'d2\\'f8\\'d0\\'d0\\'bb\\'e3\\'bf\\'ee\\'b7\\'bd\\'ca\\'bd\\'d6\\'a7\\'b8\\'b6\\'d2\\'d2\\'b7\\'bd\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'bf\\'ee\\'a1\\'a3\\'d2\\'d2\\'b7\\'bd\\'b9\\'ab\\'cb\\'be\\'d5\\'ca\\'bb\\'a7\\'c8\\'e7\\'cf\\'c2\\'a3\\'ba\\line\\'bf\\'aa\\'bb\\'a7\\'d2\\'f8\\'d0\\'d0\\'a3\\'ba\\'b9\\'e3\\'d6\\'dd\\'d2\\'f8\\'d0\\'d0\\'a3\\'a8\\'d0\\'d0\\'ba\\'c5\\'a3\\'ba313581000013\\'a3\\'a9\\line\\'bf\\'aa\\'bb\\'a7\\'d5\\'cb\\'ba\\'c5\\'a3\\'ba800143630609022 \\line\\'bf\\'aa\\'bb\\'a7\\'c3\\'fb\\'b3\\'c6\\'a3\\'ba\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be\\par\r\n\\pard\\nowidctlpar\\fi-420\\li720\\sl360\\slmult1\\qj 3.\\tab\\'cc\\'d8\\'b1\\'f0\\'cc\\'e1\\'ca\\'be\\'a3\\'ba\\'d2\\'d2\\'b7\\'bd\\'b5\\'c4\\'bf\\'aa\\'bb\\'a7\\'d2\\'f8\\'d0\\'d0\\'b2\\'bb\\'d3\\'c3\\'d0\\'b4\\'d6\\'a7\\'d0\\'d0\\'c3\\'fb\\'b3\\'c6\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'bf\\'c9\\'d2\\'d4\\'bd\\'ab\\'d0\\'d0\\'ba\\'c5(313581000013)\\'cc\\'e1\\'b9\\'a9\\'b8\\'f8\\'bb\\'e3\\'bf\\'ee\\'d2\\'f8\\'d0\\'d0\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c8\\'fd.\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'c9\\'fa\\'b3\\'c9\\'d3\\'eb\\'b7\\'a2\\'cb\\'cd\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj\\tx780\\b0 1.\\tab\\'bc\\'d7\\'b7\\'bd\\'d4\\'da\\'bb\\'e3\\'bf\\'ee\\'ba\\'f3\\'cf\\'f2\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'d7\\'a2\\'b2\\'e1\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'a3\\'ac\\'d2\\'d2\\'b7\\'bd\\'be\\'dd\\'b4\\'cb\\'c9\\'fa\\'b3\\'c9\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'d6\\'c6\\'d7\\'f7\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj 2.\\tab\\'d2\\'d2\\'b7\\'bd\\'ca\\'d5\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'b8\\'b6\\'bf\\'ee\\'ba\\'f3\\'d4\\'da\\'c1\\'bd\\'b8\\'f6\\'b9\\'a4\\'d7\\'f7\\'c8\\'d5\\'d6\\'ae\\'c4\\'da\\'bd\\'ab\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'b7\\'a2\\'cb\\'cd\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4EMAIL\\'d3\\'ca\\'cf\\'e4\\'a1\\'a3 \\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a2\\'ba\\'cf\\'cd\\'ac\\'d4\\'ad\\'bc\\'fe\\'d3\\'eb\\'b7\\'a2\\'c6\\'b1\\'d2\\'d4\\'bf\\'ec\\'b5\\'dd\\'b7\\'bd\\'ca\\'bd\\'bc\\'c4\\'b8\\'f8\\'bc\\'d7\\'b7\\'bd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'cb\\'c4.\\'cb\\'ab\\'b7\\'bd\\'b5\\'c4\\'c8\\'a8\\'c0\\'fb\\'a1\\'a2\\'d2\\'e5\\'ce\\'f1\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj\\tx780\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b5\\'c4\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'bd\\'f6\\'d3\\'c3\\'d4\\'da\\'bc\\'d7\\'b7\\'bd\\'d7\\'d4\\'c9\\'ed\\'bf\\'aa\\'b7\\'a2\\'b5\\'c4\\'c8\\'ed\\'bc\\'fe\\'d6\\'d0\\'a3\\'ac\\'b2\\'bb\\'b5\\'c3\\'cf\\'f2\\'c8\\'ce\\'ba\\'ce\\'b5\\'da\\'c8\\'fd\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'b4\\'cb\\'d7\\'a2\\'b2\\'e1\\'ba\\'c5\\'d3\\'eb\\'bc\\'d3\\'c3\\'dc\\'cb\\'f8\\'a1\\'a3\\f0\\fs24\\par\r\n\\f3\\fs21 2.\\tab\\'c8\\'f4\\'d2\\'d2\\'b7\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'b3\\'f6\\'ca\\'db\\'b5\\'c4\\'c8\\'ed\\'bc\\'fe\\'cf\\'b5\\'cd\\'b3\\'b4\\'e6\\'d4\\'da\\'d6\\'aa\\'ca\\'b6\\'b2\\'fa\\'c8\\'a8\\'be\\'c0\\'b7\\'d7\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'b2\\'bb\\'b3\\'d0\\'b5\\'a3\\'c8\\'ce\\'ba\\'ce\\'c1\\'ac\\'b4\\'f8\\'d4\\'f0\\'c8\\'ce\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li780\\sl360\\slmult1\\qj 3.\\tab\\'d2\\'d2\\'b7\\'bd\\'ce\\'aa\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'c8\\'ed\\'bc\\'fe\\'cf\\'c2\\'d4\\'d8\\'b5\\'d8\\'d6\\'b7\\'bc\\'b0\\'cf\\'e0\\'d3\\'a6\\'d7\\'a2\\'b2\\'e1\\'c2\\'eb\\'a1\\'a3\\par\r\n4.\\tab\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'bb\\'a5\\'cf\\'e0\\'d7\\'f1\\'ca\\'d8\\'c8\\'ed\\'bc\\'fe\\'ca\\'b9\\'d3\\'c3\\'d0\\'ed\\'bf\\'c9\\'d0\\'ad\\'d2\\'e9\\'a1\\'a3\\par\r\n5.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'d4\\'da\\'d2\\'d2\\'b7\\'bd\\'b7\\'fe\\'ce\\'f1\\'cd\\'f8\\'d5\\'be\\'c9\\'cf\\'b0\\'d1\\'bc\\'d7\\'b7\\'bd\\'c1\\'d0\\'ce\\'aa\\'b3\\'c9\\'b9\\'a6\\'b0\\'b8\\'c0\\'fd\\'bf\\'cd\\'bb\\'a7\\'a3\\'ac\\'b3\\'fd\\'b7\\'c7\\'bc\\'d7\\'b7\\'bd\\'ca\\'e9\\'c3\\'e6\\'cc\\'e1\\'b3\\'f6\\'d2\\'aa\\'c7\\'f3\\'b2\\'bb\\'c4\\'dc\\'c1\\'d0\\'b3\\'f6\\'a1\\'a3 \\par\r\n6.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'cb\\'e6\\'ca\\'b1\\'b5\\'f7\\'d5\\'fb\\'b2\\'fa\\'c6\\'b7\\'b5\\'c4\\'ca\\'d0\\'b3\\'a1\\'b1\\'ea\\'d7\\'bc\\'bc\\'db\\'b8\\'f1\\'a3\\'ac\\'b2\\'bb\\'b9\\'dc\\'ca\\'c7\\'d5\\'c7\\'bc\\'db\\'bb\\'b9\\'ca\\'c7\\'bd\\'b5\\'bc\\'db\\'a3\\'ac\\'b6\\'d4\\'bc\\'d7\\'b7\\'bd\\'b6\\'bc\\'c3\\'bb\\'d3\\'d0\\'d3\\'b0\\'cf\\'ec\\'a1\\'a3\\'bc\\'b4\\'a3\\'ba\\'c8\\'e7\\'b9\\'fb\\'d5\\'c7\\'bc\\'db\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'ce\\'de\\'d0\\'eb\\'b2\\'b9\\'c7\\'ae\\'a3\\'bb\\'c8\\'e7\\'b9\\'fb\\'bd\\'b5\\'bc\\'db\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d2\\'b2\\'b2\\'bb\\'b5\\'c3\\'d2\\'aa\\'c7\\'f3\\'cd\\'cb\\'bf\\'ee\\'a1\\'a3\\par\r\n7.\\tab\\'d2\\'d2\\'b7\\'bd\\'d3\\'d0\\'c8\\'a8\\'b2\\'bb\\'b6\\'a8\\'c6\\'da\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'b5\\'c4\\'c1\\'aa\\'cf\\'b5Email\\'b7\\'a2\\'cb\\'cd\\'d3\\'d0\\'b9\\'d8\\'b7\\'fe\\'ce\\'f1\\'b6\\'af\\'cc\\'ac\\'a1\\'a2\\'b2\\'fa\\'c6\\'b7\\'bd\\'e9\\'c9\\'dc\\'b5\\'c8\\'d0\\'c5\\'cf\\'a2\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'ce\\'e5.\\'ca\\'db\\'ba\\'f3\\'b7\\'fe\\'ce\\'f1\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj\\tx839\\b0 1.\\tab\\'d2\\'d2\\'b7\\'bd\\'cd\\'a8\\'b9\\'fd\\'b5\\'e7\\'bb\\'b0\\'a1\\'a2EMAIL\\'b7\\'bd\\'ca\\'bd\\'cf\\'f2\\'bc\\'d7\\'b7\\'bd\\'cc\\'e1\\'b9\\'a9\\'c3\\'e2\\'b7\\'d1\\'ce\\'de\\'cf\\'de\\'c6\\'da\\'bc\\'bc\\'ca\\'f5\\'d6\\'a7\\'b3\\'d6\\'b7\\'fe\\'ce\\'f1\\'a3\\'ac\\'d0\\'ad\\'d6\\'fa\\'bc\\'d7\\'b7\\'bd\\'bd\\'e2\\'be\\'f6\\'b1\\'be\\'c8\\'ed\\'bc\\'fe\\'d4\\'da\\'ca\\'b9\\'d3\\'c3\\'d6\\'d0\\'b3\\'f6\\'cf\\'d6\\'b5\\'c4\\'ce\\'ca\\'cc\\'e2\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj 2.\\tab\\'bc\\'d7\\'b7\\'bd\\'d3\\'d0\\'cc\\'e1\\'b9\\'a9\\'ce\\'ca\\'cc\\'e2\\'cf\\'ea\\'be\\'a1\\'c3\\'e8\\'ca\\'f6\\'b1\\'a8\\'b8\\'e6\\'d3\\'eb\\'b2\\'e2\\'ca\\'d4\\'ca\\'fd\\'be\\'dd\\'b5\\'c4\\'d2\\'e5\\'ce\\'f1\\'a3\\'ac\\'d2\\'d4\\'b7\\'bd\\'b1\\'e3\\'d2\\'d2\\'b7\\'bd\\'d6\\'d8\\'cf\\'d6\\'d3\\'eb\\'bd\\'e2\\'be\\'f6\\'ce\\'ca\\'cc\\'e2\\'a1\\'a3\\par\r\n3.\\tab\\'d2\\'d2\\'b7\\'bd\\'c8\\'ed\\'bc\\'fe\\'ca\\'c7\\'cd\\'a8\\'d3\\'c3\\'c8\\'ed\\'bc\\'fe\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d0\\'e8\\'d2\\'aa\\'b8\\'c4\\'b6\\'af\\'bb\\'f2\\'d0\\'e8\\'d2\\'aa\\'ce\\'af\\'cd\\'d0\\'d2\\'d2\\'b7\\'bd\\'bd\\'f8\\'d0\\'d0\\'b6\\'a8\\'d6\\'c6\\'b6\\'fe\\'b4\\'ce\\'bf\\'aa\\'b7\\'a2\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'d3\\'a6\\'cd\\'ac\\'d2\\'d2\\'b7\\'bd\\'c1\\'ed\\'b6\\'a9\\'d0\\'ad\\'d2\\'e9\\'a3\\'ac\\'c1\\'ed\\'ca\\'d5\\'bf\\'aa\\'b7\\'a2\\'b7\\'d1\\'d3\\'c3\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c1\\'f9.\\'c8\\'ed\\'bc\\'fe\\'c9\\'fd\\'bc\\'b6\\par\r\n\\pard\\nowidctlpar\\fi420\\sl360\\slmult1\\qj\\b0\\'bc\\'d7\\'b7\\'bd\\'bf\\'c9\\'d2\\'d4\\'c3\\'e2\\'b7\\'d1\\'c9\\'fd\\'bc\\'b6\\'b5\\'bd\\'bc\\'d7\\'b7\\'bd\\'b9\\'ba\\'c2\\'f2\\'b0\\'e6\\'b1\\'be(5.0)\\'b6\\'d4\\'d3\\'a6\\'b5\\'c4\\'b8\\'fc\\'d0\\'c2\\cf3\\'d0\\'a1\\'b0\\'e6\\'b1\\'be(\\'c8\\'e7\\'a3\\'ba5.2\\'a1\\'a25.5\\'b5\\'c8)\\'a1\\'a3\\'c8\\'e7\\'b9\\'fb\\'d2\\'d2\\'b7\\'bd\\'c8\\'ed\\'bc\\'fe\\'d3\\'d0\\'d0\\'c2\\'b5\\'c4\\'b4\\'f3\\'b0\\'e6\\'b1\\'be(6.0\\'bc\\'b0\\'d2\\'d4\\'ba\\'f3\\'b0\\'e6\\'b1\\'be)\\cf0\\'cd\\'c6\\'b3\\'f6\\'a3\\'ac\\'bc\\'d7\\'b7\\'bd\\'c8\\'e7\\'d0\\'e8\\'c9\\'fd\\'bc\\'b6\\'b5\\'bd\\'d0\\'c2\\'b0\\'e6\\'b1\\'be\\'a3\\'ac\\'d4\\'da\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'c7\\'a9\\'b6\\'a9\\'c8\\'d5\\'c8\\'fd\\'b8\\'f6\\'d4\\'c2\\'c4\\'da\\'b2\\'b9\\'b2\\'ee\\'bc\\'db\\'bd\\'f8\\'d0\\'d0\\'c9\\'fd\\'bc\\'b6\\'a3\\'ac\\'b7\\'f1\\'d4\\'f2\\'b0\\'b4\\'d2\\'d2\\'b7\\'bd\\'d6\\'c6\\'b6\\'a8\\'b5\\'c4\\'c9\\'fd\\'bc\\'b6\\'bc\\'db\\'b8\\'f1\\'bd\\'f8\\'d0\\'d0\\'c9\\'fd\\'bc\\'b6\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\sl360\\slmult1\\qj\\b\\'c6\\'df.\\'c6\\'e4\\'cb\\'fc\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj\\tx839\\b0 1.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'b9\\'b2\\'b7\\'a1\\'d2\\'b3\\'a3\\'ac\\'d2\\'bb\\'ca\\'bd\\'c1\\'bd\\'b7\\'dd\\'a3\\'ac\\'bc\\'d7\\'d2\\'d2\\'cb\\'ab\\'b7\\'bd\\'b8\\'f7\\'d6\\'b4\\'d2\\'bb\\'b7\\'dd\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi-420\\li839\\sl360\\slmult1\\qj 2.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'b4\\'ab\\'d5\\'e6\\'bc\\'fe\\'d3\\'eb\\'d4\\'ad\\'bc\\'fe\\'be\\'df\\'d3\\'d0\\'cd\\'ac\\'b5\\'c8\\'d0\\'a7\\'c1\\'a6\\'a1\\'a3\\par\r\n3.\\tab\\'b1\\'be\\'ba\\'cf\\'cd\\'ac\\'be\\'ad\\'cb\\'ab\\'b7\\'bd\\'bc\\'d3\\'b8\\'c7\\'b9\\'ab\\'d5\\'c2\\'bc\\'b0\\'ca\\'da\\'c8\\'a8\\'b4\\'fa\\'b1\\'ed\\'c7\\'a9\\'d7\\'d6\\'ba\\'f3\\'c9\\'fa\\'d0\\'a7\\'a3\\'ac\\'be\\'df\\'d3\\'d0\\'cd\\'ac\\'b5\\'c8\\'b7\\'a8\\'c2\\'c9\\'d0\\'a7\\'c1\\'a6\\'a1\\'a3\\par\r\n4.\\tab\\'b1\\'be\\'d0\\'ad\\'d2\\'e9\\'ce\\'b4\\'be\\'a1\\'ca\\'c2\\'d2\\'cb\\'a3\\'ac\\'cb\\'ab\\'b7\\'bd\\'d3\\'d1\\'ba\\'c3\\'d0\\'ad\\'c9\\'cc\\'bd\\'e2\\'be\\'f6\\'a1\\'a3\\'c8\\'e7\\'b9\\'fb\\'d0\\'ad\\'c9\\'cc\\'b2\\'bb\\'b3\\'c9\\'a3\\'ac\\'bf\\'c9\\'cc\\'e1\\'c7\\'eb\\'b9\\'e3\\'d6\\'dd\\'d6\\'d9\\'b2\\'c3\\'ce\\'af\\'d4\\'b1\\'bb\\'e1\\'bd\\'f8\\'d0\\'d0\\'d6\\'d9\\'b2\\'c3\\'a1\\'a3\\par\r\n\\pard\\nowidctlpar\\fi473\\sl360\\slmult1\\qj\\par\r\n\\pard\\nowidctlpar\\fi420\\sl-760\\slmult0\\qj\\tx4536\\'bc\\'d7\\'b7\\'bd\\'b8\\'c7\\'d5\\'c2\\'a3\\'ba\\cf1\\ul [#\\lang1033\\f4 CompanyName\\lang2052\\f3 #]\\cf0\\ulnone\\tab\\'d2\\'d2\\'b7\\'bd\\'b8\\'c7\\'d5\\'c2\\'a3\\'ba\\ul\\'b9\\'e3\\'d6\\'dd\\'c8\\'f1\\'c0\\'cb\\'c8\\'ed\\'bc\\'fe\\'bc\\'bc\\'ca\\'f5\\'d3\\'d0\\'cf\\'de\\'b9\\'ab\\'cb\\'be \\ulnone\\par\r\n\\'bc\\'d7\\'b7\\'bd\\'b4\\'fa\\'b1\\'ed\\'a3\\'ba\\ul                  \\ulnone\\tab\\'d2\\'d2\\'b7\\'bd\\'b4\\'fa\\'b1\\'ed\\'a3\\'ba\\ul                         \\ulnone\\par\r\n\\'c8\\'d5    \\'c6\\'da\\'a3\\'ba\\ul  \\cf1 [#SystemVar(CurrentDateTime):yyyy#]\\cf0  \\ulnone\\'c4\\'ea\\ul  \\cf1 [#SystemVar(CurrentDateTime):\\lang1033\\f4 M\\lang2052\\f3 #]\\cf0  \\ulnone\\'d4\\'c2\\ul  \\cf1 [#SystemVar(CurrentDateTime):d#]\\cf0  \\ulnone\\'c8\\'d5           \\'c8\\'d5    \\'c6\\'da\\'a3\\'ba\\ul        \\ulnone\\'c4\\'ea\\ul       \\ulnone\\'d4\\'c2\\ul       \\ulnone\\'c8\\'d5\\par\r\n\\par\r\n\\pard\\par\r\n}\r\n"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		}
+	}
+}
\ No newline at end of file
diff --git a/public/grf/6c.grf b/public/grf/6c.grf
new file mode 100644
index 0000000..59fe5f9
--- /dev/null
+++ b/public/grf/6c.grf
@@ -0,0 +1,140 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6c.鍚堝悓鎵撳嵃(鍗曚唤_缁煎悎鏂囧瓧妗�)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄧ患鍚堟枃瀛楁瀹炵幇涓�娆℃墦鍗颁竴浠藉悎鍚孿r\n1銆佸皢鍚堝悓妯℃澘瀹氫箟鍦ㄧ患鍚堟枃瀛楁锛屽湪缁煎悎鏂囧瓧妗嗙殑鏂囨湰涓彃鍏ュ姩鎬佹暟鎹煙銆俓r\n2銆佽缃患鍚堟枃瀛楃殑鈥淗TML鏍囩鈥濆睘鎬т负鈥滄槸鈥濓紝寮�鍚疕TML鏍囩鍔熻兘銆傚湪鏂囨湰涓彃鍏TML鏍囩锛岃鏌愪簺鍚堝悓鍐呭鎸夌壒娈婃牸寮忔樉绀恒�俓r\n3銆佸湪鎶ヨ〃涓诲璞′笂瀹氫箟鈥滄煡璇QL鈥濅笌鈥滄暟鎹簱杩炴帴涓测�濆睘鎬э紝鍦ㄨ璁℃姤琛ㄦ椂鎻愪緵鎶ヨ〃鏁版嵁銆俓r\n4銆佷竴浜涢浂鏁g殑鍐呭鍙互鐢ㄦ洿澶氱殑缁煎悎鏂囧瓧妗嗘潵鏄剧ず銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":120000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,\r\np.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID=10252 and d.ProductID=20\r\norder by m.OrderDate, m.OrderID",
+	"Printer":{
+		"LeftMargin":2,
+		"RightMargin":2
+	},
+	"Parameter":[
+		{
+			"Name":"OrderID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"CustomerId"
+		},
+		{
+			"Name":"CompanyName"
+		},
+		{
+			"Name":"OrderDate",
+			"DataType":"DateTime"
+		},
+		{
+			"Name":"ProductName"
+		},
+		{
+			"Name":"UnitPrice",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"Quantity",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"Amount",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"Height":3.81,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Dock":"Top",
+					"Height":0.79375,
+					"Font":{
+						"Name":"妤蜂綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"鍚堝悓缂栧彿锛歑SWEB-[#OrderID#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Dock":"Top",
+					"Top":0.79375,
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":217500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"婕旂ず鎵撳嵃鍚堝悓"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Dock":"Fill",
+					"Top":1.79917,
+					"WordWrap":true,
+					"Text":"璇存槑锛氭紨绀虹敤缁煎悎鏂囧瓧妗嗗疄鐜板悎鍚岀殑鎵撳嵃锛屽苟瀹炵幇鍔ㄦ�佹暟鎹彃鍏ャ�備互涓嬫暟鎹粎涓烘紨绀猴紝涓嶅叿鏈夌湡瀹炴�с�傚姩鎬佹暟鎹彲浠ョ敤鏂囨湰缂栬緫瀵硅瘽妗嗕腑鐨勨�滄彃鍏ュ煙鈥濅笌鈥滆〃杈惧紡鈥濇寜閽彃鍏ャ�傛鏂囦腑鐨勮绐佸嚭鏄剧ず鐨勫唴瀹瑰彲浠ョ敤HTML鏍囩瀹炵幇\r\n"
+				}
+			]
+		},
+		{
+			"KeepTogether":false,
+			"CanGrow":true,
+			"Height":8.59896,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"Dock":"Fill",
+					"CanGrow":true,
+					"TextAlign":"TopLeft",
+					"LnSpacing":7,
+					"HtmlTags":true,
+					"Text":"<b>鐢�    鏂癸細<u>[#CompanyName#]</u>\r\n涔�    鏂癸細<u>骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙�</u></b>\r\n\r\n缁忕敳涔欏弻鏂瑰钩绛夊弸濂藉崗鍟嗭紝涔欐柟鍚屾剰灏嗗叾寮�鍙戠殑銆奫#ProductName#]銆嬩笉闄愬垎鍙戞暟閲忚鍙巿鏉冮攢鍞粰鐢叉柟锛屽苟灏辨湁鍏冲叿浣撲簨椤硅揪鎴愪竴鑷寸璁㈠涓嬪悎鍚岋細 \r\n\r\n<b>涓�.鏈悎鍚岄攢鍞骇鍝佽鏍间笌閲戦</b>\r\n1.涔欐柟閿�鍞粰鐢叉柟鐨勩�奫#ProductName#]銆嬩笉闄愬垎鍙戞暟閲忚鍙巿鏉�<u> [#Quantity#] </u>濂楋紝鍗曚环涓�<u> [#UnitPrice#] </u>鍏冦�俓r\n2.鐢叉柟浠ユ�婚噾棰濅汉姘戝竵<u> [#Amount#]  </u>鍏冿紙澶у啓锛�<u> [#Amount:$$#] </u>锛夎喘涔版湰鍚堝悓鎵�鎸囧畾鐨勪骇鍝併�俓r\n3.涔欐柟鎻愪緵鏈嶅姟鍣ㄥ姞瀵嗛攣涓庡崟鏈哄姞瀵嗛攣锛屾湇鍔″櫒鍔犲瘑閿佽涓�涓眬鍩熺綉鑼冨洿鍐呯殑鐢佃剳鍙互璁捐鎶ヨ〃妯℃澘锛屽崟鏈哄姞瀵嗛攣璁╂彃鎺ユ湰鍔犲瘑閿佺殑鐢佃剳鍙互璁捐鎶ヨ〃妯℃澘銆俓r\n4.鐢叉柟搴斿Ε鍠勪繚绠″ソ鍔犲瘑閿侊紝閬楀け鍚庝箼鏂逛笉浼氳ˉ鍙戙�傚鏈夋崯鍧忓彲鏇存崲锛岀敤鎴烽』瀵勫洖鎹熷潖鐨勫姞瀵嗛攣锛涘湪璐拱涔嬫棩璧�6涓湀涔嬪唴鐨勯潪浜轰负鎹熷潖鍏嶈垂鏇存崲锛屽叾瀹冩儏鍐典竴鏀姞瀵嗛攣椤绘敮浠�100鍏冩潗鏂欒垂銆俓r\n5.涔欐柟鏍规嵁鐢叉柟鎻愪緵鐨勬敞鍐岀敤鎴峰悕浜х敓涓�涓敞鍐屽彿锛屽苟灏嗚娉ㄥ唽鍙峰彂閫佺粰鐢叉柟銆俓r\n6.鐢叉柟璁捐鎶ヨ〃鏃跺繀椤诲湪鍔犲瘑閿佹纭彃鎺ュ湪鐢佃剳鏃惰繘琛岋紝鍚﹀垯鎶ヨ〃杩愯鏃朵笉鑳芥秷闄よ瘯鐢ㄦ爣蹇楁枃瀛椼�傜敳鏂规寜鐓ф敞鍐岃姹傦紝寮�鍙戠殑WEB杞欢绯荤粺鍙互閮ㄧ讲鍒颁笉闄愭暟閲忕殑浠讳綍WEB鏈嶅姟鍣ㄤ笂銆俓r\n7.涔欐柟鍚戠敳鏂规彁渚涙敞鍐屾柟闈㈢殑鎶�鏈寚瀵硷紝鏈夊叧浜у搧娉ㄥ唽鏂归潰鐨勫叿浣撹В閲婃潈鍦ㄤ箼鏂广�俓r\n\r\n<b>浜�.浠樻鏂瑰紡鍙婃椂闂�</b>\r\n1.鐢叉柟鍦ㄦ湰鍚堝悓鍙屾柟绛惧瓧鐩栫珷鍚庝笁鏃ヤ箣鍐呬粯娆俱�俓r\n2.鐢叉柟浠ラ摱琛屾眹娆炬柟寮忔敮浠樹箼鏂规湰鍚堝悓娆俱�備箼鏂瑰叕鍙稿笎鎴峰涓嬶細\r\n  寮�鎴烽摱琛岋細骞垮窞閾惰锛堣鍙凤細313581000013锛塡r\n  寮�鎴疯处鍙凤細800143630609022 \r\n  寮�鎴峰悕绉帮細骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙竆r\n3.鐗瑰埆鎻愮ず锛氫箼鏂圭殑寮�鎴烽摱琛屼笉鐢ㄥ啓鏀鍚嶇О锛岀敳鏂瑰彲浠ュ皢琛屽彿(313581000013)鎻愪緵缁欐眹娆鹃摱琛屻�俓r\n\r\n<b>涓�.娉ㄥ唽鍙风敓鎴愪笌鍙戦��</b>\r\n1.鐢叉柟鍦ㄦ眹娆惧悗鍚戜箼鏂规彁渚涙敞鍐岀敤鎴峰悕锛屼箼鏂规嵁姝ょ敓鎴愭敞鍐屽彿涓庡埗浣滃姞瀵嗛攣銆俓r\n2.涔欐柟鏀跺埌鐢叉柟浠樻鍚庡湪涓や釜宸ヤ綔鏃ヤ箣鍐呭皢娉ㄥ唽鍙峰彂閫佸埌鐢叉柟鎻愪緵鐨凟MAIL閭銆� 鍔犲瘑閿併�佸悎鍚屽師浠朵笌鍙戠エ浠ュ揩閫掓柟寮忓瘎缁欑敳鏂广�俓r\n\r\n<b>鍥�.鍙屾柟鐨勬潈鍒┿�佷箟鍔�</b>\r\n1.涔欐柟鎻愪緵鐨勬敞鍐屽彿涓庡姞瀵嗛攣浠呯敤鍦ㄧ敳鏂硅嚜韬紑鍙戠殑杞欢涓紝涓嶅緱鍚戜换浣曠涓夋柟鎻愪緵姝ゆ敞鍐屽彿涓庡姞瀵嗛攣銆俓r\n2.鑻ヤ箼鏂瑰悜鐢叉柟鍑哄敭鐨勮蒋浠剁郴缁熷瓨鍦ㄧ煡璇嗕骇鏉冪籂绾凤紝鐢叉柟涓嶆壙鎷呬换浣曡繛甯﹁矗浠汇�俓r\n3.涔欐柟涓虹敳鏂规彁渚涜蒋浠朵笅杞藉湴鍧�鍙婄浉搴旀敞鍐岀爜銆俓r\n4.鐢蹭箼鍙屾柟浜掔浉閬靛畧杞欢浣跨敤璁稿彲鍗忚銆俓r\n5.涔欐柟鏈夋潈鍦ㄤ箼鏂规湇鍔$綉绔欎笂鎶婄敳鏂瑰垪涓烘垚鍔熸渚嬪鎴凤紝闄ら潪鐢叉柟涔﹂潰鎻愬嚭瑕佹眰涓嶈兘鍒楀嚭銆� \r\n6.涔欐柟鏈夋潈闅忔椂璋冩暣浜у搧鐨勫競鍦烘爣鍑嗕环鏍硷紝涓嶇鏄定浠疯繕鏄檷浠凤紝瀵圭敳鏂归兘娌℃湁褰卞搷銆傚嵆锛氬鏋滄定浠凤紝鐢叉柟鏃犻』琛ラ挶锛涘鏋滈檷浠凤紝鐢叉柟涔熶笉寰楄姹傞��娆俱�俓r\n7.涔欐柟鏈夋潈涓嶅畾鏈熷悜鐢叉柟鐨勮仈绯籈mail鍙戦�佹湁鍏虫湇鍔″姩鎬併�佷骇鍝佷粙缁嶇瓑淇℃伅銆俓r\n\r\n<b>浜�.鍞悗鏈嶅姟</b>\r\n1.涔欐柟閫氳繃鐢佃瘽銆丒MAIL鏂瑰紡鍚戠敳鏂规彁渚涘厤璐规棤闄愭湡鎶�鏈敮鎸佹湇鍔★紝鍗忓姪鐢叉柟瑙e喅鏈蒋浠跺湪浣跨敤涓嚭鐜扮殑闂銆俓r\n2.鐢叉柟鏈夋彁渚涢棶棰樿灏芥弿杩版姤鍛婁笌娴嬭瘯鏁版嵁鐨勪箟鍔★紝浠ユ柟渚夸箼鏂归噸鐜颁笌瑙e喅闂銆俓r\n3.涔欐柟杞欢鏄�氱敤杞欢锛岀敳鏂归渶瑕佹敼鍔ㄦ垨闇�瑕佸鎵樹箼鏂硅繘琛屽畾鍒朵簩娆″紑鍙戯紝鐢叉柟搴斿悓涔欐柟鍙﹁鍗忚锛屽彟鏀跺紑鍙戣垂鐢ㄣ�俓r\n\r\n<b>鍏�.杞欢鍗囩骇</b>\r\n鐢叉柟鍙互鍏嶈垂鍗囩骇鍒扮敳鏂硅喘涔扮増鏈�(5.0)瀵瑰簲鐨勬洿鏂板皬鐗堟湰(濡傦細5.2銆�5.5绛�)銆傚鏋滀箼鏂硅蒋浠舵湁鏂扮殑澶х増鏈�(6.0鍙婁互鍚庣増鏈�)鎺ㄥ嚭锛岀敳鏂瑰闇�鍗囩骇鍒版柊鐗堟湰锛屽湪鏈悎鍚岀璁㈡棩涓変釜鏈堝唴琛ュ樊浠疯繘琛屽崌绾э紝鍚﹀垯鎸変箼鏂瑰埗瀹氱殑鍗囩骇浠锋牸杩涜鍗囩骇銆俓r\n\r\n<b>涓�.鍏跺畠:浠ヤ笅婕旂ず鍥炬爣鏍囩</b>\r\n<icon>0</icon> 鏈悎鍚屽叡璐伴〉锛屼竴寮忎袱浠斤紝鐢蹭箼鍙屾柟鍚勬墽涓�浠姐�俓r\n<icon>1</icon> 鏈悎鍚屼紶鐪熶欢涓庡師浠跺叿鏈夊悓绛夋晥鍔涖�俓r\n<icon>2</icon> 鏈悎鍚岀粡鍙屾柟鍔犵洊鍏珷鍙婃巿鏉冧唬琛ㄧ瀛楀悗鐢熸晥锛屽叿鏈夊悓绛夋硶寰嬫晥鍔涖�俓r\n<icon>3</icon> 鏈崗璁湭灏戒簨瀹滐紝鍙屾柟鍙嬪ソ鍗忓晢瑙e喅銆俓r\n<icon>4</icon> 鏈崗璁�...\r\n<icon>5</icon> 鏈崗璁�...\r\n\r\n"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":3.20146,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Width":8.38729,
+					"Height":3.09563,
+					"TextAlign":"TopLeft",
+					"LnSpacing":8,
+					"HtmlTags":true,
+					"Text":"鐢叉柟鐩栫珷锛�<u>[#CompanyName#]</u>\r\n\r\n鐢叉柟浠h〃锛�<u>               \t</u> \r\n\r\n鏃�    鏈燂細 <u> [#SystemVar(CurrentDateTime):yyyy#] </u>骞� <u> [#SystemVar(CurrentDateTime):M#] </u>鏈�<u> [#SystemVar(CurrentDateTime):d#] </u>"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":8.38729,
+					"Width":8.59896,
+					"Height":3.09563,
+					"TextAlign":"TopLeft",
+					"LnSpacing":8,
+					"HtmlTags":true,
+					"Text":"涔欐柟鐩栫珷锛�<u>骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙� </u>\r\n\r\n涔欐柟浠h〃锛�<u>               \t</u>\r\n\r\n鏃�    鏈燂細<u>     </u>骞�<u>   </u>鏈�<u>   </u>鏃�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6d.grf b/public/grf/6d.grf
new file mode 100644
index 0000000..9c8ed88
--- /dev/null
+++ b/public/grf/6d.grf
@@ -0,0 +1,173 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6d.鍚堝悓鎵撳嵃(澶氫唤_缁煎悎鏂囧瓧妗�)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄧ患鍚堟枃瀛楁瀹炵幇涓�娆℃墦鍗板浠藉悎鍚孿r\n1銆佸簲璇ュ湪鏄庣粏缃戞牸涓樉绀烘姤琛ㄥ唴瀹广�俓r\n2銆佸皢鍚堝悓妯℃澘瀹氫箟鍦ㄧ患鍚堟枃瀛楁锛屽湪缁煎悎鏂囧瓧妗嗙殑鏂囨湰涓彃鍏ュ姩鎬佹暟鎹煙銆俓r\n3銆佽缃患鍚堟枃瀛楃殑鈥淗TML鏍囩鈥濆睘鎬т负鈥滄槸鈥濓紝寮�鍚疕TML鏍囩鍔熻兘銆傚湪鏂囨湰涓彃鍏TML鏍囩锛岃鏌愪簺鍚堝悓鍐呭鎸夌壒娈婃牸寮忔樉绀恒�俓r\n4銆佸湪鏄庣粏缃戞牸鐨勮褰曢泦涓婂畾涔夆�滄煡璇QL鈥濅笌鈥滄暟鎹簱杩炴帴涓测�濆睘鎬э紝鍦ㄨ璁℃姤琛ㄦ椂鎻愪緵鎶ヨ〃鏁版嵁銆俓r\n5銆佷竴浜涢浂鏁g殑鍐呭鍙互鐢ㄦ洿澶氱殑缁煎悎鏂囧瓧妗嗘潵鏄剧ず銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":120000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":2,
+		"RightMargin":2
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,\r\np.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10384 and D.ProductID=20\r\norder by m.OrderID,p.ProductName",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":16.9863
+			}
+		],
+		"ColumnContent":{
+			"KeepTogether":false,
+			"Height":4.20688,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Dock":"Fill",
+							"CanGrow":true,
+							"TextAlign":"TopLeft",
+							"LnSpacing":5,
+							"HtmlTags":true,
+							"Text":"<b>鐢�    鏂癸細<u>[#CompanyName#]</u>\r\n涔�    鏂癸細<u>骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙�</u></b>\r\n\r\n    缁忕敳涔欏弻鏂瑰钩绛夊弸濂藉崗鍟嗭紝涔欐柟鍚屾剰灏嗗叾寮�鍙戠殑銆奫#ProductName#]銆嬩笉闄愬垎鍙戞暟閲忚鍙巿鏉冮攢鍞粰鐢叉柟锛屽苟灏辨湁鍏冲叿浣撲簨椤硅揪鎴愪竴鑷寸璁㈠涓嬪悎鍚岋細 \r\n\r\n<b>涓�.鏈悎鍚岄攢鍞骇鍝佽鏍间笌閲戦</b>\r\n1.涔欐柟閿�鍞粰鐢叉柟鐨勩�奫#ProductName#]銆嬩笉闄愬垎鍙戞暟閲忚鍙巿鏉�<u> [#Quantity#] </u>濂楋紝鍗曚环涓�<u> [#UnitPrice#] </u>鍏冦�俓r\n2.鐢叉柟浠ユ�婚噾棰濅汉姘戝竵<u> [#Amount#]  </u>鍏冿紙澶у啓锛�<u> [#Amount:$$#] </u>锛夎喘涔版湰鍚堝悓鎵�鎸囧畾鐨勪骇鍝併�俓r\n3.涔欐柟鎻愪緵鏈嶅姟鍣ㄥ姞瀵嗛攣涓庡崟鏈哄姞瀵嗛攣锛屾湇鍔″櫒鍔犲瘑閿佽涓�涓眬鍩熺綉鑼冨洿鍐呯殑鐢佃剳鍙互璁捐鎶ヨ〃妯℃澘锛屽崟鏈哄姞瀵嗛攣璁╂彃鎺ユ湰鍔犲瘑閿佺殑鐢佃剳鍙互璁捐鎶ヨ〃妯℃澘銆俓r\n4.鐢叉柟搴斿Ε鍠勪繚绠″ソ鍔犲瘑閿侊紝閬楀け鍚庝箼鏂逛笉浼氳ˉ鍙戙�傚鏈夋崯鍧忓彲鏇存崲锛岀敤鎴烽』瀵勫洖鎹熷潖鐨勫姞瀵嗛攣锛涘湪璐拱涔嬫棩璧�6涓湀涔嬪唴鐨勯潪浜轰负鎹熷潖鍏嶈垂鏇存崲锛屽叾瀹冩儏鍐典竴鏀姞瀵嗛攣椤绘敮浠�100鍏冩潗鏂欒垂銆俓r\n5.涔欐柟鏍规嵁鐢叉柟鎻愪緵鐨勬敞鍐岀敤鎴峰悕浜х敓涓�涓敞鍐屽彿锛屽苟灏嗚娉ㄥ唽鍙峰彂閫佺粰鐢叉柟銆俓r\n6.鐢叉柟璁捐鎶ヨ〃鏃跺繀椤诲湪鍔犲瘑閿佹纭彃鎺ュ湪鐢佃剳鏃惰繘琛岋紝鍚﹀垯鎶ヨ〃杩愯鏃朵笉鑳芥秷闄よ瘯鐢ㄦ爣蹇楁枃瀛椼�傜敳鏂规寜鐓ф敞鍐岃姹傦紝寮�鍙戠殑WEB杞欢绯荤粺鍙互閮ㄧ讲鍒颁笉闄愭暟閲忕殑浠讳綍WEB鏈嶅姟鍣ㄤ笂銆俓r\n7.涔欐柟鍚戠敳鏂规彁渚涙敞鍐屾柟闈㈢殑鎶�鏈寚瀵硷紝鏈夊叧浜у搧娉ㄥ唽鏂归潰鐨勫叿浣撹В閲婃潈鍦ㄤ箼鏂广�俓r\n\r\n<b>浜�.浠樻鏂瑰紡鍙婃椂闂�</b>\r\n1.鐢叉柟鍦ㄦ湰鍚堝悓鍙屾柟绛惧瓧鐩栫珷鍚庝笁鏃ヤ箣鍐呬粯娆俱�俓r\n2.鐢叉柟浠ラ摱琛屾眹娆炬柟寮忔敮浠樹箼鏂规湰鍚堝悓娆俱�備箼鏂瑰叕鍙稿笎鎴峰涓嬶細\r\n  寮�鎴烽摱琛岋細骞垮窞閾惰锛堣鍙凤細313581000013锛塡r\n  寮�鎴疯处鍙凤細800143630609022 \r\n  寮�鎴峰悕绉帮細骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙竆r\n3.鐗瑰埆鎻愮ず锛氫箼鏂圭殑寮�鎴烽摱琛屼笉鐢ㄥ啓鏀鍚嶇О锛岀敳鏂瑰彲浠ュ皢琛屽彿(313581000013)鎻愪緵缁欐眹娆鹃摱琛屻�俓r\n\r\n<b>涓�.娉ㄥ唽鍙风敓鎴愪笌鍙戦��</b>\r\n1.鐢叉柟鍦ㄦ眹娆惧悗鍚戜箼鏂规彁渚涙敞鍐岀敤鎴峰悕锛屼箼鏂规嵁姝ょ敓鎴愭敞鍐屽彿涓庡埗浣滃姞瀵嗛攣銆俓r\n2.涔欐柟鏀跺埌鐢叉柟浠樻鍚庡湪涓や釜宸ヤ綔鏃ヤ箣鍐呭皢娉ㄥ唽鍙峰彂閫佸埌鐢叉柟鎻愪緵鐨凟MAIL閭銆� 鍔犲瘑閿併�佸悎鍚屽師浠朵笌鍙戠エ浠ュ揩閫掓柟寮忓瘎缁欑敳鏂广�俓r\n\r\n<b>鍥�.鍙屾柟鐨勬潈鍒┿�佷箟鍔�</b>\r\n1.涔欐柟鎻愪緵鐨勬敞鍐屽彿涓庡姞瀵嗛攣浠呯敤鍦ㄧ敳鏂硅嚜韬紑鍙戠殑杞欢涓紝涓嶅緱鍚戜换浣曠涓夋柟鎻愪緵姝ゆ敞鍐屽彿涓庡姞瀵嗛攣銆俓r\n2.鑻ヤ箼鏂瑰悜鐢叉柟鍑哄敭鐨勮蒋浠剁郴缁熷瓨鍦ㄧ煡璇嗕骇鏉冪籂绾凤紝鐢叉柟涓嶆壙鎷呬换浣曡繛甯﹁矗浠汇�俓r\n3.涔欐柟涓虹敳鏂规彁渚涜蒋浠朵笅杞藉湴鍧�鍙婄浉搴旀敞鍐岀爜銆俓r\n4.鐢蹭箼鍙屾柟浜掔浉閬靛畧杞欢浣跨敤璁稿彲鍗忚銆俓r\n5.涔欐柟鏈夋潈鍦ㄤ箼鏂规湇鍔$綉绔欎笂鎶婄敳鏂瑰垪涓烘垚鍔熸渚嬪鎴凤紝闄ら潪鐢叉柟涔﹂潰鎻愬嚭瑕佹眰涓嶈兘鍒楀嚭銆� \r\n6.涔欐柟鏈夋潈闅忔椂璋冩暣浜у搧鐨勫競鍦烘爣鍑嗕环鏍硷紝涓嶇鏄定浠疯繕鏄檷浠凤紝瀵圭敳鏂归兘娌℃湁褰卞搷銆傚嵆锛氬鏋滄定浠凤紝鐢叉柟鏃犻』琛ラ挶锛涘鏋滈檷浠凤紝鐢叉柟涔熶笉寰楄姹傞��娆俱�俓r\n7.涔欐柟鏈夋潈涓嶅畾鏈熷悜鐢叉柟鐨勮仈绯籈mail鍙戦�佹湁鍏虫湇鍔″姩鎬併�佷骇鍝佷粙缁嶇瓑淇℃伅銆俓r\n\r\n<b>浜�.鍞悗鏈嶅姟</b>\r\n1.涔欐柟閫氳繃鐢佃瘽銆丒MAIL鏂瑰紡鍚戠敳鏂规彁渚涘厤璐规棤闄愭湡鎶�鏈敮鎸佹湇鍔★紝鍗忓姪鐢叉柟瑙e喅鏈蒋浠跺湪浣跨敤涓嚭鐜扮殑闂銆俓r\n2.鐢叉柟鏈夋彁渚涢棶棰樿灏芥弿杩版姤鍛婁笌娴嬭瘯鏁版嵁鐨勪箟鍔★紝浠ユ柟渚夸箼鏂归噸鐜颁笌瑙e喅闂銆俓r\n3.涔欐柟杞欢鏄�氱敤杞欢锛岀敳鏂归渶瑕佹敼鍔ㄦ垨闇�瑕佸鎵樹箼鏂硅繘琛屽畾鍒朵簩娆″紑鍙戯紝鐢叉柟搴斿悓涔欐柟鍙﹁鍗忚锛屽彟鏀跺紑鍙戣垂鐢ㄣ�俓r\n\r\n<b>鍏�.杞欢鍗囩骇</b>\r\n鐢叉柟鍙互鍏嶈垂鍗囩骇鍒扮敳鏂硅喘涔扮増鏈�(5.0)瀵瑰簲鐨勬洿鏂板皬鐗堟湰(濡傦細5.2銆�5.5绛�)銆傚鏋滀箼鏂硅蒋浠舵湁鏂扮殑澶х増鏈�(6.0鍙婁互鍚庣増鏈�)鎺ㄥ嚭锛岀敳鏂瑰闇�鍗囩骇鍒版柊鐗堟湰锛屽湪鏈悎鍚岀璁㈡棩涓変釜鏈堝唴琛ュ樊浠疯繘琛屽崌绾э紝鍚﹀垯鎸変箼鏂瑰埗瀹氱殑鍗囩骇浠锋牸杩涜鍗囩骇銆俓r\n\r\n<b>涓�.鍏跺畠</b>\r\n1.鏈悎鍚屽叡璐伴〉锛屼竴寮忎袱浠斤紝鐢蹭箼鍙屾柟鍚勬墽涓�浠姐�俓r\n2.鏈悎鍚屼紶鐪熶欢涓庡師浠跺叿鏈夊悓绛夋晥鍔涖�俓r\n3.鏈悎鍚岀粡鍙屾柟鍔犵洊鍏珷鍙婃巿鏉冧唬琛ㄧ瀛楀悗鐢熸晥锛屽叿鏈夊悓绛夋硶寰嬫晥鍔涖�俓r\n4.鏈崗璁湭灏戒簨瀹滐紝鍙屾柟鍙嬪ソ鍗忓晢瑙e喅銆傚鏋滃崗鍟嗕笉鎴愶紝鍙彁璇峰箍宸炰徊瑁佸鍛樹細杩涜浠茶銆俓r\n\r\n"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"Text":"Column1"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID;ProductName",
+				"GroupHeader":{
+					"Height":3.59833,
+					"NewPage":"Before",
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Dock":"Top",
+							"Height":0.79375,
+							"Font":{
+								"Name":"妤蜂綋",
+								"Size":142500,
+								"Weight":400,
+								"Charset":134
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"鍚堝悓缂栧彿锛歑SWEB-[#OrderID#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"Dock":"Top",
+							"Top":0.79375,
+							"Height":1.00542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":217500,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"婕旂ず鎵撳嵃鍚堝悓"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Dock":"Fill",
+							"Top":1.79917,
+							"WordWrap":true,
+							"Text":"    璇存槑锛氭紨绀虹敤缁煎悎鏂囧瓧妗嗗疄鐜板悎鍚岀殑鎵撳嵃锛屽苟瀹炵幇鍔ㄦ�佹暟鎹彃鍏ャ�備互涓嬫暟鎹粎涓烘紨绀猴紝涓嶅叿鏈夌湡瀹炴�с�傚姩鎬佹暟鎹彲浠ョ敤鏂囨湰缂栬緫瀵硅瘽妗嗕腑鐨勨�滄彃鍏ュ煙鈥濅笌鈥滆〃杈惧紡鈥濇寜閽彃鍏ャ�傛鏂囦腑鐨勮绐佸嚭鏄剧ず鐨勫唴瀹瑰彲浠ョ敤HTML鏍囩瀹炵幇\r\n"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":3.2,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"Width":8.20208,
+							"Height":3.09563,
+							"TextAlign":"TopLeft",
+							"LnSpacing":8,
+							"HtmlTags":true,
+							"Text":"鐢叉柟鐩栫珷锛�<U>[#CompanyName#]</U>\r\n\r\n鐢叉柟浠h〃锛�<u>               \t</u> \r\n\r\n鏃�    鏈燂細 <u> [#SystemVar(CurrentDateTime):yyyy#] </u>骞� <u> [#SystemVar(CurrentDateTime):M#] </u>鏈�<u> [#SystemVar(CurrentDateTime):d#] </u>"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"Left":8.99583,
+							"Width":7.77875,
+							"Height":3.09563,
+							"TextAlign":"TopLeft",
+							"LnSpacing":8,
+							"HtmlTags":true,
+							"Text":"涔欐柟鐩栫珷锛�<U>骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙� </U>\r\n\r\n涔欐柟浠h〃锛�<u>               \t</u>\r\n\r\n鏃�    鏈燂細<u>     </u>骞�<u>   </u>鏈�<u>   </u>鏃r\n\r\n\r\n"
+						}
+					]
+				}
+			}
+		]
+	}
+}
\ No newline at end of file
diff --git a/public/grf/6e.grf b/public/grf/6e.grf
new file mode 100644
index 0000000..1124022
--- /dev/null
+++ b/public/grf/6e.grf
@@ -0,0 +1,324 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6e.鍙戠エ濂楁墦",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍙戠エ濂楁墦:\r\n\r\n1銆佸皢鏁翠釜鍙戠エ鍒嗚В涓轰笁涓尯鍩燂細澶淬�佹槑缁嗐�佸熬锛屽垎鍒搴旀姤琛ㄧ殑鎶ヨ〃澶淬�佹槑缁嗙綉鏍笺�佹姤琛ㄥ熬銆俓r\n2銆佸皢绌虹櫧鍙戠エ鐨勬壂鎻忓浘浣滀负鎶ヨ〃璁捐鑳屾櫙鍥撅紝鍦ㄩ〉闈㈣鍥句腑鎻掑叆閮ㄤ欢妗嗭紝鏍规嵁鑳屾櫙鍥惧畾浣嶄綅缃笌纭畾澶у皬銆俓r\n3銆佽瀹氬悎閫傜殑缁煎悎鏂囧瓧妗嗙殑鈥滃瓧闂磋窛鈥濆睘鎬у�艰鏂囧瓧杈撳嚭鍒版纭噾棰濅綅鏍忎腑銆俓r\n4銆佽缃患鍚堟枃瀛楁鍓嶅姞鈥�*鈥濇枃瀛楀疄鐜板渾鍦堜腑鐢诲弶鍥惧舰鐨勮緭鍑恒�俓r\n5銆佹姤琛ㄦ棦璁剧疆浜嗗弬鏁版煡璇QL锛屼篃璁剧疆浜嗘槑缁嗘煡璇QL锛涙姤琛ㄥご灏句腑鐨勬暟鎹�氳繃鍙傛暟鏌ヨSQL鑾峰彇锛屽彂绁ㄦ槑缁嗚鏁版嵁閫氳繃鏄庣粏鏌ヨSQL鑾峰彇銆�",
+	"AlignToGrid":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"BackImage":"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sjD2ODgfyo/SFoKKj13U+8t+VGrVZ6a4+hERVRERAREQFDL+u1O7Tf8AKJXKGX9dqd2m/wCUSlSrl5qpqF6T8QvgbNwUc7xKYbMT+ZGBhoYTs4c8N2sb8c/IBYdr0NiN8sLo455IHHokjDS4f22gR/6XhjpWpPgr1p47fAPfBwpdC07U22OFJDSA4ADO1K14Oyd+8F0rtwku693JIyKN0kr2sjYC5znHAaB0klQ6jqApRwunmjhc6XGy2J85ezaxuDcEE5aM4IBcBvyM9oKUel0pRp0UspbH+XC+w9wOyDstBcSG+rd//CyrOmXns0+nGLMwpHbfPNaMTbBLCCQ9pdIDlx3bhjI9StZkmvQySMijdJK9rI2Auc5xwGgdJJXZStNiWlML1OJxIcOBik4QSNx0ZcGjfvGDu/dVKsii1bqkfea/zWK1Rat1SPvNf5rFL6Z5eq0EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBn0eu6n3lvyo1aoqPXdT7y35UatSejj6ERFVEREBERAUMv67U7tN/yiVyltUjYninZZmryRtcwGMNOQ4tJztNP/iFKl9KkUPEbPa1zww+WnEbPa1zww+Wmm/i5FDxGz2tc8MPlpxGz2tc8MPlppv4uRQ8Rs9rXPDD5acRs9rXPDD5aab+LlFq3VI+81/msXHEbPa1zww+WukulyztDJdVuOaHNeBsxDe0gj/R6wFL6S7Z6aiKHiNnte54IfLTiNnte54IfLTTfxcih4jZ7XueCHy04jZ7XueCHy0038XIoeI2e17ngh8tOI2e17ngh8tNN/FyKHiNnte54IfLTiNnte54IfLTTfxcih4jZ7XueCHy04jZ7XueCHy0038XIoeI2e17ngh8tOI2e17ngh8tNN/FyKE0bIH6vc8EPlrrxK12vc8EPlobfpoIs/iVrte54IfLTiVrte54IfLTs7+mgiz+JWu17ngh8tOJWu17ngh8tOzv6aCLP4la7XueCHy04la7XueCHy07O/poIs/iVrte54IfLTiVrte54IfLTs7+mgiz+JWu17ngh8tcilZJ/V7ngh8tDb9L0UPEbPa9zwQ+WnEbPa9zwQ+Wmm/i5FDxGz2vc8EP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",
+	"BackImagePreview":true,
+	"QuerySQL":"select m.CustomerId,c.CompanyName,C.Address,m.OrderDate,c.ContactName+c.Phone as Remark\r\nfrom Orders m left join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID=10255",
+	"Printer":{
+		"Size":256,
+		"Width":18,
+		"Height":11,
+		"LeftMargin":0,
+		"TopMargin":0,
+		"RightMargin":0,
+		"BottomMargin":0
+	},
+	"DetailGrid":{
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"AppendBlankRow":true,
+		"Border":{
+			"Styles":"[]",
+			"Pen":{
+				"Width":0
+			}
+		},
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom OrderDetails d inner join Products p on P.ProductID=D.ProductID\r\nwhere d.OrderID=10256",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":0.75
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":6.6675
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.24354
+			},
+			{
+				"Name":"Discount",
+				"Width":1.08479
+			},
+			{
+				"Name":"Amount",
+				"Width":1.00542
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.27542
+			},
+			{
+				"Name":"NetAmount",
+				"Width":0.714375
+			},
+			{
+				"Name":"Column1",
+				"Width":3.28083
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"RowsPerPage":4,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa"
+				},
+				{
+					"Column":"UnitPrice",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight"
+				},
+				{
+					"Column":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight"
+				},
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"CharSpacing":9,
+							"Text":"[#Amount*100:0#]"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"CustomerId"
+		},
+		{
+			"Name":"CompanyName"
+		},
+		{
+			"Name":"Address"
+		},
+		{
+			"Name":"OrderDate",
+			"DataType":"DateTime"
+		},
+		{
+			"Name":"Remark"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":3.20146,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":2.56646,
+					"Top":2.61938,
+					"Width":4.84188,
+					"Height":0.582083,
+					"Parameter":"Address"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Left":12.3031,
+					"Top":2.67229,
+					"Width":1.37583,
+					"Height":0.555625,
+					"TextAlign":"MiddleRight",
+					"Text":"[#OrderDate:yyyy#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Left":14.1288,
+					"Top":2.67229,
+					"Width":0.846667,
+					"Height":0.555625,
+					"TextAlign":"MiddleRight",
+					"Text":"[#OrderDate:M#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":15.3723,
+					"Top":2.67229,
+					"Width":0.846667,
+					"Height":0.555625,
+					"TextAlign":"MiddleRight",
+					"Text":"[#OrderDate:d#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":2.56646,
+					"Top":2.03729,
+					"Width":4.84188,
+					"Height":0.582083,
+					"Parameter":"CompanyName"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"Height":3.51896,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":4.02167,
+					"Top":0.0264583,
+					"Width":8.62542,
+					"Height":0.873125,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"CharSpacing":28,
+					"Text":"*[#Sum(Amount):$$$$#.00#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":2.56646,
+					"Top":1.27,
+					"Width":14.5256,
+					"Height":0.529167,
+					"Parameter":"Remark"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":13.8113,
+					"Top":0.15875,
+					"Width":3.22792,
+					"Height":0.635,
+					"TextAlign":"MiddleRight",
+					"CharSpacing":9,
+					"Text":"[#Sum(Amount)*100:0#]"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6f.grf b/public/grf/6f.grf
new file mode 100644
index 0000000..72fee09
--- /dev/null
+++ b/public/grf/6f.grf
@@ -0,0 +1,327 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6f.鍙戠エ鎴愭壒濂楁墦",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍙戠エ鎴愭壒濂楁墦銆俓r\n1銆佸畾涔変竴涓垎缁勶紝浠ュ彂绁ㄥ崟鍙蜂綔涓哄垎缁勪緷鎹瓧娈点�俓r\n2銆佸皢鏁翠釜鍙戠エ鍒嗚В涓轰笁涓尯鍩燂細澶淬�佹槑缁嗐�佸熬锛屽垎鍒搴旀姤琛ㄧ殑鍒嗙粍澶淬�佹槑缁嗙綉鏍笺�佸垎缁勫熬銆俓r\n3銆佸皢绌虹櫧鍙戠エ鐨勬壂鎻忓浘浣滀负鎶ヨ〃璁捐鑳屾櫙鍥撅紝鍦ㄩ〉闈㈣鍥句腑鎻掑叆閮ㄤ欢妗嗭紝鏍规嵁鑳屾櫙鍥惧畾浣嶄綅缃笌纭畾澶у皬銆俓r\n4銆佸垎缁勫熬涓婄殑閮ㄤ欢妗嗕笉鑳芥寜鑳屾櫙鍥惧畾浣峔r\n5銆佽瀹氬悎閫傜殑缁煎悎鏂囧瓧妗嗙殑鈥滃瓧闂磋窛鈥濆睘鎬у�艰鏂囧瓧杈撳嚭鍒版纭噾棰濅綅鏍忎腑銆俓r\n6銆佽缃患鍚堟枃瀛楁鍓嶅姞鈥�*鈥濇枃瀛楀疄鐜板渾鍦堜腑鐢诲弶鍥惧舰鐨勮緭鍑恒�俓r\n7銆佸湪閲戦澶у啓缁煎悎鏂囧瓧妗嗕笂鍐欒剼鏈紝褰撻噾棰濊揪鍒版渶楂樹綅鏃讹紝涓嶆樉绀烘渶鍓嶉潰鐨勫湀鍙夌鍙枫��",
+	"AlignToGrid":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"BackImage":"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sjD2ODgfyo/SFoKKj13U+8t+VGrVZ6a4+hERVRERAREQFDL+u1O7Tf8AKJXKGX9dqd2m/wCUSlSrl5qpqF6T8QvgbNwUc7xKYbMT+ZGBhoYTs4c8N2sb8c/IBYdr0NiN8sLo455IHHokjDS4f22gR/6XhjpWpPgr1p47fAPfBwpdC07U22OFJDSA4ADO1K14Oyd+8F0rtwku693JIyKN0kr2sjYC5znHAaB0klQ6jqApRwunmjhc6XGy2J85ezaxuDcEE5aM4IBcBvyM9oKUel0pRp0UspbH+XC+w9wOyDstBcSG+rd//CyrOmXns0+nGLMwpHbfPNaMTbBLCCQ9pdIDlx3bhjI9StZkmvQySMijdJK9rI2Auc5xwGgdJJXZStNiWlML1OJxIcOBik4QSNx0ZcGjfvGDu/dVKsii1bqkfea/zWK1Rat1SPvNf5rFL6Z5eq0EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBn0eu6n3lvyo1aoqPXdT7y35UatSejj6ERFVEREBERAUMv67U7tN/yiVyltUjYninZZmryRtcwGMNOQ4tJztNP/iFKl9KkUPEbPa1zww+WnEbPa1zww+Wmm/i5FDxGz2tc8MPlpxGz2tc8MPlppv4uRQ8Rs9rXPDD5acRs9rXPDD5aab+LlFq3VI+81/msXHEbPa1zww+WukulyztDJdVuOaHNeBsxDe0gj/R6wFL6S7Z6aiKHiNnte54IfLTiNnte54IfLTTfxcih4jZ7XueCHy04jZ7XueCHy0038XIoeI2e17ngh8tOI2e17ngh8tNN/FyKHiNnte54IfLTiNnte54IfLTTfxcih4jZ7XueCHy04jZ7XueCHy0038XIoeI2e17ngh8tOI2e17ngh8tNN/FyKE0bIH6vc8EPlrrxK12vc8EPlobfpoIs/iVrte54IfLTiVrte54IfLTs7+mgiz+JWu17ngh8tOJWu17ngh8tOzv6aCLP4la7XueCHy04la7XueCHy07O/poIs/iVrte54IfLTiVrte54IfLTs7+mgiz+JWu17ngh8tcilZJ/V7ngh8tDb9L0UPEbPa9zwQ+WnEbPa9zwQ+Wmm/i5FDxGz2vc8EP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",
+	"BackImagePreview":true,
+	"Printer":{
+		"Size":256,
+		"Width":18.2,
+		"Height":11,
+		"LeftMargin":0,
+		"TopMargin":0,
+		"RightMargin":0,
+		"BottomMargin":0
+	},
+	"DetailGrid":{
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"AppendBlankRow":true,
+		"Border":{
+			"Styles":"[]",
+			"Pen":{
+				"Width":0
+			}
+		},
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,C.Address,m.OrderDate,c.ContactName+c.Phone as Remark,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join (OrderDetails d inner join Products p on p.ProductID=d.ProductID)\r\non d.OrderID=m.OrderID) left join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID>=10255 and m.OrderID<10260\r\norder by  m.OrderID",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Remark"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":0.75
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":6.6675
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.24354
+			},
+			{
+				"Name":"Discount",
+				"Width":1.08479
+			},
+			{
+				"Name":"Amount",
+				"Width":1.16417
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":2.27542
+			},
+			{
+				"Name":"NetAmount",
+				"Width":0.714375
+			},
+			{
+				"Name":"Column1",
+				"Width":3.28083
+			}
+		],
+		"ColumnContent":{
+			"Height":0.82,
+			"AdjustRowHeight":false,
+			"RowsPerPage":5,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa"
+				},
+				{
+					"Column":"UnitPrice",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight"
+				},
+				{
+					"Column":"Discount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"DisCountAmt",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight"
+				},
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"CharSpacing":9,
+							"Text":"[#Amount*100:0#]"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.01,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":3.2,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"Left":12.4883,
+							"Top":2.67229,
+							"Width":1.37583,
+							"Height":0.555625,
+							"TextAlign":"MiddleRight",
+							"Text":"[#OrderDate:yyyy#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"Left":14.314,
+							"Top":2.67229,
+							"Width":0.846667,
+							"Height":0.555625,
+							"TextAlign":"MiddleRight",
+							"Text":"[#OrderDate:M#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"Left":15.5575,
+							"Top":2.67229,
+							"Width":0.846667,
+							"Height":0.555625,
+							"TextAlign":"MiddleRight",
+							"Text":"[#OrderDate:d#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":2.64583,
+							"Top":1.95792,
+							"Width":4.78896,
+							"Height":0.582083,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":2.61938,
+							"Top":2.54,
+							"Width":4.78896,
+							"Height":0.582083,
+							"DataField":"Address"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Left":11.8798,
+							"Top":0.661458,
+							"Width":4.68313,
+							"Height":0.687917,
+							"DataField":"OrderDate"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":2.19604,
+					"NewPage":"After",
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Left":4.02167,
+							"Top":0.0264583,
+							"Width":8.62542,
+							"Height":0.873125,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleRight",
+							"CharSpacing":28,
+							"GetDisplayTextScript":"//褰撻噾棰濊揪鍒版渶楂樹綅鏃讹紝灏嗘樉绀烘枃瀛楃殑鏈�鍓嶉潰鈥�*鈥濆瓧绗﹀幓鎺夛紝瀹炵幇涓嶆樉绀烘渶鍓嶉潰鐨勫湀鍙夌鍙穃r\nvar str = Sender.DisplayText;\r\nif (str.length > 8)\r\n  Sender.DisplayText = str.substr(1);",
+							"Text":"*[#Sum(Amount):$$$$#.00#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"Left":13.9435,
+							"Top":0.15875,
+							"Width":3.22792,
+							"Height":0.635,
+							"TextAlign":"MiddleRight",
+							"CharSpacing":9,
+							"Text":"[#Sum(Amount)*100:0#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Left":2.59292,
+							"Top":1.29646,
+							"Width":14.5785,
+							"Height":0.5,
+							"DataField":"Remark"
+						}
+					]
+				}
+			}
+		]
+	}
+}
\ No newline at end of file
diff --git a/public/grf/6g.grf b/public/grf/6g.grf
new file mode 100644
index 0000000..e3bed07
--- /dev/null
+++ b/public/grf/6g.grf
@@ -0,0 +1,325 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6g.蹇�掑崟濂楁墦",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず蹇�掑崟濂楁墦銆俓r\n1銆佸畾涔変竴涓姤琛ㄥご锛岄珮搴︾瓑鍚屽揩閫掑崟鐨勯珮搴︺�俓r\n2銆佸皢绌哄揩閫掑崟鐨勬壂鎻忓浘浣滀负鎶ヨ〃璁捐鑳屾櫙鍥撅紝鍦ㄩ〉闈㈣鍥句腑鎻掑叆閮ㄤ欢妗嗭紝鏍规嵁鑳屾櫙鍥惧畾浣嶄綅缃笌纭畾澶у皬銆俓r\n3銆佽缃偖鏀跨紪鐮佸鐨勬枃瀛楁鐨勨�滃瓧闂磋窛鈥濆睘鎬э紝璁╂枃瀛楄緭鍑哄埌姝g‘浣嶇疆銆俓r\n",
+	"AlignToGrid":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"BackImage":"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",
+	"BackImagePreview":true,
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"QuerySQL":"select * from Employees\r\nwhere EmployeeID=5",
+	"Printer":{
+		"Size":256,
+		"Width":23,
+		"Height":12.6,
+		"LeftMargin":0,
+		"TopMargin":0,
+		"RightMargin":0,
+		"BottomMargin":0
+	},
+	"Parameter":[
+		{
+			"Name":"EmployeeID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"LastName"
+		},
+		{
+			"Name":"FirstName"
+		},
+		{
+			"Name":"Title"
+		},
+		{
+			"Name":"TitleOfCourtesy"
+		},
+		{
+			"Name":"BirthDate",
+			"DataType":"DateTime"
+		},
+		{
+			"Name":"HireDate",
+			"DataType":"DateTime"
+		},
+		{
+			"Name":"Address"
+		},
+		{
+			"Name":"City"
+		},
+		{
+			"Name":"Region"
+		},
+		{
+			"Name":"PostalCode"
+		},
+		{
+			"Name":"Country"
+		},
+		{
+			"Name":"HomePhone"
+		},
+		{
+			"Name":"Extension"
+		},
+		{
+			"Name":"Notes"
+		},
+		{
+			"Name":"ReportsTo",
+			"DataType":"Integer"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":12.1973,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":3.22792,
+					"Top":2.46063,
+					"Width":2.4,
+					"Height":0.582083
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":7.32896,
+					"Top":2.43417,
+					"Width":2.4,
+					"Height":0.582083
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":3.54542,
+					"Top":3.22792,
+					"Width":7.01146,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"Text":"骞垮窞閿愭氮杞欢鎶�鏈湁闄愬叕鍙�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":3.88938,
+					"Top":4.07458,
+					"Width":1.11125,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"骞夸笢"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":6.0325,
+					"Top":4.1275,
+					"Width":1.11125,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"骞垮窞"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox6",
+					"Left":8.255,
+					"Top":4.10104,
+					"Width":1.11125,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎶ヨ〃"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":4.15396,
+					"Top":5.79438,
+					"Width":2.59292,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"Text":"020-82520837"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"Left":8.04333,
+					"Top":5.90021,
+					"Width":2.54,
+					"Height":0.423333,
+					"TextAlign":"MiddleRight",
+					"CharSpacing":8.2,
+					"Text":"510660"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"UserPhone",
+					"Left":17.3567,
+					"Top":2.80458,
+					"Width":3.38667,
+					"Height":0.687917,
+					"ShrinkFontToFit":true,
+					"Text":"[#{HomePhone}#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"UserCompany",
+					"Left":12.9646,
+					"Top":3.4925,
+					"Width":7.75229,
+					"Height":0.687917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"[#{Title}#][#{TitleOfCourtesy}#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"UserProvince",
+					"Left":13.9171,
+					"Top":4.28625,
+					"Width":1.34938,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"TextAlign":"MiddleCenter",
+					"Parameter":"Region"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"UserCity",
+					"Left":16.1131,
+					"Top":4.28625,
+					"Width":1.29646,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"TextAlign":"MiddleCenter",
+					"Parameter":"City"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"UserTown",
+					"Left":18.3356,
+					"Top":4.28625,
+					"Width":1.27,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"TextAlign":"MiddleCenter",
+					"Parameter":"Country"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"UserZip",
+					"Left":18.1504,
+					"Top":5.92667,
+					"Width":2.54,
+					"Height":0.423333,
+					"TextAlign":"MiddleRight",
+					"CharSpacing":8.2,
+					"Text":"[#{PostalCode}#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"UserAddress",
+					"Left":11.2183,
+					"Top":4.94771,
+					"Width":9.44563,
+					"Height":0.899583,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"WordWrap":true,
+					"Text":"[#{Address}#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":1.74625,
+					"Top":4.92125,
+					"Width":8.78417,
+					"Height":0.899583,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"WordWrap":true,
+					"Text":"杞欢寮�鍙戝ぇ閬撲腑XX鍙疯櫄鎷熻蒋浠跺ぇ鍘5-1608"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":12.6471,
+					"Top":2.75167,
+					"Width":2.40771,
+					"Height":0.714375,
+					"ShrinkFontToFit":true,
+					"Text":"[#{LastName}#][#{FirstName}#]"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6h.grf b/public/grf/6h.grf
new file mode 100644
index 0000000..bb3e367
--- /dev/null
+++ b/public/grf/6h.grf
@@ -0,0 +1,299 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6h.鏀エ濂楁墦",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鏀エ濂楁墦銆俓r\n1銆佸畾涔変竴涓姤琛ㄥご锛岄珮搴︾瓑鍚屾敮绁ㄧ殑楂樺害銆俓r\n2銆佸皢绌虹櫧鏀エ鐨勬壂鎻忓浘浣滀负鎶ヨ〃璁捐鑳屾櫙鍥撅紝鍦ㄩ〉闈㈣鍥句腑鎻掑叆閮ㄤ欢妗嗭紝鏍规嵁鑳屾櫙鍥惧畾浣嶄綅缃笌纭畾澶у皬銆俓r\n3銆佽缃噾棰濇寜浣嶆樉绀哄鐨勬枃瀛楁鐨勨�滃瓧闂磋窛鈥濆睘鎬э紝璁╂枃瀛楄緭鍑哄埌姝g‘浣嶇疆銆俓r\n4銆佹敮绁ㄧ殑鍑虹エ鏃ユ湡鏈夌壒娈婄殑鏍煎紡瑙勮寖瑕佹眰锛屼笉鑳界洿鎺ョ敤鏍煎紡鍖栦覆鏍煎紡鍑烘潵锛屾墍浠ラ渶瑕佺敤鎶ヨ〃鑴氭湰浜х敓鐗规畩鐨勬樉绀烘枃瀛楋紝璇锋煡鐪嬫姤琛ㄤ腑鐨勮剼鏈唬鐮併�俓r\n\r\n鏀エ涓嚭绁ㄦ棩鏈熸湀鏃ラ儴鍒嗚鑼冭姹傦細\r\n鏀エ涓殑鏈堟棩鏁板瓧濡傛灉绛変簬10鎴�20 鍒欒鏄剧ず涓衡�滃9鎷锯�濇垨鈥滆窗鎷锯�濄�傚鏋�1x鎴�2x锛屽垯瑕佹樉绀轰负鈥滃9鎷惧嚑鈥濇垨鈥滆窗鎷惧嚑鈥濓紝濡�15涓哄9鎷句紞锛�28涓鸿窗鎷炬崒銆�",
+	"AlignToGrid":false,
+	"ShowGrid":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"BackImage":"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Y03bdynX6Wz9Ft2SfoREz7/o/wAtBSMeoSQACRz+kP8A5FP6biROhA455J7qTPS3O9Pbun37Ymf5cKX5x+ASKmruxbAa/XrcHNJLQ4atB2Pdofo7vahDG6a4ikOpcSS1rAQSXe5z2gbvpfzm5Gt/ZkN9b0Pojbv2fRlmzbu/M9T0f/Ak+N+z9Psvo8uj0tvPt9X6H9j1ENEMPWxNnqfaatkgbtwiXaNE7vzpT2PoBDHX1hzpDWlwklv09vu/NSP7MgT9nja7b9D6G5m/b/I9T0N//Ceknd9g9Vm70fW3H052bt8D1Nk/4Tbt3paJZhldpOywO2mHbdYMfRch7MYQw2MG07Q2Ygn8z6X0kXH+zbD9l9PZOvpxE/2FD/J2538xu3e76M75f9L+Xv8AV/8ABEvSpgTiRv8AXrAj6QcBoBu+lP0dqkX4uz3X17XDuRBBJZ4/nO3Kbfscjb6UwdsbZj86E7fs0jZ6c6bYiYn81LRSOmrHa51VLmgt1cxvI/N92qm7DqdY21wBsZ9B5Go0j26qQ2b3bNnqfnRz/aj3Kf6Ttt/FLRTD0f5X4J/SOvu/BP8Apf5P4pj60H6HHmlop//Z/+0NRlBob3Rvc2hvcCAzLjAAOEJJTQQlAAAAAAAQAAAAAAAAAAAAAAAAAAAAADhCSU0D7QAAAAAAEAEsAAAAAQACASwAAAABAAI4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAHg4QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0ECgAAAAAAAQAAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAA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ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSd3Jz8+/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgBFgMgAwEiAAIRAQMRAf/dAAQAMv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0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",
+	"BackImagePreview":true,
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Size":256,
+		"Width":8,
+		"Height":23,
+		"Oriention":"Landscape",
+		"LeftMargin":0,
+		"TopMargin":0,
+		"RightMargin":0,
+		"BottomMargin":0
+	},
+	"Parameter":[
+		{
+			"Name":"PayTo",
+			"Value":"閿愭氮杞欢鎶�鏈湁闄愬叕鍙�"
+		},
+		{
+			"Name":"Year",
+			"DataType":"Integer",
+			"Format":"$$$0000",
+			"Value":"2006"
+		},
+		{
+			"Name":"Month",
+			"DataType":"Integer",
+			"Format":"$$$00",
+			"Value":"11"
+		},
+		{
+			"Name":"Day",
+			"DataType":"Integer",
+			"Format":"$$$00",
+			"Value":"28"
+		},
+		{
+			"Name":"Amount",
+			"DataType":"Float",
+			"Value":"20080808.88"
+		},
+		{
+			"Name":"Usage",
+			"Value":"璐拱Grid++Report涓撲笟鐗�"
+		},
+		{
+			"Name":"Remark",
+			"Value":"Grid++Report 鐢ㄦ埛鍖呮嫭閫氱敤杞欢鍘傚晢涓庣郴缁熼泦鎴愬晢锛屼紒涓氳鏀夸簨涓氬崟浣嶏紝涓汉鐢ㄦ埛绛�"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":8,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"BackColor":"ECEBD5",
+					"Left":16.7746,
+					"Top":2.98979,
+					"Width":4.60375,
+					"Height":0.608542,
+					"Font":{
+						"Name":"鏂规濮氫綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"CharSpacing":8,
+					"Text":"楼[#Amount*100:0#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":7.67292,
+					"Top":3.86292,
+					"Width":4.60375,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"Text":"StaticBox3",
+					"Parameter":"Usage"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":8.17563,
+					"Top":2.03729,
+					"Width":7.11729,
+					"Height":0.529167,
+					"Text":"StaticBox4",
+					"Parameter":"PayTo"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":1.85208,
+					"Top":5.23875,
+					"Width":2.77813,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"StaticBox5",
+					"Parameter":"PayTo"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":1.79917,
+					"Top":6.21771,
+					"Width":2.77813,
+					"Height":0.449792,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"StaticBox6",
+					"Parameter":"Usage"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":0.555625,
+					"Top":2.72521,
+					"Width":4.02167,
+					"Height":1.66688,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"LnSpacing":8,
+					"Text":"[#Remark#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":8.59896,
+					"Top":2.64583,
+					"Width":8.38729,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"[#Amount:$$#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Left":1.85208,
+					"Top":5.60917,
+					"Width":2.69875,
+					"Height":0.529167,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"[#Amount:#,##0.00#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"Left":9.55146,
+					"Top":1.5875,
+					"Width":1.5875,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"StaticBox8",
+					"Parameter":"Year"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"stMonth",
+					"Left":11.6152,
+					"Top":1.61396,
+					"Width":1.19063,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"GetDisplayTextScript":"//鏀エ涓殑鏈堟棩鏁板瓧濡傛灉绛変簬10鎴�20 鍒欒鏄剧ず涓篭"澹规嬀\"鎴朶"璐版嬀\"\r\n//濡傛灉1x鎴�2x锛屽垯瑕佹樉绀轰负\"澹规嬀鍑燶"鎴朶"璐版嬀鍑燶"锛屽15涓哄9鎷句紞锛�28涓鸿窗鎷炬崒\r\n//鑰孏rid++Report閫氳繃璁剧疆鏍煎紡涓插苟涓嶈兘鐩存帴寰楀埌杩欐牱鐨勬暟鎹紝鎵�浠ヨ閫氳繃 TextBoxGetDisplayText\r\n//浜嬩欢鏀瑰彉鍏舵樉绀烘枃瀛梊r\nvar Month = Report.ParameterByName(\"Month\").AsInteger;\r\nif (Month == 10)\r\n{\r\n    Sender.DisplayText = \"澹规嬀\";\r\n}\r\nelse if (Month > 10)\r\n{\r\n    var RawDisplayText = Sender.DisplayText;\r\n    RawDisplayText = RawDisplayText.substr(0, 1) + \"鎷綷" + RawDisplayText.substr(1);\r\n    Sender.DisplayText = RawDisplayText;\r\n}\r\n",
+					"Parameter":"Month"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"stDay",
+					"Left":13.2027,
+					"Top":1.61396,
+					"Width":1.19063,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"GetDisplayTextScript":"//鏀エ涓殑鏈堟棩鏁板瓧濡傛灉绛変簬10鎴�20 鍒欒鏄剧ず涓篭"澹规嬀\"鎴朶"璐版嬀\"\r\n//濡傛灉1x鎴�2x锛屽垯瑕佹樉绀轰负\"澹规嬀鍑燶"鎴朶"璐版嬀鍑燶"锛屽15涓哄9鎷句紞锛�28涓鸿窗鎷炬崒\r\n//鑰孏rid++Report閫氳繃璁剧疆鏍煎紡涓插苟涓嶈兘鐩存帴寰楀埌杩欐牱鐨勬暟鎹紝鎵�浠ヨ閫氳繃 TextBoxGetDisplayText\r\n//浜嬩欢鏀瑰彉鍏舵樉绀烘枃瀛梊r\nvar Day = Report.ParameterByName(\"Day\").AsInteger;\r\nif (Day == 10)\r\n{\r\n        Sender.DisplayText = \"澹规嬀\";\r\n}\r\nelse if (Day == 20)\r\n{\r\n        Sender.DisplayText = \"璐版嬀\";\r\n}\r\nelse  if (Day > 10)\r\n{\r\n    var RawDisplayText = Sender.DisplayText;\r\n    RawDisplayText = RawDisplayText.substr(0, 1) + \"鎷綷" + RawDisplayText.substr(1);\r\n    Sender.DisplayText = RawDisplayText;\r\n}\r\n",
+					"Text":"stDay",
+					"Parameter":"Day"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Left":1.93146,
+					"Top":4.47146,
+					"Width":0.873125,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"[#Year:0000#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":2.93688,
+					"Top":4.52438,
+					"Width":0.608542,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"[#Month:00#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox7",
+					"Left":3.73063,
+					"Top":4.52438,
+					"Width":0.608542,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Text":"[#Day:00#]"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6i.grf b/public/grf/6i.grf
new file mode 100644
index 0000000..af5d1bd
--- /dev/null
+++ b/public/grf/6i.grf
@@ -0,0 +1,404 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6i.澶氳仈绁ㄦ嵁",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず閿�鍞崟鎹墦鍗帮紝閫傜敤浜庡鍐欐墦鍗扮焊銆俓r\n\r\n璁捐鍦ㄨ〃鏍肩殑鍙宠竟鏍忔樉绀哄鑱旀彁绀烘枃瀛楃殑杩囩▼锛氶鍏堣繘鍏ラ〉闈㈣鍥撅紱鐒跺悗鐐瑰嚮榧犳爣鍙抽敭鎵撳紑寮瑰嚭寮忓叧鑱旇彍鍗曪紝閫夋嫨鈥滄樉绀烘诞鍔ㄨ妭鈥濓紱鏈�鍚庡湪娴姩鑺備笂鎻掑叆鎭板綋鐨勯儴浠舵銆�",
+	"PageDivideCount":2,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"AppendBlankRow":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,c.Address,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<10255",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"0"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy/MM/dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Address"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":1.93146
+			},
+			{
+				"Name":"ProductName",
+				"Width":5.74146
+			},
+			{
+				"Name":"Qty",
+				"Width":2.06375
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.56646
+			},
+			{
+				"Name":"Extented",
+				"Width":3.33375
+			}
+		],
+		"ColumnContent":{
+			"Height":0.714375,
+			"RowsPerPage":8,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Qty",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Extented",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"PrintType":"Form",
+					"Text":"璐у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"PrintType":"Form",
+					"Text":"璐у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Qty",
+					"TextAlign":"MiddleCenter",
+					"PrintType":"Form",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"PrintType":"Form",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Extented",
+					"PrintType":"Form",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":2.98979,
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox33",
+							"Center":"Horizontal",
+							"Left":5.715,
+							"Top":0.185208,
+							"Width":4.15396,
+							"Height":0.47625,
+							"PrintType":"Form",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":120000,
+								"Weight":400,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍖楅璐告槗鏈夐檺鍏徃"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox38",
+							"Center":"Horizontal",
+							"Left":5.68854,
+							"Top":0.687917,
+							"Width":4.20688,
+							"Height":0.714375,
+							"PrintType":"Form",
+							"Font":{
+								"Name":"妤蜂綋",
+								"Size":157500,
+								"Weight":400,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"閿�鍞彂璐у崟"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox40",
+							"Left":6.77333,
+							"Top":1.56104,
+							"Width":1.19063,
+							"Height":0.635,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"瀹㈡埛:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":7.96396,
+							"Top":1.5875,
+							"Width":7.43479,
+							"Height":0.608542,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox41",
+							"Left":6.77333,
+							"Top":2.19604,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板潃:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":7.96396,
+							"Top":2.19604,
+							"Width":7.43479,
+							"Height":0.608542,
+							"DataField":"Address"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox42",
+							"Top":1.56104,
+							"Width":1.19063,
+							"Height":0.635,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍗曞彿:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox43",
+							"Top":2.19604,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鏃ユ湡:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Left":1.19063,
+							"Top":2.19604,
+							"Width":4.20688,
+							"Height":0.608542,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox5",
+							"Left":1.19063,
+							"Top":1.5875,
+							"Width":4.20688,
+							"Height":0.608542,
+							"DataField":"OrderID"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":1.00542,
+					"NewPage":"After",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox34",
+							"Left":4.97417,
+							"Top":0.185208,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍟嗗搧閲戦锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox35",
+							"Left":-0.0264583,
+							"Top":0.185208,
+							"Width":1.37583,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox36",
+							"Left":11.1919,
+							"Top":0.211667,
+							"Width":1.64042,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鎬婚噾棰濓細"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"AmtSummaryBox",
+							"Left":6.985,
+							"Top":0.185208,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox7",
+							"Left":12.7794,
+							"Top":0.211667,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"[#Sum(Amount)+Freight:#,##0.00#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Left":1.40229,
+							"Top":0.211667,
+							"Width":3.20146,
+							"Height":0.582083,
+							"DataField":"Freight"
+						}
+					]
+				}
+			}
+		]
+	},
+	"Control":[
+		{
+			"Type":"MemoBox",
+			"Name":"MemoBox8",
+			"Left":18.6002,
+			"Top":3.20146,
+			"Width":0.79375,
+			"Height":8.81062,
+			"TextAlign":"MiddleCenter",
+			"TextOrientation":"U2DL2R0",
+			"Text":"绗竴鑱旓細瀛樻牴 绗簩鑱旓細璐㈠姟 绗笁鑱旓細缁撳笎"
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6j.grf b/public/grf/6j.grf
new file mode 100644
index 0000000..87dd2ef
--- /dev/null
+++ b/public/grf/6j.grf
@@ -0,0 +1,446 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6j.澶氳仈绁ㄦ嵁闈炲鍐欑焊",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐩殑锛氬皢鍗曟嵁鍦ㄤ竴寮犵焊涓婇噸澶嶆墦鍗帮紝浜х敓涓嶅悓鐨勮仈娆★紝涓�鑱斾腑杩樿鎺у埗鏄剧ず鐨勮鏁帮紝瓒呰繃鐨勮鍦ㄤ笅涓�椤电户缁樉绀篭r\n\r\n瀹炵幇瑕佺偣锛歕r\n1銆侀�氳繃SQL鐨刄NION灏嗙浉鍚岀殑鏁版嵁閲嶅浜х敓銆俓r\n2銆佸湪SQL涓鍔犺緟鍔╁瓧娈碉紝鑱旀(ToWho)瀛楁涓庨〉鍙�(PageNo)瀛楁銆傝仈娆″瓧娈垫寚瀹氭暟鎹簲璇ユ墦鍗板湪鍝竴鑱旓紝椤靛彿瀛楁鎸囧畾鏈瑪鏁版嵁灞瀄r\r\n浜庢鍗曠殑绗嚑椤垫暟鎹�俓r\n3銆佸湪鎶ヨ〃涓诲璞$殑鈥滃紑濮嬪鐞嗚剼鏈�濆睘鎬т笂鍐欐姤琛ㄨ剼鏈紝鏍规嵁鍗曞彿銆佽仈娆′笌姣忛〉鏄剧ず琛屾暟纭畾姣忎竴绗旀暟鎹殑椤靛彿鍊笺�俓r\n4銆佸湪璁板綍闆嗕笂瀹氫箟鈥滄帓搴忓瓧娈碘�濆睘鎬э紝鎺掑簭瀛楁渚濇涓哄崟鍙枫�侀〉鍙蜂笌鑱旀銆俓r\n5銆佸畾涔夊垎缁勭殑渚濇嵁瀛楁涓哄崟鍙枫�侀〉鍙蜂笌鑱旀銆俓r\n6銆佹瘡鑱旂殑鎸囩ず鏂囧瓧(濡傦細瀛樻牴鑱斻�佸鎴疯仈)鍦ㄦ诞鍔ㄩ儴浠舵涓畾涔夛紝骞跺湪鎶ヨ〃涓诲璞$殑鈥滈〉寮�濮嬭剼鏈�濆睘鎬т笂鍐欒剼鏈帶鍒跺叾鍦ㄥ綋鍓嶉〉涓璡r\r\n鏄惁鏄剧ず銆傛敞鎰忥細杩欓噷鐨勬诞鍔ㄩ儴浠舵鏄噸鍙犵殑锛岀洰鐨勬槸涓轰簡璁╂寚绀烘枃瀛楁樉绀哄湪鐩稿悓鐨勪綅缃�俓r\n\r\n鏇村璇存槑锛歕r\n1銆佸鏋滀竴娆″彧瑕佹墦鍗颁竴绗斿崟鐨勬暟鎹紝浠ヤ笂鍗曞彿瀛楁鐩稿叧閮ㄥ垎鍙互鍘绘帀銆俓r\n2銆佸鏋滄槸瑕佹墦鍗�3鑱旀垨4鑱旓紝鍒欓渶瑕佸澧炲姞SQL涓璘NION鐨勬鏁帮紝骞剁粰姣忎釜瀛怱QL涓殑鑱旀(ToWho)瀛楁鎸囧畾涓嶅悓鐨勫父鏁般�� \r\n",
+	"PageDivideCount":2,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ProcessBeginScript":"//鏍规嵁鍗曞彿銆佽仈娆′笌姣忛〉鏄剧ず琛屾暟纭畾姣忎竴绗旀暟鎹殑椤靛彿鍊糪r\nvar Recordset = Report.DetailGrid.Recordset;\r\nvar OrderIDFld = Recordset.Fields.Item(\"OrderID\"); //鍗曞彿瀛楁\r\nvar ToWhoFld = Recordset.Fields.Item(\"ToWho\");  //鑱旀瀛愭\r\nvar PageNoFld = Recordset.Fields.Item(\"PageNo\"); //椤靛彿瀛楁\r\nvar RowsPerPage = Report.DetailGrid.ColumnContent.RowsPerPage; //姣忛〉琛屾暟\r\n\r\nvar CurOrderID=0;\r\nvar CurToWho = 0;\r\nvar CurOrderCount=0;\r\nRecordset.First();\r\nwhile ( !Recordset.Eof() )\r\n{\r\n  var OrderID = OrderIDFld.AsInteger;\r\n  var ToWho = ToWhoFld.AsInteger;\r\n  if ((OrderID != CurOrderID) || (ToWho != CurToWho)) //鍒ゆ柇鍗曞彿涓庤仈娆℃槸鍚﹀彉鍖朶r\n  {\r\n    CurOrderID = OrderID;\r\n    CurToWho = ToWho;\r\n    CurOrderCount=0;\r\n  }\r\n\r\n  //璁剧疆椤靛彿瀛楁锛屼慨鏀硅褰曢泦鐨勮褰曪紝寮�濮嬪繀椤昏皟Edit鏂规硶锛屽畬鎴愭椂蹇呴』璋働ost鏂规硶\r\n  Recordset.Edit();\r\n  PageNoFld.AsInteger = parseInt(CurOrderCount/RowsPerPage) + 1; \r\n  Recordset.Post();\r\n\r\n  ++CurOrderCount;\r\n  Recordset.Next();\r\n}",
+	"PageStartScript":"//鏍规嵁椤靛彿纭畾鑱旀鎸囩ず鏂囧瓧鏄惁鏄剧ず銆傗��%鈥濊〃绀烘懜闄よ繍绠梊r\nvar isUpPage = (Report.SystemVarValue(3) %2 ==1); //grsvPageNumber==3\r\nReport.ControlByName(\"mbSelf\").Visible = isUpPage ; \r\nReport.ControlByName(\"mbCustomer\").Visible = !isUpPage ; ",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"AppendBlankRow":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID as OrderID, 1 as ToWho, 1 as PageNo, m.CustomerId,c.CompanyName,c.Address,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<10252\r\nunion\r\nselect m.OrderID as OrderID, 2 as ToWho, 1 as PageNo, m.CustomerId,c.CompanyName,c.Address,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<10252\r\n\r\norder by OrderID, ToWho",
+			"SortFields":"OrderID;PageNo;ToWho",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ToWho",
+					"Type":"Integer",
+					"GetDisplayTextScript":"if (Sender.AsInteger ==1 )\r\n  Sender.DisplayText = \"瀛樻牴鑱擻";\r\nelse\r\n  Sender.DisplayText = \"瀹㈡埛鑱擻";\r\n"
+				},
+				{
+					"Name":"PageNo",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"0"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy/MM/dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"Address"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":1.93146
+			},
+			{
+				"Name":"ProductName",
+				"Width":5.74146
+			},
+			{
+				"Name":"Qty",
+				"Width":2.06375
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.56646
+			},
+			{
+				"Name":"Extented",
+				"Width":3.33375
+			}
+		],
+		"ColumnContent":{
+			"Height":0.714375,
+			"AdjustRowHeight":false,
+			"RowsPerPage":6,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Qty",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Extented",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"PrintType":"Form",
+					"Text":"璐у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"PrintType":"Form",
+					"Text":"璐у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Qty",
+					"TextAlign":"MiddleCenter",
+					"PrintType":"Form",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"PrintType":"Form",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Extented",
+					"PrintType":"Form",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID;PageNo;ToWho",
+				"GroupHeader":{
+					"Height":2.98979,
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox33",
+							"Center":"Horizontal",
+							"Left":5.715,
+							"Top":0.185208,
+							"Width":4.15396,
+							"Height":0.47625,
+							"PrintType":"Form",
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":120000,
+								"Weight":400,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鍖楅璐告槗鏈夐檺鍏徃"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox38",
+							"Center":"Horizontal",
+							"Left":5.68854,
+							"Top":0.687917,
+							"Width":4.20688,
+							"Height":0.714375,
+							"PrintType":"Form",
+							"Font":{
+								"Name":"妤蜂綋",
+								"Size":157500,
+								"Weight":400,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"閿�鍞彂璐у崟"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox40",
+							"Left":6.77333,
+							"Top":1.56104,
+							"Width":1.19063,
+							"Height":0.635,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"瀹㈡埛:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Left":7.96396,
+							"Top":1.5875,
+							"Width":7.43479,
+							"Height":0.608542,
+							"DataField":"CompanyName"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox41",
+							"Left":6.77333,
+							"Top":2.19604,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍦板潃:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":7.96396,
+							"Top":2.19604,
+							"Width":7.43479,
+							"Height":0.608542,
+							"DataField":"Address"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox42",
+							"Top":1.56104,
+							"Width":1.19063,
+							"Height":0.635,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍗曞彿:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox43",
+							"Top":2.19604,
+							"Width":1.19063,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鏃ユ湡:"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox4",
+							"Left":1.19063,
+							"Top":2.19604,
+							"Width":4.20688,
+							"Height":0.608542,
+							"DataField":"OrderDate"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox5",
+							"ForeColor":"0000FF",
+							"Left":1.19063,
+							"Top":1.5875,
+							"Width":4.20688,
+							"Height":0.608542,
+							"DataField":"OrderID"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":1.5875,
+					"NewPage":"After",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox34",
+							"Left":4.97417,
+							"Top":0.185208,
+							"Width":1.98438,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍟嗗搧閲戦锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox35",
+							"Left":-0.0264583,
+							"Top":0.185208,
+							"Width":1.37583,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"杩愯垂锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox36",
+							"Left":11.1919,
+							"Top":0.211667,
+							"Width":1.64042,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鎬婚噾棰濓細"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"AmtSummaryBox",
+							"Left":6.985,
+							"Top":0.185208,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox7",
+							"Left":12.7794,
+							"Top":0.211667,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"[#Sum(Amount)+Freight:#,##0.00#]"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox3",
+							"Left":1.40229,
+							"Top":0.211667,
+							"Width":3.20146,
+							"Height":0.582083,
+							"DataField":"Freight"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox8",
+							"ForeColor":"0000FF",
+							"Top":0.79375,
+							"Width":15.6104,
+							"Height":0.79375,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Bold":true,
+								"Charset":134
+							},
+							"Text":"鍗曞彿锛歔#OrderID#]锛屾湰鍗曠[#PageNo#]椤碉紝[#ToWho#]锛岃璁¤鏄庡弬鑰冩姤琛ㄧ殑鈥滄姤琛ㄤ俊鎭�->绠�浠嬧�濆睘鎬у�笺��"
+						}
+					],
+					"AppendBlankRowExclude":true
+				}
+			}
+		]
+	},
+	"Control":[
+		{
+			"Type":"MemoBox",
+			"Name":"mbSelf",
+			"Left":18.6002,
+			"Top":3.20146,
+			"Width":0.79375,
+			"Height":8.81062,
+			"TextAlign":"MiddleCenter",
+			"TextOrientation":"U2DL2R0",
+			"Text":"绗竴鑱旓細瀛樻牴"
+		},
+		{
+			"Type":"MemoBox",
+			"Name":"mbCustomer",
+			"Left":18.6002,
+			"Top":3.20146,
+			"Width":0.79375,
+			"Height":8.81062,
+			"TextAlign":"MiddleCenter",
+			"TextOrientation":"U2DL2R0",
+			"Text":"绗簩鑱旓細瀹㈡埛 "
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6k.grf b/public/grf/6k.grf
new file mode 100644
index 0000000..d8d5683
--- /dev/null
+++ b/public/grf/6k.grf
@@ -0,0 +1,297 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6k.澶氳儗鏅浘濂楁墦",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎶ヨ〃宸﹀彸椤佃竟璺濋暅鍍忓姛鑳斤紝褰撳弻闈㈡墦鍗版姤琛ㄦ椂锛岃宸﹀彸椤佃竟璺濇寜闀滃儚鏂瑰紡浜х敓锛岃繖鏍锋柟渚挎姤琛ㄧ殑瑁呰銆俓r\n\r\n璁剧疆鎶ヨ〃涓诲璞$殑鈥滈暅鍍忓乏鍙抽〉杈硅窛鈥濆睘鎬т负鈥滄槸鈥濆紑鍚乏鍙抽〉杈硅窛闀滃儚鍔熻兘",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"BackImagePreview":true,
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Size":256,
+		"Width":8,
+		"Height":23,
+		"Oriention":"Landscape",
+		"LeftMargin":0,
+		"TopMargin":0,
+		"RightMargin":0,
+		"BottomMargin":0
+	},
+	"Parameter":[
+		{
+			"Name":"BankName",
+			"Value":"涓浗宸ュ晢"
+		},
+		{
+			"Name":"PayTo",
+			"Value":"閿愭氮杞欢鎶�鏈湁闄愬叕鍙�"
+		},
+		{
+			"Name":"Year",
+			"DataType":"Integer",
+			"Format":"$$$0000",
+			"Value":"2006"
+		},
+		{
+			"Name":"Month",
+			"DataType":"Integer",
+			"Format":"$$$00",
+			"Value":"8"
+		},
+		{
+			"Name":"Day",
+			"DataType":"Integer",
+			"Format":"$$$00",
+			"Value":"8"
+		},
+		{
+			"Name":"Amount",
+			"DataType":"Float",
+			"Value":"20080808.88"
+		},
+		{
+			"Name":"Usage",
+			"Value":"璐拱Grid++Report涓撲笟鐗�"
+		},
+		{
+			"Name":"Remark",
+			"Value":"Grid++Report 鐢ㄦ埛鍖呮嫭閫氱敤杞欢鍘傚晢涓庣郴缁熼泦鎴愬晢锛屼紒涓氳鏀夸簨涓氬崟浣嶏紝涓汉鐢ㄦ埛绛�"
+		},
+		{
+			"Name":"Endorser",
+			"Value":"鏀エ鑳屼功浜�"
+		},
+		{
+			"Name":"EndorseDate",
+			"DataType":"DateTime",
+			"Value":"2011/10/18"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":8,
+			"Control":[
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox1",
+					"Dock":"Fill",
+					"PrintType":"Form",
+					"Picture":"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"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":8.20208,
+					"Top":0.211667,
+					"Width":4.20688,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"StaticBox1",
+					"Parameter":"BankName"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"BackColor":"ECEBD5",
+					"Left":18.2298,
+					"Top":2.69875,
+					"Width":4.60375,
+					"Height":0.608542,
+					"Font":{
+						"Name":"Courier New",
+						"Size":120000,
+						"Weight":400
+					},
+					"TextAlign":"MiddleRight",
+					"CharSpacing":5.5,
+					"Text":"楼[#Amount*100:0#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":8.20208,
+					"Top":3.59833,
+					"Width":4.60375,
+					"Height":0.396875,
+					"Text":"StaticBox3",
+					"Parameter":"Usage"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":8.81062,
+					"Top":1.69333,
+					"Width":9.39271,
+					"Height":0.529167,
+					"Text":"StaticBox4",
+					"Parameter":"PayTo"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":2.01083,
+					"Top":5.00063,
+					"Width":2.77813,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"StaticBox5",
+					"Parameter":"PayTo"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":2.01083,
+					"Top":6.00604,
+					"Width":2.77813,
+					"Height":0.449792,
+					"ShrinkFontToFit":true,
+					"Text":"StaticBox6",
+					"Parameter":"Usage"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":0.608542,
+					"Top":2.38125,
+					"Width":4.39208,
+					"Height":1.61396,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"LnSpacing":8,
+					"Text":"[#Remark#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":9.2075,
+					"Top":2.40771,
+					"Width":8.78417,
+					"Height":0.79375,
+					"Text":"[#Amount:$$#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Left":2.01083,
+					"Top":5.45042,
+					"Width":2.77813,
+					"Height":0.529167,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"ShrinkFontToFit":true,
+					"Text":"[#Amount:#,##0.00#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"Left":10.2129,
+					"Top":1.19063,
+					"Width":1.5875,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Text":"StaticBox8",
+					"Parameter":"Year"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"stMonth",
+					"Left":12.409,
+					"Top":1.19063,
+					"Width":1.19063,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Parameter":"Month"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"stDay",
+					"Left":14.2081,
+					"Top":1.19063,
+					"Width":1.19063,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Text":"stDay",
+					"Parameter":"Day"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":8,
+			"Control":[
+				{
+					"Type":"PictureBox",
+					"Name":"PictureBox2",
+					"Dock":"Fill",
+					"PrintType":"Form",
+					"Picture":"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"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Left":7.01146,
+					"Top":5.21229,
+					"Width":1.19063,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Text":"[#EndorseDate:yyyy#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":8.49313,
+					"Top":5.21229,
+					"Width":0.449792,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Text":"[#EndorseDate:MM#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox7",
+					"Left":9.15458,
+					"Top":5.21229,
+					"Width":0.449792,
+					"Height":0.396875,
+					"TextAlign":"MiddleRight",
+					"Text":"[#EndorseDate:dd#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox8",
+					"Left":6.90563,
+					"Top":0.79375,
+					"Width":3.96875,
+					"Height":0.687917,
+					"Text":"[#Endorser#]"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6l.grf b/public/grf/6l.grf
new file mode 100644
index 0000000..2f9fe80
--- /dev/null
+++ b/public/grf/6l.grf
@@ -0,0 +1,435 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6l.POS灏忕エ鎵撳嵃",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"璁剧疆鎶ヨ〃涓诲璞$殑鈥滃嵆鎵撳嵆鍋溾�濆睘鎬т负鈥滄槸鈥濓紝瀹炵幇POS灏忕エ鎵撳嵃锛屾牴鎹暟鎹灏戞寜闇�璧扮焊銆�",
+	"ContinuePrint":true,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":256,
+		"Width":7.5,
+		"Height":27,
+		"LeftMargin":0.2,
+		"TopMargin":0,
+		"RightMargin":0.2,
+		"BottomMargin":0
+	},
+	"DetailGrid":{
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select top 20 * from Customers",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"shangpname",
+				"Width":3.78354
+			},
+			{
+				"Name":"shuliang",
+				"Width":0.978958
+			},
+			{
+				"Name":"je",
+				"Width":1.61396
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"shangpname",
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"shuliang",
+					"TextAlign":"MiddleRight"
+				},
+				{
+					"Column":"je",
+					"WordWrap":true,
+					"TextAlign":"MiddleRight",
+					"DataField":"City"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"shangpname",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑿滃搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"shuliang",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"je",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Visible":false,
+					"Height":0
+				},
+				"GroupFooter":{
+					"Height":4.60375,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"AlignColumnSide":"Left",
+							"Left":2.01083,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"CanGrow":true,
+							"WordWrap":true,
+							"Text":"StaticBox2",
+							"Parameter":"ysje"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"AlignColumnSide":"Left",
+							"Left":2.01083,
+							"Top":0.608542,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"CanGrow":true,
+							"WordWrap":true,
+							"Text":"StaticBox2",
+							"Parameter":"yhje"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"AlignColumnSide":"Left",
+							"Left":2.01083,
+							"Top":1.19063,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"CanGrow":true,
+							"WordWrap":true,
+							"Text":"StaticBox2",
+							"Parameter":"sjje"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"Width":2.01083,
+							"Height":0.582083,
+							"Text":"搴旀敹閲戦锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox12",
+							"Top":0.635,
+							"Width":2.01083,
+							"Height":0.582083,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"Text":"宸蹭紭鎯犻噾棰濓細"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox13",
+							"Top":1.21708,
+							"Width":2.01083,
+							"Height":0.582083,
+							"Text":"瀹炵粨閲戦锛�"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line1",
+							"Top":1.79917,
+							"Width":6.19125,
+							"Pen":{
+								"Style":"Dash"
+							}
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox14",
+							"Top":1.79917,
+							"Width":2.01083,
+							"Height":0.608542,
+							"Text":"鎵撳崟鏃ユ湡锛�"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Left":2.01083,
+							"Top":1.79917,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"ShrinkFontToFit":true,
+							"Text":"[#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox16",
+							"Top":2.40771,
+							"Width":2.01083,
+							"Height":0.608542,
+							"Text":"娑堣垂鍗″彿锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox17",
+							"AlignColumnSide":"Right",
+							"Left":2.01083,
+							"Top":2.40771,
+							"Width":4.39208,
+							"Height":0.608542,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Weight":400,
+								"Charset":134
+							},
+							"CanGrow":true,
+							"WordWrap":true,
+							"Text":"StaticBox2",
+							"Parameter":"kahao"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox18",
+							"Top":2.98979,
+							"Width":2.01083,
+							"Height":0.608542,
+							"Text":"绛�    鍗曪細"
+						}
+					]
+				}
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"title",
+			"Value":"title"
+		},
+		{
+			"Name":"subTitle",
+			"Value":"subTitle"
+		},
+		{
+			"Name":"rq"
+		},
+		{
+			"Name":"djh",
+			"Value":"djh"
+		},
+		{
+			"Name":"deskname",
+			"Value":"deskname"
+		},
+		{
+			"Name":"czy",
+			"Value":"czy"
+		},
+		{
+			"Name":"starttime",
+			"Value":"starttime"
+		},
+		{
+			"Name":"ysje"
+		},
+		{
+			"Name":"yhje"
+		},
+		{
+			"Name":"sjje"
+		},
+		{
+			"Name":"ddrq"
+		},
+		{
+			"Name":"tf"
+		},
+		{
+			"Name":"kahao"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":4.78896,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitleBox",
+					"Left":0.238125,
+					"Top":0.211667,
+					"Width":6,
+					"Height":0.9,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Parameter":"title"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitleBox",
+					"Left":0.238125,
+					"Top":1.19063,
+					"Width":6,
+					"Height":0.6,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"Parameter":"subTitle"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"AlignColumnSide":"Right",
+					"Left":0.211667,
+					"Top":1.79917,
+					"Width":6.19125,
+					"Height":0.608542,
+					"Text":"StaticBox1",
+					"Parameter":"deskname"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"AlignColumnSide":"Right",
+					"Left":0.211667,
+					"Top":2.98979,
+					"Width":6.19125,
+					"Height":0.608542,
+					"CanGrow":true,
+					"WordWrap":true,
+					"Text":"StaticBox2",
+					"Parameter":"czy"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"AlignColumnSide":"Right",
+					"Left":0.211667,
+					"Top":2.40771,
+					"Width":6.19125,
+					"Height":0.608542,
+					"CanGrow":true,
+					"WordWrap":true,
+					"Text":"StaticBox2",
+					"Parameter":"djh"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"AlignColumnSide":"Right",
+					"Left":0.211667,
+					"Top":3.59833,
+					"Width":6.19125,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Weight":400,
+						"Charset":134
+					},
+					"CanGrow":true,
+					"WordWrap":true,
+					"Text":"StaticBox2",
+					"Parameter":"starttime"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox15",
+					"AlignColumnSide":"Right",
+					"Left":0.211667,
+					"Top":4.20688,
+					"Width":6.19125,
+					"Height":0.608542,
+					"TextAlign":"MiddleRight",
+					"Text":"StaticBox15",
+					"Parameter":"tf"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6m.grf b/public/grf/6m.grf
new file mode 100644
index 0000000..2bab588
--- /dev/null
+++ b/public/grf/6m.grf
@@ -0,0 +1,315 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6m.妯悜鍒嗛〉鍦ㄤ竴椤�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"褰撴槑缁嗙綉鏍肩殑鈥滄墦鍗扮瓥鐣モ�濅负鏌愪釜妯悜鍒嗛〉鏂瑰紡锛孏rid++浼氬敖閲忓皢鍒嗛〉浜х敓鐨勬暟鎹樉绀哄湪涓�椤典腑銆傝繘鍏ユ鎶ヨ〃鐨勯瑙堣鍥惧嵆鍙湅鍒版晥鏋溿�傚鏋滃笇鏈涘垎椤垫�绘槸浜х敓鍦ㄤ笉鍚岄〉锛屽皢鈥滄í鍚戝垎椤靛湪涓�椤碘�濆睘鎬ц涓衡�滄槸鈥濆嵆鍙��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"AppendBlankCol":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\nwhere CustomerID<'BO'",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.38667
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.81
+			},
+			{
+				"Name":"City",
+				"Width":2.01083
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.41313
+			},
+			{
+				"Name":"Fax",
+				"Width":3.41313
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"BackColor":"FFFF00",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"BackColor":"FFFF00",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.6681,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/6n.grf b/public/grf/6n.grf
new file mode 100644
index 0000000..347b94c
--- /dev/null
+++ b/public/grf/6n.grf
@@ -0,0 +1,269 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"6n.闀滃儚椤甸潰杈硅窛",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鎶ヨ〃宸﹀彸椤佃竟璺濋暅鍍忓姛鑳斤紝褰撳弻闈㈡墦鍗版姤琛ㄦ椂锛岃宸﹀彸椤佃竟璺濇寜闀滃儚鏂瑰紡浜х敓锛岃繖鏍锋柟渚挎姤琛ㄧ殑瑁呰銆俓r\n\r\n璁剧疆鎶ヨ〃涓诲璞$殑鈥滈暅鍍忓乏鍙抽〉杈硅窛鈥濆睘鎬т负鈥滄槸鈥濆紑鍚乏鍙抽〉杈硅窛闀滃儚鍔熻兘",
+	"MirrorMargins":true,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":3.5,
+		"TopMargin":1.5,
+		"RightMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"鑱旂郴浜�"
+				},
+				{
+					"Column":"Address",
+					"DataField":"鍦板潃"
+				},
+				{
+					"Column":"City",
+					"DataField":"鍩庡競"
+				},
+				{
+					"Column":"Region",
+					"DataField":"鍦板尯"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.16958,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":15.9808,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.1763,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1a.grf b/public/grf/7-1a.grf
new file mode 100644
index 0000000..f37bb23
--- /dev/null
+++ b/public/grf/7-1a.grf
@@ -0,0 +1,264 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1a.鑴氭湰.杩藉姞绌虹櫧璁板綍",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鎶ヨ〃涓诲璞$殑寮�濮嬪鐞嗚剼鏈疄鐜拌拷鍔犵┖鐧借褰曪細\r\n鏍规嵁鎶ヨ〃鏄庣粏璁板綍鐨勫灏戯紝纭畾瑕佽ˉ鍏呯殑绌虹櫧鏄庣粏璁板綍鏉℃暟锛屽苟鐢ㄥ惊鐜殑鏂瑰紡杩藉姞绌虹櫧璁板綍銆傚鏋滅洿鎺ョ敤鏄庣粏缃戞牸鐨勮拷鍔犵┖鐧借鐨勫姛鑳芥潵杩藉姞绌虹櫧琛岋紝绌虹櫧琛屼笉浼氭湁閲戦绾匡紝鑰岃拷鍔犵┖鐧借褰曞氨浼氳绌虹櫧琛屼骇鐢熼噾棰濈嚎銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ProcessBeginScript":"//鍋囪姣忛〉瑕佹樉绀�20 琛岋紝姹傚嚭鏈�鍚庤琛ュ厖鐨勮鏁癨r\nvar  i,\r\n    AppendRows = 20 - (Report.DetailGrid.Recordset.RecordCount % 20);\r\n\r\nif (AppendRows == 20)\r\n  AppendRows = 0;\r\nfor (i=0; i<AppendRows; ++i)\r\n{\r\n  Report.DetailGrid.Recordset.Append();\r\n  Report.DetailGrid.Recordset.Post();\r\n} ",
+	"ShowMoneyWidth":3,
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.Discount,\r\nd.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10258\r\norder by m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column3",
+				"Width":1.16417
+			},
+			{
+				"Name":"Column1",
+				"Width":1.77271
+			},
+			{
+				"Name":"Column2",
+				"Width":2.91042
+			},
+			{
+				"Name":"ProductName",
+				"Width":4.18042
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.30188
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.11667
+			},
+			{
+				"Name":"NetAmount",
+				"Width":3.01625
+			}
+		],
+		"ColumnContent":{
+			"Height":1.00542,
+			"RowsPerPage":20,
+			"ColumnContentCell":[
+				{
+					"Column":"Column3",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RowNo"
+						}
+					]
+				},
+				{
+					"Column":"Column1",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"Column2",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"ShowMoneyLine":true,
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.00542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column3",
+					"TextAlign":"MiddleCenter",
+					"Text":"琛屽彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曞彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"TextAlign":"MiddleCenter",
+					"ShowMoneyLabel":true
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":4.25979,
+					"Top":0.396875,
+					"Width":8.96938,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"杩藉姞绌虹櫧璁板綍锛岀┖鐧借涔熸樉绀洪噾棰濈嚎"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1a2.grf b/public/grf/7-1a2.grf
new file mode 100644
index 0000000..1166589
--- /dev/null
+++ b/public/grf/7-1a2.grf
@@ -0,0 +1 @@
+锘縚WR_w[V%/LVK/4w[KKPL%K[4w/kHHL/%{%4w[`K/L``PV4w/P[L/P`4w[K[L//`[4w[V[/L`H/%4wK%{L//VP4w/%KHL[KH%4w`P[/L[{{4w/{%KL//%[4w`/%HLVK4w[k`PL[`KV4w[VP`L/`//4w/`[[L```4w[%H`LK/V4w/V/L[//4w[kk`L`//{4w`kVHL/`KV4w[%%[L[HPH4w/[{HL/%kK4w/[[`L[[V/4w/[HKLHH{4w/k%%L`k`P4w`VVkL/{V[4w[{{L/k%4w/PVkL/VV[4rdC8n%Z%ZKZk<m1nHR/NZ鑴氭湰Z鍒嗙粍杩藉姞绌虹櫧璁板綍<^n閿愭氮鎶ヨ〃杞欢<N'n涓哄垎缁勯」*鍔犵┖鐧借褰曪紝浠ヤ究浜х敓绌虹櫧琛屽簭鍙蜂笌璐㈠姟閲戦绾跨瓑鏍煎紡淇℃伅| |@| |@瀹炵幇瑕佺偣锛殀 |@/銆佸湪鎻愪氦鏄庣粏璁板綍鏃讹紝鏍规嵁}缁勪緷鎹瓧娈靛�兼槸鍚﹀彂鐢熷彉鍖栵紝鍒ゆ柇涓�涓垎缁勭殑缁撴潫銆倈 |@[銆佹牴鎹綋鍓嶅垎@椤圭殑璁板綍鏁扮‘瀹氳琛ュ厖绌虹殑鐧借褰曟暟銆倈 |@`銆佽ˉ鍏呯殑绌虹櫧璁板綍鑷冲皯搴旇灏嗗垎缁勪緷鎹瓧娈佃缃负鍓嶄竴鏉¤褰曠殑瀵瑰簲鍊硷紝杩欐牱浜ц兘浜х敓姝g‘鐨勫垎缁勩�倈 |缁刅銆佹渶鍚庝竴涓垎缁勯」瑕佸湪鈥滃紑濮嬪鐞嗗墠鑴氭湰鈥濆睘鎬т笂澶勭悊銆倈 |@P銆佸鏋滆繕鏈夋洿澶氱殑瀛楁闇�瑕佸湪绌虹櫧璁板綍涓婅缃�硷紝搴旇瀹氫箟瀵瑰簲鐨勫弬鏁板瓨鍌ㄥ叾鍓嶄竴鏉¤褰曠殑瀛楁鍊笺��<鍒唃h[-]gh: IT58M@:oCgn瀹嬩綋<D1h/kPkkk5q8hVkk5ah/`iQ5gOnfI@e:+M@-t MIx'xxT@q=TeM q]i=TeM q]T:L-y]FN]:t MIxG-r| |@----UN -=M~]^T ^N>T-B-=TxM :ZYT:N+ct +qZgMcIl@gM@:T@:Z=M~]^T ^N>TL-;;姣忛〉鏄庣粏琛屾暟| |@| |@--------;;鍒嗙粍q鎹瓧娈靛強鍏跺綋鍓嶅�紎 |@--------fcq, qT yY-B-=TeM q]T:Z8+Tcq]Zy:Tli|d, qT yY|dGL| |@--------gI , qT yY-B-fcq, qT yYZ']y@:T>T L| |@--------fcqgI]:MlT yY-B-=TeM q]T:Z8+Tcq]Zy:Tli|dgI]:MlT yY|dGL| |@--------gI gI]:M?T yY-B-fcqgI]:MlT yYZ']&: +@>L| |@| |@--------;;璁板綍涓婁竴鏉¤褰曠殑鍒嗙粍渚濇嵁瀛楁鍊肩殑鍙傛暟锛屼互鍙婂弬鏁扮殑褰撳墠鍊紎 |@------娣�-xN Nl, qT yY-B-=TxM :Z^N NlT:T O*}NlTi|d, qT yY|dGL| |@--------^ TU, qT yY-B-xN Nl, qT yYZ']&: +@>L| |@--------xN NlgI]:MlT yY-B-=TxM @Z^N NlT:T O*}NlTi|dgI]:MlT yY|dGL| |@--------^ TUgI]:qlT yY-B-xN NlgI]:MlT yYZ']&: +@>L| |@| |@--------;;褰撳墠鍒嗙粍椤圭殑璁板綍鏁板弬鏁帮紝浠ュ強鍏跺綋鍓嶅�紎 |@--------xN Nl=TeM qgMI@:cB-=TxM :Z^- NlT:T O*}NlTi|d=TeM qgMI@:|dGL| |@--------=TeM qgMI@:5B-xN Nl=TeM MgMI@:Z']y@:T>T L鏇� |@| |@--------'xxT@q=TeM qgMI@:W| |@| |@----;;鍒嗙粍渚濇嵁瀛楁鍊煎彂鐢熷彉鍖栵紝琛ㄨ涓�涓柊鐨勫垎缁勯」鍗冲皢寮�濮嬶紝涓哄綋鍓嶅垎缁勮ˉ鍏呭繀瑕佺殑绌虹櫧璁板綍| |@----;;=TeM qgMI@:-!Bk-琛ㄧず鏄�-鍔犵涓�鏉¤褰曪紝x绉嶆儏鍐典笉瀛樺湪鍓嶉潰鐨勫垎缁勶紝姝ゆ椂涓嶅簲琛ュ厖绌虹櫧璁板綍|}|@----+f-iVgI , qT yY-0nB-^ TU, qT yY-77-gI gI]:MlT yY-0nB-^ TUgI]:MlT yYG-77-i=Te0 qgMI@:-!B-kG-77-y]FN]:t MIxG-r-| |@--------+f-G=TeM qgMI@:-3-kG-r| |@------------'xxT@q=TeM qgMI@:-B-i=M~]^T ^N>T-R-i=TeM qgMI@:-0.-=M~]^T ^N>TGi-0.-=M~]^T ^N>TW| |@| |@------------;;杩藉姞绌虹櫧璁板綍| |@------------~b+cT-i'杩檟T@q=TeM qgMI@:RR-3-kG-r| |@----------------=TeM q]T:Z'xxT@qiGW| |@| |@-----N----------.;鑷冲皯闇�瑕佸皢鍒嗙粍渚濇嵁瀛楁鐨勫�硷紝璁剧疆涓哄綋鍓嶅垎缁勫搴旂殑鍊紎 |@----------------fcq, qT yYZ']y@:T>T -B-^ TU, qT yYW| |@----------------fcqgI]:MlT yYZ']&: +@>-B-^ TUgI]:MlT yYW| |T| |@----------------;;杩樺彲浠ョ粰|澶氱殑瀛楁鎸囧畾鍊糧ZZ-ZZZ| |@| |@----------------=TeM q]T:Z^M]:iGW| |@------------Q| |@--------Q| |@| |@--------;;璁板綍涓�涓柊鐨勫垎缁勯」鐨勫垎缁勪緷鎹瓧娈电殑鍊紎 |@-------- N Nl, qT yYZ']y@:T>T -B-gI , qTTyYW| |@--------xN NlgI]:MlT yYZ']&: +@>-B-gI gI]:MlT yYW| |@| |@--------xN Nl=TeM qgMI@:Z']y@:T>T -B-/W| |@----Q| |@----Tc]T-r| |@--------xN Nl=TeM qgMI@:Z']y@:T>T 66W| |@----Q| |@Q| |@<>On;;鍦ㄦ姤琛ㄥ紑濮嬬敓鎴愬墠锛屽皢褰撳墠鍒嗙粍绀哄綍璁℃暟鍙傛暟缃负k| |@=TxM :Z^N NlT:T O*}NlTi|d=TeM qgMI@:|dGZ']y@:T>T -B-kW<NYnt MIx'xxT@q=TeM q]i=TxM :ZYT:N+ct +qZ=TeM q]T:L-: ITGW<^ +@:T hrQ5YT:N+ct +qoUh_ I 5uh: IT5gMcF+@To$'n%V%8H/dc5=M~F+@To$'n%V%8H/dQ5=TeM q]T:o 'n^ MU+渚漈 Bu+e M]Mf:ZXT:Z,F1YOZVZkW| |@J]T -yYB'ql+@W| |@YN:N-&MI eTBZZ||YN:N||}M :b~+@qZlqD<>Yn]TcTe:-lZ, qT yYLlZgI]:MlT yqLeZgMlxN@*}NlTLeZ'qq T]]LlZ, qT YN:TLuZ8 T+>b:L| |@qZ^ MqIe:yYLxZ^ MqIe:}NlTLqZJ@+:] +eTLqZ?IN::+:*LqZJ@+:^ +eTsqZ?IN@:+:*-N]-'lMI@:| |@f Ml-i, qT ]-l-+@@T -zM+@-| |@i, qT YT:N+c^-q-+@@T -zM+@-^ MqIe:]-x-M@-^Z^ MqIe:yYBYZ^ MqIe:yYG-M@-lZ, qT yqBqZ, qT yqG| |@cTf:-zM+@-gI]:MlT ]-e-M@-eZgI]:MlT yYBlZgI]:MlT yY| |@~bT T-lZ, qT yY!/k[PP<ent MIx'xxT@q=TeM q]i&T@qT GW<8+TcqhwrdCgn^ MqIe:yY<F8ny@:T>T ;Cgn^ MqIe:}NlT.CgnlIN@:+:*<F8n8cMN:<*'nk.CgnJ@+:^ +eT<F8n8-MN:<*'n00L0M00kZkk.CgnY+]eMI@:<F8n8cMN:<*'nkZkk0..Cgn, qT yY<F8ny@:T>T .CgngI]:MlTxyY.CgngMlxN@*}NlT.Cgn, qT YN:T<F8nYN:Tp+lT<*'n**杩�*;uu;qq.Cgn8 T+>b:<F8ngI  T@e*.Cgn'lMI@:<F8ngI  T@e*.Cgn'qq T]]dQ4Q5gMcIl@hwrdCgn}M<T8h/Z`HP{`_Cgn^ MqIe:yY<T8h/ZK`/V%_Cgn^ MqIe:}NlT<T8hVZ%P%%H_Cgn?:*<T8h/ZHKK/H_CgnJ@+:^ +eT<T8h[Z`[{``:Cgn1m:T@:Tq<T8h`ZPQ45gMcIl@gM@:T@:o(OhkZH/V`HP5*Yh%5gMcIl@gM@:T@:gTcchwrdy'n}M<'Oh: I@5gM@: MchwrdF8n&*]:Tl#N OMm<Cgn&*]:Tl#N OMm/<T'n8+cc<]1nu+qqcTgT@:T <x1nt MIx=M~ MdQ4_y'n^ MqIe:yY<A'n^ MqIe:yY.y'n^ MqIe:}NlT<A'n^ MqIe:}NlT.y'n?:*<]1nu+qqcT=+>b:<A'n?IN@:+:*.y'nJ@+:^ +eT<]1nu+qqcT=+>b:<A'nJ@+:^ +eT.y'n1m:T@:Tq<]1nu+qqcT=+>b:<p1h: IT5A'n'lMI@:dQ4Q5gMcIl@p+:QTo(Oh/Z/Kk%`58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5@Yn,@t MIx$TNqT <gMcIl@p+:cTgTcchwrd^Oh"5y'n}M<]1nu+qqcTgT@:T < 1n搴忓彿.^Oh"5y'n^ MqIe:yY<CYn8M l< 1n璐у搧缂栧彿.^Oh"5y'n^ MqIe:}NlT<CYn8M l< 1n璐у搧鍚嶇О.^Oh"5y'n?:*<]1nu+qqcTgT@:T <CYn8M l< 1n鏁伴噺.^Oh"5y'nJ@+:^ +eT<CYn8M l< 1n鍗曚环.^Oh"5y'n1m:T@:Tq<&1h: IT5CYn8M ldQ4Q5t MIxhwrdCgnt MIx/<Mn, qT yYWgI]:MlT yY<t MIx$TNqT o(Oh[ZK{KHK5=Yh"5gM@: MchwrdF8n&:N:+eOMm<Cgn&:N:+eOMm``<In$M +aM@:Nc<]OhPZH/P5g8hkZ/{P[k{5T8hVZ/P`K%5(OhkZVH%[P5CYn8M l<8M@:oCgn瀹嬩綋<D1h/[kkkk5q8hVkk5ah/`VQ5]1nu+qqcTgT@:T < 1n鍖楅璐告槗鏈夐檺鍏徃.F8n&:N:+eOMm<Cgn&:N:+eOMm`{<In$M +aM@:Nc<]OhPZ%{{PV5g8hkZ%{HK/H5T8hVZ[k%{{5(OhkZH/V`HP5CYn8M l<8M@:oCgn妤蜂綋<D1h/PHPkk5q8hVkk5ah/`VQ5]1nu+qqcTgT@:T < 1n閿�鍞彂璐у崟.F8n&:N:+eOMm<Cgn&:N:+eOMmVk<]Oh%ZHH```5g8h/ZP%/kV5T8h/Z/Kk%`5(OhkZ%`P58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n瀹㈡埛v.F8n8+TcqOMm<Cgn8+TcqOMm/<]OhHZK%`K%5g8h/ZP{HP5T8hHZV`VHK5(OhkZ%k{PV[5A'ngMlxN@*}NlT.F8n&:N:+eOMm<Cgn&:N:+eOMmV/<]Oh%ZHH```5g8h[Z/K%kV5T8h/Z/Kk%`5(OhkZ%k{PV[58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n鍦板潃v.F8n8+TcqOMm<Cgn8+TcqOMm[<]OhHZK%`K%5g8h[Z/K%kV5T8hHZV`VHK5(OhkZ%k{PV[5A'n'qq T]].F8n&:N:+eOMm<Cgn&:N:+eOMmV[<m'nkkkk88<g8hkZ/kP{``5T8h[Zk/k{`5(OhkZ%`P58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n鍗曞彿v.F8n&:N:+eOMm<Cgn&:N:+eOMmV`<g8h[Z/K%kV5T8h/Z/Kk%`5(OhkZ%k{PV[58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n鏃ユ湡v.F8n8+TcqOMm<Cgn8+TcqOMmV<]Oh/Z/Kk%`5g8h[Z/K%kV5T8hVZ[k%{{5(OhkZ%k{PV[5A'n, qT YN:T.F8n8+TcqOMm<Cgn8+TcqOMmP<m'nkkkk88<]Oh[Zk`H[K5g8hkZ/`[[K[5T8h`Z[k/V%5(OhkZ%k{PV[5A'n, qT yY.F8n&:N:+eOMm<Cgn&:N:+eOMmVV<m'nkkkk88<g8hkZHK`HP5T8h[Zk/k{`5(OhkZ%`P58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n瀹㈡埛缂栧彿v.F8n8+TcqOMm<Cgn8+TcqOMm%<m'nkkkk88<]Oh[Zk`H[K5g8hkZ{[k[k{5T8h`Z[k/V%5(OhkZ%k{PV[5A'ngI]:MlT yYdQ4Q5t MIx8MM:T o(Oh/ZkkPV[5Ngn'f:T <=Yh"5lYh: IT5gM@: MchwrdF8n&:N:+eOMm<Cgn&:N:+eOMm`V<]OhVZKHV/H5g8hkZ/{P[k{5T8h/ZK{V`{5(OhkZ%k{PV[58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n鍟嗗搧閲戦锛�.F8n&:N:+eOMm<Cgn&:N:+eOMm`P<]OhRkZk[%VP{`5g8hkZ/{P[k{5T8h/Z`VK`{5(OhkZ%k{PV[58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n杩愯垂锛�.F8n&:N:+eOMm<Cgn&:N:+eOMm`%<]Oh//Z/K/K5g8hkZ[//%%H5T8h/Z%VkV[5(OhkZ%k{PV[58M@:oCgn瀹嬩綋<D1h/kPkkk5fh: IT5ah/`VQ5 1n鎬婚噾棰濓細.F8n&IllN *OMm<Cgn'l:&IllN *OMm<]Oh%ZK{P5g8hkZ/{P[k{5T8h[Z{kVP{5(OhkZ%k{PV[5]1nu+qqcT=+>b:<A'n'lMI@:<*'n00L0000kZkk.F8nuTlMOMm<CgnuTlMOMmH<]Oh/[ZHHKV5g8hkZ[//%%H5T8h[Z{kVP{5(OhkZ%k{PV[5]1nu+qqcT=+>b:< 1nw00&Ili'lMI@:G68 T+>b:v00L0000kZkk004.F8n8+TcqOMm<Cgn8+TcqOMm`<]Oh/ZVk[[K5g8hkZ[//%%H5T8h`Z[k/V%5(OhkZP{[k{`5A'n8 T+>b:dQ45,h: ITQQ4Q5^N NlT:T hwrdCgn, qT yY<('ny@:T>T .Cgn=TeM qgMI@:<E1n璁℃暟褰撳墠鍒嗙粍椤圭殑璁板綍鏁�<('ny@:T>T .CgngI]:MlT yYdQ45gM@: MchwrdF8nuTlMOMm<CgnuTlMOMm{<]Oh/{Z%kk[5g8h`Z[k/V%5T8hkZHK`HP5(Oh{Z{/k%[5]1nu+qqcTgT@:T <U1nJ[YF[=k< 1n绗竴鑱旓細瀛樻牴-绗簩鑱旓細璐㈠姟-绗笁鑱旓細缁撳笎dQ4Q
\ No newline at end of file
diff --git a/public/grf/7-1b.grf b/public/grf/7-1b.grf
new file mode 100644
index 0000000..1469864
--- /dev/null
+++ b/public/grf/7-1b.grf
@@ -0,0 +1,191 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1b.鑴氭湰.璁剧疆鐗规畩鏄剧ず鏂囧瓧",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄥ瓧娈电殑鈥滆幏鍙栨樉绀烘枃瀛楄剼鏈�濅腑涓哄瓧娈佃缃壒娈婃樉绀烘枃瀛椼�傚湪鏂囧瓧绫婚儴浠舵涓婂彲浠ュ疄鐜扮被浼肩殑鍔熻兘銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Products",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"SupplierID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"QuantityPerUnit"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"UnitsInStock",
+					"Type":"Integer"
+				},
+				{
+					"Name":"UnitsOnOrder",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ReorderLevel",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discontinued",
+					"Type":"Boolean",
+					"GetDisplayTextScript":"if (Sender.IsNull)\r\n  Sender.DisplayText = \"寰呭畾\";\r\nelse if (Sender.AsBoolean == true)\r\n  Sender.DisplayText = \"鐑崠涓璡";\r\nelse\r\n  Sender.DisplayText = \"鍋滄閿�鍞甛";\r\n"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":2.56646
+			},
+			{
+				"Name":"ProductName",
+				"Width":2.48708
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.59292
+			},
+			{
+				"Name":"UnitsInStock",
+				"Width":2.48708
+			},
+			{
+				"Name":"UnitsOnOrder",
+				"Width":2.59292
+			},
+			{
+				"Name":"Discontinued",
+				"Width":3.09563
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsInStock"
+				},
+				{
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsOnOrder"
+				},
+				{
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"0000FF",
+					"DataField":"Discontinued"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleCenter",
+					"Text":"搴撳瓨"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣喘鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐘舵��(鏁存暟鍊�)"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":1.32292,
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"AlignColumnSide":"Left",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.6104,
+					"Height":0.978958,
+					"WordWrap":true,
+					"Text":"鍦ㄢ�淒iscontinue鈥濆瓧娈电殑鈥滆幏鍙栨樉绀烘枃瀛楄剼鏈�濅腑涓哄瓧娈佃缃壒娈婃樉绀烘枃瀛椼�傚湪鏂囧瓧绫婚儴浠舵涓婂疄鐜扮被浼肩殑鍔熻兘銆�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1c.grf b/public/grf/7-1c.grf
new file mode 100644
index 0000000..5e570d2
--- /dev/null
+++ b/public/grf/7-1c.grf
@@ -0,0 +1,255 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1c.鑴氭湰.鏂囧瓧鎸夋潯浠剁獊鍑烘樉绀�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑瀹炵幇鏂囧瓧鎸夋潯浠堕珮浜樉绀恒�傞儴浠舵鐨勫瑙傚睘鎬у彲浠ュ湪鍏舵墍澶勭殑鎶ヨ〃鑺傜殑鏍煎紡鍖栬剼鏈笂杩涜鏀瑰彉锛岃繖鏍峰彲浠ユ牴鎹笉鍚岀殑鏉′欢瀹炵幇鏂囧瓧鎸変笉鍚岀殑鏍煎紡鏄剧ず銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.Productid,p.ProductName,sum(d.Quantity) as Quantity,\r\nsum(d.UnitPrice*d.Quantity*(1-d.Discount)) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p \r\non d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere m.OrderDate between #1/1/97# And #12/31/97#\r\ngroup by d.Productid,p.ProductName\r\norder by d.Productid",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer",
+					"Format":"000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"FormatScript":"//褰揂mount瀛楁鐨勫�煎ぇ浜庣瓑浜�5000鏃讹紝灏咥mount鏄剧ず涓虹矖浣擄紝缁胯壊,鑳屾櫙鑹蹭负鐧借壊\r\n//褰揂mount瀛楁鐨勫�煎ぇ浜庣瓑浜�1000鏃讹紝灏咥mount鏄剧ず涓烘甯镐綋锛岄粍鑹�,鑳屾櫙鑹蹭负钃濊壊\r\n//褰揂mount瀛楁鐨勫�煎皬浜�1000鏃讹紝灏咥mount鏄剧ず涓烘甯镐綋锛岀孩鑹诧紝鑳屾櫙鑹蹭负鐧借壊\r\nvar AmountContentCell = Sender.ContentCells.Item(\"Amount\");\r\nvar AmountField = Report.FieldByName(\"Amount\");\r\r\nvar FontBold;\r\nvar FontItalic;\r\nvar TextColor;\r\nvar BackColor;\r\r\nif (AmountField.AsFloat >= 5000)\r\n{\r\n    FontBold = true;\r\n    FontItalic = false;\r\n    TextColor = Report.Utility.ColorFromRGB(0, 255, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(255, 255, 255);\r\n}\r\nelse if (AmountField.AsFloat >= 1000)\r\n{\r\n    FontBold = false;\r\n    FontItalic = false;\r\n    TextColor = Report.Utility.ColorFromRGB(255, 255, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(0, 0, 255);\r\n}\r\nelse\r\n{\r\n    FontBold = false;\r\n    FontItalic = true;\r\n    TextColor = Report.Utility.ColorFromRGB(255, 0, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(255, 255, 255);\r\n}\r\n\r\r\n////褰撲负鎵撳嵃杈撳嚭鐘舵�佹椂锛屾枃瀛楅鑹插缁堜负榛戣壊,鑳屾櫙鑹插缁堜负鐧借壊\r\n//if (Report.DisplayMode == 2) //grrdmPrintGenerate\r\n//{\r\n//    TextColor = Report.Utility.ColorFromRGB(0, 0, 0);\r\n//    BackColor = Report.Utility.ColorFromRGB(255, 255, 255);\r\n//}\r\n\r\r\nAmountContentCell.Font.Bold = FontBold;\r\nAmountContentCell.Font.Italic = FontItalic;\r\nAmountContentCell.ForeColor = TextColor;\r\nAmountContentCell.BackColor = BackColor;",
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Quantity",
+							"Left":4.97417,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"Amount",
+							"Left":7.35542,
+							"Width":2.80458,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"鎬昏"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox7",
+				"Left":0.185208,
+				"Width":3.41313,
+				"Height":0.396875,
+				"Text":"浜у搧閿�鍞眹鎬昏〃"
+			},
+			{
+				"Type":"SystemVarBox",
+				"Name":"SysData1",
+				"Left":8.17563,
+				"Width":7.62,
+				"Height":0.396875,
+				"Format":"鎶ヨ〃鎵撳嵃鏃堕棿锛歽yyy骞碝M鏈坉d鏃� HH:mm:ss",
+				"SystemVar":"CurrentDateTime"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.608542,
+				"Width":16.0073
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Center":"Horizontal",
+				"Left":6.21771,
+				"Width":3.59833,
+				"Height":0.396875,
+				"TextAlign":"MiddleCenter",
+				"Text":"[#SystemVar(PageNumber)#]/[#SystemVar(PageCount)#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitle",
+					"Center":"Horizontal",
+					"Left":4.7625,
+					"Top":0.185208,
+					"Width":6.48229,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佺粺璁¢攢鍞眹鎬绘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":1.11125,
+					"Top":1.00542,
+					"Width":13.8113,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑瀹炵幇鏂囧瓧鎸夋潯浠堕珮浜樉绀恒��"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1d.grf b/public/grf/7-1d.grf
new file mode 100644
index 0000000..21c59db
--- /dev/null
+++ b/public/grf/7-1d.grf
@@ -0,0 +1,257 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1d.鑴氭湰.鏁磋绐佸嚭鏄剧ず",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑瀹炵幇褰撳墠琛屾寜鏉′欢楂樹寒鏄剧ず銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.Productid,p.ProductName,sum(d.Quantity) as Quantity,\r\nsum(d.UnitPrice*d.Quantity*(1-d.Discount)) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p \r\non d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere m.OrderDate between #1/1/97# And #12/31/97#\r\ngroup by d.Productid,p.ProductName\r\norder by d.Productid",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer",
+					"Format":"000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"FormatScript":"//褰揂mount瀛楁鐨勫�煎ぇ浜庣瓑浜�5000鏃讹紝鏂囧瓧缁胯壊,鑳屾櫙鑹蹭负鐧借壊\r\n//褰揂mount瀛楁鐨勫�煎ぇ浜庣瓑浜�1000鏃讹紝鏂囧瓧榛勮壊,鑳屾櫙鑹蹭负钃濊壊\r\n//褰揂mount瀛楁鐨勫�煎皬浜�1000鏃讹紝鏂囧瓧绾㈣壊锛岃儗鏅壊涓虹櫧鑹瞈r\nvar AmountField = Report.FieldByName(\"Amount\");\r\r\nvar TextColor;\r\nvar BackColor;\r\n//var f = Report.Utility.ColorFromRGB;\r\r\nif (AmountField.AsFloat >= 5000)\r\n{\r\n    TextColor = Report.Utility.ColorFromRGB(0, 255, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(255, 255, 255);\r\n}\r\nelse if (AmountField.AsFloat >= 1000)\r\n{\r\n    TextColor = Report.Utility.ColorFromRGB(255, 255, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(0, 0, 255);\r\n}\r\nelse\r\n{\r\n    TextColor = Report.Utility.ColorFromRGB(255, 0, 0);\r\n    BackColor = Report.Utility.ColorFromRGB(255, 255, 255);\r\n}\r\n\r\r\nSender.SetCellsBackColor( BackColor );\r\nSender.SetCellsForeColor( TextColor );",
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"Height":0.582083,
+					"FormatScript":"Report.ControlByName(\"Summary2\").BackColor = Report.Utility.ColorFromRGB(255, 0, 0);",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Quantity",
+							"Left":4.97417,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackStyle":"Normal",
+							"AlignColumn":"Amount",
+							"Left":7.35542,
+							"Width":2.80458,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"鎬昏"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox7",
+				"Left":0.185208,
+				"Width":3.41313,
+				"Height":0.396875,
+				"Text":"浜у搧閿�鍞眹鎬昏〃"
+			},
+			{
+				"Type":"SystemVarBox",
+				"Name":"SysData1",
+				"Left":8.17563,
+				"Width":7.62,
+				"Height":0.396875,
+				"Format":"鎶ヨ〃鎵撳嵃鏃堕棿锛歽yyy骞碝M鏈坉d鏃� HH:mm:ss",
+				"SystemVar":"CurrentDateTime"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.608542,
+				"Width":16.0073
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Center":"Horizontal",
+				"Left":6.21771,
+				"Width":3.59833,
+				"Height":0.396875,
+				"TextAlign":"MiddleCenter",
+				"Text":"[#SystemVar(PageNumber)#]/[#SystemVar(PageCount)#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitle",
+					"Center":"Horizontal",
+					"Left":4.7625,
+					"Top":0.185208,
+					"Width":6.48229,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佺粺璁¢攢鍞眹鎬绘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":1.11125,
+					"Top":1.00542,
+					"Width":13.8113,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑瀹炵幇鏂囧瓧鎸夋潯浠堕珮浜樉绀恒��"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1e.grf b/public/grf/7-1e.grf
new file mode 100644
index 0000000..2c02fc5
--- /dev/null
+++ b/public/grf/7-1e.grf
@@ -0,0 +1,241 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1e.鑴氭湰.涓よ鏄剧ず涓�娆¤绾�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"瀹炵幇鎸夐渶鏄剧ず琛ㄦ牸鐨勮绾匡紝灏唋鍐呭鏍肩殑鈥滆竟妗嗚嚜瀹氫箟鈥濆睘鎬ц缃负鈥滄槸鈥濓紝鐒跺悗鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅笂鎸夋潯浠跺姩鎬佽缃唴瀹规牸鐨勨�滆竟妗嗏�濆睘鎬с��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"Fax",
+				"Width":2.61938
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"FormatScript":"var ModVal = Report.SystemVarValue(8) % 2, //grsvRowNo\r\n    BorderStyles  = (ModVal == 0)? 8:0,  //grbsDrawBottom=8\r\n    cells = Report.DetailGrid.ColumnContent.ContentCells,\r\n    count = cells.Count,\r\n    i;\r\n\r\n//Report.ColumnByName(\"CustomerID\").ContentCell.Border.Styles = BorderStyles;\r\n//Report.ColumnByName(\"CompanyName\").ContentCell.Border.Styles = BorderStyles;\r\n//Report.ColumnByName(\"Fax\").ContentCell.Border.Styles = BorderStyles;\r\n//寰幆璁剧疆姣忎釜鍐呭鏍肩殑杈规灞炴�r\nfor (i=1; i<=count; ++i) {\r\n  cells.Item(i).Border.Styles = BorderStyles;\r\n}",
+			"RowsPerPage":28,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"DataField":"瀹㈡埛缂栧彿",
+					"BorderCustom":true
+				},
+				{
+					"Column":"CompanyName",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"DataField":"鍏徃鍚嶇О",
+					"BorderCustom":true
+				},
+				{
+					"Column":"Fax",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"DataField":"浼犵湡",
+					"BorderCustom":true
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"AppendCount",
+			"DataType":"Integer",
+			"Value":"5"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":6.29708,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1f.grf b/public/grf/7-1f.grf
new file mode 100644
index 0000000..a9ac5f6
--- /dev/null
+++ b/public/grf/7-1f.grf
@@ -0,0 +1,411 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1f.鑴氭湰.椤佃剼棣栭〉涓嶆樉绀�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄩ〉鑴氱殑鈥滄牸寮忓寲鑴氭湰鈥濆睘鎬т笂鍐欒剼鏈紝鎺у埗鍏跺湪棣栭〉涓嶆樉绀�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]"
+		},
+		"ColLine":{
+			"Color":"C1C1C1"
+		},
+		"RowLine":{
+			"Color":"C1C1C1"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,c.ContactName,c.Address,c.city,c.Region,c.Country,c.Postalcode,\n\nm.OrderDate,M.Freight,d.ProductID,p.ProductName,\r\nd.UnitPrice,d.Quantity,d.Discount,\n\nd.UnitPrice*d.Quantity as Amount, Amount*d.Discount as DiscountAmt, Amount-DiscountAmt as NetAmount\n\n\r\nfrom (Orders m inner join \n\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\n\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/97# And #1/31/97#\n\n\r\norder by m.CustomerID,m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"$#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Discount",
+					"Type":"Float",
+					"Format":"0.00%"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"DiscountAmt",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"NetAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"PostalCode"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.38125
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.78354
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Discount",
+				"Width":1.79917
+			},
+			{
+				"Name":"NetAmount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Discount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Discount"
+				},
+				{
+					"Column":"NetAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"NetAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Weight":400,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discount",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"鎶樻墸"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"NetAmount",
+					"BackColor":"800000",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"FFFFFF",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerID",
+				"GroupHeader":{
+					"CanGrow":true,
+					"Height":1.79917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"Before",
+					"Control":[
+						{
+							"Type":"RichTextBox",
+							"Name":"RichTextBox2",
+							"Left":0.185208,
+							"Width":15.584,
+							"Height":1.37583,
+							"CanGrow":true,
+							"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}}\n\n{\\colortbl ;\\red0\\green0\\blue0;\\red0\\green51\\blue102;\\red255\\green102\\blue0;\\red0\\green255\\blue0;\\red0\\green0\\blue255;}\n\n\\viewkind4\\uc1\\pard\\nowidctlpar\\sl240\\slmult0\\b\\f0\\fs28 [#PostalCode#]\\par\n\n[#Country#] [#City#][#Address#]\\cf1\\par\n\n\\pard\\nowidctlpar\\sl240\\slmult0\\qc\\cf0\\b0 [#CompanyName#] [#ContactName#]\\par\n\n\\pard\\nowidctlpar\\sl240\\slmult0\\cf2\\par\n\n\\cf0\\fs21\\'d7\\'f0\\'be\\'b4\\'b5\\'c4 [#ContactName#],\\par\n\n\\pard\\nowidctlpar\\fi359\\sl240\\slmult0\\'d0\\'bb\\'d0\\'bb\\'b9\\'f3\\'b9\\'ab\\'cb\\'be\\'d4\\'da\\'b9\\'fd\\'c8\\'a5\\'d2\\'bb\\'c4\\'ea\\'d3\\'eb\\'ce\\'d2\\'c3\\'c7\\'b5\\'c4\\'ba\\'cf\\'d7\\'f7\\'a3\\'ac\\'d2\\'d4\\'cf\\'c2\\'ca\\'c7\\'c4\\'e3\\'c3\\'c7\\'d4\\'da1997\\'c4\\'ea\\'b6\\'c8\\'b5\\'c4\\'b6\\'a9\\'bb\\'f5\\'c7\\'e5\\'b5\\'a5\\'a3\\'ac\\'c7\\'eb\\'d7\\'d0\\'cf\\'b8\\'ba\\'cb\\'b6\\'d4\\'a1\\'a3\\'c8\\'e7\\'b7\\'a2\\'cf\\'d6\\'ce\\'ca\\'cc\\'e2\\'c7\\'eb\\'bc\\'b0\\'ca\\'b1\\'d3\\'eb\\'ce\\'d2\\'c3\\'c7\\'c1\\'aa\\'cf\\'b5\\'a3\\'ac\\'c1\\'aa\\'cf\\'b5\\'b5\\'e7\\'bb\\'b0\\'a3\\'ba888-51851888\\'a1\\'a3\\kerning2\\par\n\n\\pard\\nowidctlpar\\qj\\cf3\\b\\'b8\\'bd\\'d7\\'a2\\'a3\\'ba\\cf0\\b0\\'d5\\'e2\\'ca\\'c7\\'d2\\'bb\\'b7\\'e2\\f1  RTF \\f0\\'b8\\'f1\\'ca\\'bd\\'ce\\'c4\\'b1\\'be\\'d0\\'c5\\'bc\\'fe\\'a3\\'ac\\'bf\\'c9\\'d2\\'d4\\'d4\\'da\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'b7\\'e1\\'b8\\'bb\\'b5\\'c4\\cf4\\ul\\b\\i\\'b8\\'f1\\'ca\\'bd\\cf0\\ulnone\\b0\\i0\\'a1\\'a3\\cf5\\ul\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'c1\\'cb\\'bf\\'c9\\'cc\\'e6\\'bb\\'bb\\'d3\\'f2\\'a3\\'ac\\'d3\\'f2\\'d4\\'da\\'d4\\'cb\\'d0\\'d0\\'ca\\'c7\\'b1\\'bb\\'d3\\'f2\\'d6\\'b5\\'cc\\'e6\\'bb\\'bb\\'a3\\'ac\\'c8\\'e7\\'d0\\'c5\\'bc\\'fe\\'b3\\'c6\\'ce\\'bd\\'d6\\'d0\\'b5\\'c4\\'d3\\'c3\\'bb\\'a7\\'c3\\'fb\\'b3\\'c6\\par\n\n\\pard\\cf0\\kerning0\\ulnone\\b\\fs28\\par\n\n}\n\n"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":2.38125,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"AlignColumn":"Discount",
+							"Left":11.3242,
+							"Top":0.211667,
+							"Width":1.79917,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍚堣锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.211667,
+							"Width":2.77813,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"NetAmount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Left":3.78354,
+							"Top":0.978958,
+							"Width":2.59292,
+							"Height":0.396875,
+							"Text":"姝よ嚧"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"Left":5.79438,
+							"Top":1.5875,
+							"Width":2.59292,
+							"Height":0.423333,
+							"Text":"鏁ぜ"
+						},
+						{
+							"Type":"Line",
+							"Name":"Line2",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.079375,
+							"Width":2.77812
+						},
+						{
+							"Type":"Line",
+							"Name":"Line3",
+							"AlignColumn":"NetAmount",
+							"Left":13.1233,
+							"Top":0.15875,
+							"Width":2.77812
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"FormatScript":"//鍙湪绗竴椤典笉鏄剧ず褰撳墠鎶ヨ〃鑺俓r\nSender.Visible = (Report.SystemVarValue(3) > 1); \r\n",
+		"Font":{
+			"Name":"瀹嬩綋",
+			"Size":105000,
+			"Weight":400,
+			"Charset":134
+		},
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":12.1973,
+				"Width":3.81,
+				"Height":0.608542,
+				"TextAlign":"MiddleRight",
+				"Text":"绗琜#SystemVar(PageNumber)-1#]椤� 鍏盵#SystemVar(PageCount)-1#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"CanGrow":true,
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":5.15938,
+					"Top":0.185208,
+					"Width":5.68854,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛1997骞村害璁㈣揣娓呭崟"
+				},
+				{
+					"Type":"RichTextBox",
+					"Name":"RichTextBox1",
+					"Anchor":"[Left|Top|Right]",
+					"Left":0.185208,
+					"Top":0.79375,
+					"Width":15.6104,
+					"Height":0.820208,
+					"CanGrow":true,
+					"RTF":"{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}{\\f1\\froman\\fprq2\\fcharset0 Times New Roman;}{\\f2\\fnil\\fcharset0 MS Shell Dlg 2;}}\n\n\\viewkind4\\uc1\\pard\\nowidctlpar\\qc\\kerning2\\f0\\fs28\\'ca\\'b9\\'d3\\'c3\\f1 RichTextBox\\f0\\'cf\\'d4\\'ca\\'be\\'d0\\'c5\\'bc\\'fe\\'ce\\'c4\\'b1\\'be\\par\n\n\\'ce\\'c4\\'b1\\'be\\'d6\\'d0\\'b6\\'a8\\'d2\\'e5\\'d3\\'f2\\par\n\n\\b\\fs32\\'b1\\'a8\\par\n\n\\'b1\\'ed\\par\n\n\\'b7\\'e2\\par\n\n\\'c3\\'e6\\par\n\n\\pard\\lang2052\\kerning0\\b0\\f2\\fs17\\par\n\n}\n\n"
+				}
+			],
+			"NewPage":"After"
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1g.grf b/public/grf/7-1g.grf
new file mode 100644
index 0000000..a13b8e7
--- /dev/null
+++ b/public/grf/7-1g.grf
@@ -0,0 +1,244 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1g.鑴氭湰.闀滃儚椤佃竟璺濆苟濂囧伓椤电湁椤佃剼",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"褰撴姤琛ㄥ弻闈㈡墦鍗版椂锛岃椤电爜淇℃伅濮嬬粓鏄剧ず鍦ㄥ渚с�俓r\n\r\n鍦ㄦ牸寮忓寲鑴氭湰涓牴鎹潯浠惰缃儴浠舵鐨勫彲瑙佹�с�傝繖閲屾槸閫氳繃鍙栭〉鍙风郴缁熷彉閲忓垽鏂鍋堕〉銆俓r\n",
+	"MirrorMargins":true,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":3.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Width":0.5
+		},
+		"RowLine":{
+			"Width":0.5
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select top 300 * from Customers\r\norder by CustomerID",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175,
+				"Visible":false
+			}
+		],
+		"ColumnContent":{
+			"Height":1.00542,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"鑱旂郴浜�"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"浼犵湡"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":1.00542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.19063,
+		"FormatScript":"//鎺у埗閮ㄤ欢妗嗗湪鍋舵暟椤典笉鏄剧ず\r\nvar PageNo = Report.SystemVarValue(3); //grsvPageNumber=3\r\nSender.Controls.Item(\"MemoBox1\").Visible = (PageNo%2 != 0);\r\n",
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":5.21229,
+				"Top":0.396875,
+				"Width":10.795,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":105000,
+					"Weight":400,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.19063,
+		"FormatScript":"//鍦ㄥ鍋堕〉鍒嗗埆鏄剧ず涓嶅悓浣嶇疆鐨勯儴浠舵锛屾牴鎹〉鍙风‘瀹氭樉绀烘垨闅愯棌\r\nvar PageNo = Report.SystemVarValue(3); //grsvPageNumber=3\r\nvar OddVisible = (PageNo%2 != 0);\r\nSender.Controls.Item(\"mbOddPageNo\").Visible = OddVisible;\r\nSender.Controls.Item(\"mbEvenPageNo\").Visible = !OddVisible;\r\nSender.Controls.Item(\"mbOddTime\").Visible = OddVisible;\r\nSender.Controls.Item(\"mbEvenTime\").Visible = !OddVisible;",
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"mbEvenTime",
+				"Left":9.60438,
+				"Top":0.211667,
+				"Width":6.19125,
+				"Height":0.608542,
+				"TextAlign":"MiddleRight",
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"mbOddPageNo",
+				"Anchor":"[Top|Right]",
+				"Left":13.3879,
+				"Top":0.211667,
+				"Width":2.46063,
+				"Height":0.582083,
+				"TextAlign":"MiddleRight",
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"mbOddTime",
+				"Top":0.211667,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"mbEvenPageNo",
+				"Anchor":"[Top|Right]",
+				"Top":0.211667,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":3.22792,
+					"Top":0.185208,
+					"Width":9.525,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"娉ㄦ剰锛氬鍋堕〉鐨勯〉鐪変笌椤佃剼鏄剧ず涓嶄竴鏍�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1h.grf b/public/grf/7-1h.grf
new file mode 100644
index 0000000..d8ef74c
--- /dev/null
+++ b/public/grf/7-1h.grf
@@ -0,0 +1,199 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-1h.鑴氭湰.鎸夋潯浠堕殣钘忔暟鎹",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"褰撴姤琛ㄥ弻闈㈡墦鍗版椂锛岃椤电爜淇℃伅濮嬬粓鏄剧ず鍦ㄥ渚с�俓r\n\r\n鍦ㄦ牸寮忓寲鑴氭湰涓牴鎹潯浠惰缃儴浠舵鐨勫彲瑙佹�с�傝繖閲屾槸閫氳繃鍙栭〉鍙风郴缁熷彉閲忓垽鏂鍋堕〉銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.Productid,p.ProductName,sum(d.Quantity) as Quantity,\r\nsum(d.UnitPrice*d.Quantity*(1-d.Discount)) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p \r\non d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere m.OrderDate between #1/1/97# And #12/31/97#\r\ngroup by d.Productid,p.ProductName\r\norder by d.Productid",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer",
+					"Format":"000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":1.98438
+			},
+			{
+				"Name":"Productid",
+				"Width":2.19604
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"FormatScript":"//鏍规嵁鏉′欢璁剧疆鍐呭琛岀殑 Visible 灞炴�э紝闅愯棌鎺変笉闇�瑕佹樉绀虹殑鏁版嵁\r\n//褰揂mount瀛楁鐨勫�煎皬浜�1000鏃讹紝灏嗘湰琛屾暟鎹殣钘忔帀\r\nvar AmountField = Report.FieldByName(\"Amount\");\r\nSender.Visible =  (AmountField.AsFloat >= 5000);",
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"SystemVarBox",
+							"Name":"SystemVarBox1",
+							"ForeColor":"0000FF",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"SystemVar":"RecordNo"
+						}
+					]
+				},
+				{
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"0000FF",
+					"Text":"璁板綍鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑鏍规嵁鏉′欢闅愯棌鏁版嵁琛屻�傚彇褰撳墠璁板綍鐨勫瓧娈靛�间綔涓烘暟鎹槸鍚︽樉绀虹殑鍒ゆ柇鏉′欢锛屽疄闄呬腑杩樺彲浠ュ姞鍏ユ姤琛ㄥ弬鏁扮瓑鏁版嵁浣滀负鏉′欢鍒ゆ柇鏁版嵁銆�"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":2.19604,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":1.11125,
+					"Top":0.211667,
+					"Width":13.8113,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦ㄥ唴瀹硅鐨勨�滄牸寮忓寲鑴氭湰鈥濅腑鏍规嵁鏉′欢闅愯棌鏁版嵁琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"ForeColor":"0000FF",
+					"Center":"Horizontal",
+					"Left":1.11125,
+					"Top":1.00542,
+					"Width":13.7848,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥犱负鏈夐殣钘忕殑璁板綍锛屾墍浠ヨ褰曞彿涓嶈繛缁�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-1i.grf b/public/grf/7-1i.grf
new file mode 100644
index 0000000..f773b1c
--- /dev/null
+++ b/public/grf/7-1i.grf
@@ -0,0 +1,316 @@
+锘縶
+	"Version":"6.6.8.0",
+	"Title":"鑴氭湰鏀瑰彉鏁版嵁瀵煎嚭榛樿鍙傛暟",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄦ姤琛ㄤ富瀵硅薄鐨勨�滃鍑哄墠鑴氭湰鈥濆睘鎬т笂閫氳繃鍐欐姤琛ㄨ剼鏈敼鍙樻暟鎹鍑虹殑榛樿鍙傛暟銆俓r\n\r\n娉ㄦ剰搴旇閫氳繃鈥淓xportType鈥濆睘鎬у尯鍒嗕笉鍚岀殑鏁版嵁瀵煎嚭绫诲瀷锛屼负姣忕瀵煎嚭鏁版嵁绫诲瀷鍒嗗埆璁剧疆榛樿鍙傛暟銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ExportBeginScript":"//ExportBegin 浜嬩欢鍦ㄥ皢鎶ヨ〃瀵煎嚭涔嬪墠浼氳Е鍙戝埌锛屾棤璁烘槸璋冪敤 ExportDirect 涓� Export 鏂规硶锛孿r\n//杩樻槸浠庢墦鍗伴瑙堢獥鍙g瓑鍦版柟鎵ц瀵煎嚭锛岄兘浼氳Е鍙戝埌 ExportBegin 浜嬩欢銆俓r\n//閫氬父鍦� ExportBegin 浜嬩欢浼氬搴旇剼鏈腑璁剧疆瀵煎嚭閫夐」鍙傛暟锛屾敼鍙橀粯璁ゅ鍑鸿涓篭r\n\r\nSender.AbortOpenFile = true;  //瀵煎嚭鍚庝笉鐢ㄥ叧鑱旂▼搴忔墦寮�瀵煎嚭鏂囦欢锛屽瀵煎嚭Excel鏂囦欢涔嬪悗涓嶇敤Excel鎵撳紑\r\nSender.AbortShowOptionDlg = false;  //瀵煎嚭涔嬪墠涓嶆樉绀哄鍑洪�夐」璁剧疆瀵硅瘽妗哱r\n\r\n//鏍规嵁瀵煎嚭绫诲瀷璁剧疆鍏剁壒鏈夌殑閫夐」鍙傛暟锛屾湁鍏抽�夐」鍙傛暟鐨勫叿浣撲俊鎭竻鍙傝�冨府鍔╂枃妗c�俓r\n//IGRExportOption鏄鍑洪�夐」鐨勫熀绫伙紝鍏跺畠鍏蜂綋瀵煎嚭閫夐」鐨勬帴鍙e悕绉伴兘浠GRE2涓哄墠缂�\r\nif (Sender.ExportType == 1) //gretXLS\t\r\n{\r\n    //Report.DetailGrid.ColumnTitle.RepeatStyle = 1; //grrsNone\r\n\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.xls\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2XLSOption = Sender.AsE2XLSOption;  //AsE2XLSOption鏄繀椤荤殑\r\n    E2XLSOption.OnlyExportDetailGrid = false;\r\n    E2XLSOption.SupressEmptyLines = false;\r\n    E2XLSOption.SameAsPrint = false; \r\n    E2XLSOption.ExportPageHeaderFooter = false; \r\n    E2XLSOption.ExportPageBreak = false; \r\n}\r\nelse if (Sender.ExportType == 2) //gretTXT\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.txt\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2TXTOption = Sender.AsE2TXTOption;\r\n    E2TXTOption.OnlyExportDetailGrid = false;\r\n    E2TXTOption.SupressEmptyLines = false;\r\n}\r\nelse if (Sender.ExportType == 3) //gretHTM\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.htm\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2HTMOption = Sender.AsE2HTMOption;\r\n    E2HTMOption.OnlyExportDetailGrid = false;\r\n    E2HTMOption.SupressEmptyLines = false;\r\n}\r\nelse if (Sender.ExportType == 4) //gretRTF\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.rtf\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2RTFOption = Sender.AsE2RTFOption;\r\n    E2RTFOption.OnlyExportDetailGrid = false;\r\n    E2RTFOption.SupressEmptyLines = false;\r\n}\r\nelse if (Sender.ExportType == 5) //gretPDF\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.pdf\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2PDFOption = Sender.AsE2PDFOption;\r\n    E2PDFOption.Author = \"My Author\";\r\n    E2PDFOption.Subject = \"My Subject\";\r\n}\r\nelse if (Sender.ExportType == 6) //gretCSV\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.csv\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2CSVOption = Sender.AsE2CSVOption;\r\n    E2CSVOption.OnlyExportDetailGrid = false;\r\n    E2CSVOption.SupressEmptyLines = false;\r\n}\r\nelse if (Sender.ExportType == 7) //gretIMG\t\r\n{\r\n    Sender.FileName = \"d:\\\\export\\\\gridreport.png\"; //鎸囧畾瀵煎嚭鏂囦欢鐨勫畬鏁磋矾寰勪笌鏂囦欢鍚嶇О\r\n    \r\n    var E2IMGOption = Sender.AsE2IMGOption;\r\n    E2IMGOption.DPI = 300;\r\n    E2IMGOption.ImageType = 2; //GRExportImageType.greitPNG\r\n}",
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"AppendBlankCol":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by Region,City",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.38667
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.81
+			},
+			{
+				"Name":"City",
+				"Width":2.01083
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":3.41313
+			},
+			{
+				"Name":"Fax",
+				"Width":3.41313
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"BackColor":"FFFF00",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"BackColor":"FFFF00",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"TextAlign":"MiddleCenter",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"TextAlign":"MiddleCenter",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"TextAlign":"MiddleCenter",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.6681,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2a.grf b/public/grf/7-2a.grf
new file mode 100644
index 0000000..2b6626b
--- /dev/null
+++ b/public/grf/7-2a.grf
@@ -0,0 +1,270 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-2a.鑴氭湰.璁$畻瀛楁",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄨ褰曢泦鐨勨�滄彁浜よ褰曞墠鑴氭湰鈥濆睘鎬т笂鍐欐姤琛ㄨ剼鏈紝瀹炵幇璁$畻瀛楁姹傚�笺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.Productid,p.ProductName,d.Quantity, d.UnitPrice\r\nfrom OrderDetails d inner join Products p on d.ProductID=p.ProductID\r\nwhere d.Productid<10\r\norder by d.Productid",
+			"BeforePostRecordScript":"var AmtFld = Sender.Fields.Item(\"Amount\");\r\nvar QtyFld = Sender.Fields.Item(\"Quantity\");\r\nvar PriceFld = Sender.Fields.Item(\"UnitPrice\");\r\nAmtFld.AsFloat = QtyFld.AsFloat*PriceFld.AsFloat;",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer",
+					"Format":"000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.2225
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"ForeColor":"0000FF",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦(璁$畻瀛楁)"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"AlignColumn":"Quantity",
+							"Left":4.97417,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"AlignColumn":"Amount",
+							"Left":9.57792,
+							"Width":2.80458,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"Width":1.98438,
+							"Height":0.582083,
+							"Text":"鎬昏"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox7",
+				"Left":0.185208,
+				"Width":3.41313,
+				"Height":0.396875,
+				"Text":"浜у搧閿�鍞眹鎬昏〃"
+			},
+			{
+				"Type":"SystemVarBox",
+				"Name":"SysData1",
+				"Left":8.17563,
+				"Width":7.62,
+				"Height":0.396875,
+				"Format":"鎶ヨ〃鎵撳嵃鏃堕棿锛歽yyy骞碝M鏈坉d鏃� HH:mm:ss",
+				"SystemVar":"CurrentDateTime"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.608542,
+				"Width":16.0073
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Center":"Horizontal",
+				"Left":6.21771,
+				"Width":3.59833,
+				"Height":0.396875,
+				"TextAlign":"MiddleCenter",
+				"Text":"[#SystemVar(PageNumber)#]/[#SystemVar(PageCount)#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.5875,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitle",
+					"Center":"Horizontal",
+					"Left":4.7625,
+					"Top":0.185208,
+					"Width":6.48229,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佺粺璁¢攢鍞眹鎬绘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":1.13771,
+					"Top":0.79375,
+					"Width":13.7319,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦瀛楁鍦ㄨ褰曢泦鐨勨�滄彁浜よ褰曞墠鑴氭湰鈥濅腑璁$畻"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2b.grf b/public/grf/7-2b.grf
new file mode 100644
index 0000000..c4c8842
--- /dev/null
+++ b/public/grf/7-2b.grf
@@ -0,0 +1,345 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-2b.鑴氭湰.绱姹傚拰(鏀跺彂瀛�)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄦ姤琛ㄨ剼鏈疄鐜拌绠楁敹鍏ユ敮鍑烘暟鎹殑缁撳瓨浣欓:\r\n1銆佸畾涔変竴涓弬鏁扮敤浜庤褰曚綑棰濆�硷紝瀹氫箟涓�涓瓧娈电敤鏉ュ瓨鍌ㄦ瘡绗旇褰曠殑浣欓鍊笺�俓r\n2銆佸湪鍒嗙粍鐨勨�滃垎缁勫紑濮嬭剼鏈�濅腑灏嗕綑棰濆弬鏁扮殑鍊艰涓�0銆俓r\n3銆佸湪璁板綍闆嗙殑鈥滃鐞嗚褰曡剼鏈�濅腑灏嗕綑棰濆弬鏁扮殑鍊煎姞涓婃敹鍏ラ噾棰濆瓧娈电殑鍊�,鍑忓幓鏀嚭閲戦瀛楁鐨勫�硷紝骞舵妸褰撳墠鐨勪綑棰濆�煎瓨鍌ㄥ埌浣欓瀛楁涓�俓r\n\r\n閫氳繃鑿滃崟鈥滄姤琛�->娴忚鑴氭湰...鈥濇煡鐪嬫姤琛ㄤ腑鐨勫叏閮ㄨ剼鏈唬鐮併��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.OrderDate,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount \r\nfrom Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId\r\nwhere m.OrderDate between #6/1/1997# and #12/31/1997# and d.ProductID<10\r\norder by d.ProductID, m.OrderDate",
+			"BeforePostRecordScript":"//杩欓噷鐨勮剼鏈唬鐮佷粎浠呭彧鏄负浜嗕骇鐢熸ā鎷熸暟鎹紝涓庣幇瀹炴儏鍐靛彲鑳戒笉绗r\n//鏍规嵁鏃ユ湡杞崲鐨勬暣鏁板�硷紝鏍规嵁濂囧伓鏉′欢鍒嗗埆璁剧疆鏀舵敮閲戦瀛楁鐨勫�糪r\nvar OrderDate = Sender.Fields.Item(\"OrderDate\").AsInteger;\r\nvar Amount = Sender.Fields.Item(\"Amount\").AsFloat;\r\nif (OrderDate % 2)\r\n    Sender.Fields.Item(\"OutAmount\").AsFloat = Amount;\r\nelse\r\n    Sender.Fields.Item(\"InAmount\").AsFloat = Amount;\r\n",
+			"ProcessRecordScript":"//鎶婂綋鍓峔"Amount\"瀛楁鐨勫�肩疮鍔犲埌鍙傛暟\"SumParam\"涓璡r\nvar SumParam = Report.ParameterByName(\"SumParam\");\r\nSumParam.AsFloat = SumParam.AsFloat + Report.FieldByName(\"InAmount\").AsFloat - Report.FieldByName(\"OutAmount\").AsFloat;\r\n\r\n//缁橽"SumAmount\"瀛楁璁句笂绱鍊糪r\nSender.Edit();\r\nSender.Fields.Item(\"SumAmount\").AsFloat = SumParam.AsFloat;\r\nSender.Post();\r\n",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"SumAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"OutAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"InAmount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"Column2",
+				"Width":1.69333
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"InAmount",
+				"Width":2.2
+			},
+			{
+				"Name":"OutAmount",
+				"Width":2.2
+			},
+			{
+				"Name":"SumAmount",
+				"Width":3.14854
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Column2",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"InAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"InAmount"
+				},
+				{
+					"Column":"OutAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"OutAmount"
+				},
+				{
+					"Column":"SumAmount",
+					"TextAlign":"MiddleRight",
+					"ForeColor":"000080",
+					"DataField":"SumAmount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeader",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曞彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"InAmount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏀跺叆閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OutAmount",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏀嚭閲戦"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"SumAmount",
+					"TextAlign":"MiddleCenter",
+					"ForeColor":"000080",
+					"Text":"鏀舵敮浣欓(绱姞)"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"ProductID",
+				"GroupBeginScript":"//寮�濮嬩竴涓柊鍒嗙粍(涓�涓柊浜у搧鐨勫垎缁�),灏嗙粺璁$疮璁″�肩殑鍙傛暟\"SumParam\"鐨勫�艰涓�0\r\nReport.ParameterByName(\"SumParam\").AsFloat = 0;",
+				"GroupHeader":{
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Top":0.396875,
+							"Width":3.99521,
+							"Height":0.608542,
+							"DataField":"ProductName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.59292,
+							"Height":0.608542,
+							"Text":"鏈熸湯灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"InAmount",
+							"Left":8.01688,
+							"Width":2.2225,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"InAmount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"OutAmount",
+							"Left":10.2394,
+							"Width":2.19604,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"OutAmount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"AlignColumn":"SumAmount",
+							"Left":12.4354,
+							"Width":3.14854,
+							"Height":0.608542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"SumAmount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":12.1973,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"SumParam",
+			"DataType":"Float"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":3.41313,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":4.81542,
+					"Top":0.211667,
+					"Width":6.40292,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢ㄨ剼鏈疄鐜版敹鍙戝瓨鍔熻兘"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":0.211667,
+					"Top":0.79375,
+					"Width":15.584,
+					"Height":2.40771,
+					"WordWrap":true,
+					"Text":"1銆佸畾涔変竴涓弬鏁扮敤浜庤褰曚綑棰濆�硷紝瀹氫箟涓�涓瓧娈电敤鏉ュ瓨鍌ㄦ瘡绗旇褰曠殑浣欓鍊笺�俓r\n2銆佸湪鍒嗙粍鐨勨�滃垎缁勫紑濮嬭剼鏈�濅腑灏嗕綑棰濆弬鏁扮殑鍊艰涓�0銆俓r\n3銆佸湪璁板綍闆嗙殑鈥滃鐞嗚褰曡剼鏈�濅腑灏嗕綑棰濆弬鏁扮殑鍊煎姞涓婃敹鍏ラ噾棰濆瓧娈电殑鍊�,鍑忓幓鏀嚭閲戦瀛楁鐨勫�硷紝骞舵妸褰撳墠鐨勪綑棰濆�煎瓨鍌ㄥ埌浣欓瀛楁涓�俓r\n\r\n閫氳繃鑿滃崟鈥滄姤琛�->娴忚鑴氭湰...鈥濇煡鐪嬫姤琛ㄤ腑鐨勫叏閮ㄨ剼鏈唬鐮併��"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2c.grf b/public/grf/7-2c.grf
new file mode 100644
index 0000000..9053ea2
--- /dev/null
+++ b/public/grf/7-2c.grf
@@ -0,0 +1,515 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-2c.鑴氭湰.鍗犲垪鍒嗙粍涓嶉噸澶嶆眰鍜�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄦ姤琛ㄨ剼鏈疄鐜颁富琛ㄦ暟鎹」姹傚拰锛屾瘡椤瑰彧姹傚拰涓�娆★細\r\n1銆佸畾涔変竴涓弬鏁帮紝璁板綍姹傚拰杩囩▼涓墍寰楃殑鍊硷紝骞剁敤涓�涓潤鎬佹鏄剧ず鍙傛暟鐨勫�糪r\n2銆佸垎缁勭殑鈥滃垎缁勫紑濮嬭剼鏈�濅腑绱姞鍙傛暟鐨勫�糪r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ProcessBeginScript":"Report.ParameterByName(\"TotalFreight\").AsFloat = 0;",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderID,m.CustomerId,c.CompanyName,m.OrderDate,M.Freight,\r\nd.ProductID,p.ProductName,d.UnitPrice,d.Quantity,d.UnitPrice*d.Quantity as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderID<=10351\r\norder by m.CustomerId,m.OrderDate, m.OrderID",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yy/MM/dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":1.77271
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.01083
+			},
+			{
+				"Name":"Freight",
+				"Width":2
+			},
+			{
+				"Name":"Freight2",
+				"Width":2
+			},
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":1.98438
+			},
+			{
+				"Name":"Quantity",
+				"Width":1.5875
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Freight",
+					"TextAlign":"MiddleRight",
+					"DataField":"Freight"
+				},
+				{
+					"Column":"Freight2",
+					"TextAlign":"MiddleRight",
+					"DataField":"Freight"
+				},
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曞彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Freight",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯垂"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Freight2",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯垂2"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍗曚环"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"TotalGroup",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"99CCFF",
+					"Height":2.01083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox10",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"OrderID",
+							"AlignColumnEx":"OrderDate",
+							"Top":0.555625,
+							"Width":3.81,
+							"Height":0.608542,
+							"Text":"鍏ㄩ儴璁㈠崟杩愯垂锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox11",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight2",
+							"Left":5.79438,
+							"Top":0.555625,
+							"Width":2.03729,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Parameter":"TotalFreight"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":14.1552,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox12",
+							"BackColor":"FFFFFF",
+							"ForeColor":"0000FF",
+							"AlignColumn":"OrderID",
+							"AlignColumnEx":"Freight",
+							"Top":1.16417,
+							"Width":5.82083,
+							"Height":0.608542,
+							"Text":"鐢ㄧ粺璁℃浼氬皢涓�椤规暟鎹娆℃眰鍜�:"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox4",
+							"BackColor":"FFFFFF",
+							"ForeColor":"0000FF",
+							"AlignColumn":"Freight2",
+							"Left":5.79438,
+							"Top":1.16417,
+							"Width":2.03729,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Freight"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"BackColor":"FFFFFF",
+							"Width":3.81,
+							"Height":0.608542,
+							"Text":"鍏ㄩ儴鏁版嵁鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"CustomerGroup",
+				"ByFields":"CustomerID",
+				"GroupBeginScript":"Report.ParameterByName(\"CustomerFreight\").AsFloat = 0;",
+				"GroupHeader":{
+					"Height":1.00542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"Width":11.0067,
+							"Height":1.00542,
+							"Text":"瀹㈡埛缂栧彿锛歔#CustomerID#]鍏徃鍚嶇О锛歔#CompanyName#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFFCC",
+					"Height":1.19063,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"OrderID",
+							"AlignColumnEx":"OrderDate",
+							"Width":3.81,
+							"Height":0.608542,
+							"Text":"缁熻瀹㈡埛璁㈠崟杩愯垂锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight2",
+							"Left":5.79438,
+							"Width":2.03729,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Parameter":"CustomerFreight"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":14.1552,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox9",
+							"BackColor":"FFFFFF",
+							"ForeColor":"0000FF",
+							"AlignColumn":"OrderID",
+							"AlignColumnEx":"Freight",
+							"Top":0.608542,
+							"Width":5.82083,
+							"Height":0.608542,
+							"Text":"鐢ㄧ粺璁℃浼氬皢涓�椤规暟鎹娆℃眰鍜�:"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"BackColor":"FFFFFF",
+							"ForeColor":"0000FF",
+							"AlignColumn":"Freight2",
+							"Left":5.79438,
+							"Top":0.608542,
+							"Width":2.03729,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Freight"
+						}
+					]
+				}
+			},
+			{
+				"Name":"OrderGroup",
+				"ByFields":"OrderID",
+				"GroupBeginScript":"var p = Report.ParameterByName(\"TotalFreight\");\r\np.AsFloat = p.AsFloat + Report.FieldByName(\"Freight\").AsFloat;\r\n\r\nvar p2 = Report.ParameterByName(\"CustomerFreight\");\r\np2.AsFloat = p2.AsFloat + Report.FieldByName(\"Freight\").AsFloat;",
+				"GroupHeader":{
+					"Height":0,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"OrderID;OrderDate;Freight",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight2",
+							"Left":5.79438,
+							"Width":2.03729,
+							"Height":0.608542,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":14.1552,
+							"Width":2.80458,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox5",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.582083,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":105000,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"Grid++Report 绀轰緥"
+			},
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox6",
+				"ForeColor":"FF0000",
+				"Width":8.17563,
+				"Height":0.582083,
+				"Text":"娆㈣繋璁块棶锛歸ww.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭�"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":12.1973,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"TotalFreight",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"CustomerFreight",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.19063,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":4.97417,
+					"Top":0.211667,
+					"Width":7.01146,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"涓昏〃鏁版嵁涓�鍗曟眰鍜屼竴娆�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2d.grf b/public/grf/7-2d.grf
new file mode 100644
index 0000000..c21c4b7
--- /dev/null
+++ b/public/grf/7-2d.grf
@@ -0,0 +1,324 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-2d.鑴氭湰.姣忛〉閲嶅鎶ヨ〃灏惧疄鐜伴〉灏忚",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄨ剼鏈湪姣忛〉閲嶅鏄剧ず鐨勬姤琛ㄥ熬涓疄鐜版暟鎹〉灏忚缁熻\r\n1銆佸畾涔夊弬鏁扮敤浜庤褰曟湰椤垫暟鎹粺璁°�俓r\n2銆佸湪鎶ヨ〃涓诲璞$殑鈥滈〉寮�濮嬭剼鏈�濅腑涓哄弬鏁拌缃垵鍊笺�俓r\n3銆佸湪璁板綍闆嗙殑鈥滈〉澶勭悊璁板綍鑴氭湰鈥濅腑鍙栧瓧娈靛�煎苟绱姞鍒板弬鏁颁笂銆俓r\n4銆佸湪鎶ヨ〃灏句腑鐢ㄧ患鍚堟枃鏈鎴栭潤鎬佹鏄剧ず鍙傛暟鍊笺�俓r\n\r\n閫氳繃鑿滃崟鈥滄姤琛�->娴忚鑴氭湰...鈥濇煡鐪嬫姤琛ㄤ腑鐨勫叏閮ㄨ剼鏈唬鐮併��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"PageStartScript":"Report.ParameterByName(\"PageCount\").AsInteger = 0;\r\nReport.ParameterByName(\"PageQty\").AsFloat = 0;\r\nReport.ParameterByName(\"PageAmt\").AsFloat = 0;\r\n",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"AppendBlankRow":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.OrderId, m.OrderDate, d.Productid,p.ProductName,d.Quantity,\r\nd.UnitPrice*d.Quantity*(1-d.Discount) as Amount\r\nfrom orders m inner join (OrderDetails d inner join Products p on d.ProductID=p.ProductID) \r\non m.orderid=d.orderid\r\nwhere d.Productid=56\r\norder by m.OrderDate",
+			"PageProcessRecordScript":"Report.ParameterByName(\"PageCount\").AsInteger = Report.ParameterByName(\"PageCount\").AsInteger + 1;\r\nReport.ParameterByName(\"PageQty\").AsFloat = Report.ParameterByName(\"PageQty\").AsFloat + Sender.Fields.Item(\"Quantity\").AsFloat;\r\nReport.ParameterByName(\"PageAmt\").AsFloat = Report.ParameterByName(\"PageAmt\").AsFloat + Sender.Fields.Item(\"Amount\").AsFloat;",
+			"Field":[
+				{
+					"Name":"Productid",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer",
+					"Format":"000000"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.59292
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"RowsPerPage":20,
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Left":9.78958,
+				"Width":6.00604,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":11.5888,
+				"Top":0.211667,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤�/鍏盵#SystemVar(PageCount)#]椤�"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"PageQty",
+			"DataType":"Float",
+			"Format":"#,##0"
+		},
+		{
+			"Name":"PageAmt",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"PageCount",
+			"DataType":"Integer"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.47146,
+					"Top":0.185208,
+					"Width":7.09083,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"姣忛〉閲嶅鎶ヨ〃灏惧疄鐜伴〉灏忚"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"Height":1.19063,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"SummaryBox",
+					"Name":"SummaryBox2",
+					"AlignColumn":"Amount",
+					"Left":11.5623,
+					"Top":0.635,
+					"Width":2.75167,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"AlignColumn":"Productid",
+					"Left":0.0264583,
+					"Top":0.635,
+					"Width":1.56104,
+					"Height":0.582083,
+					"Text":"鍏ㄩ儴鎬昏锛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"AlignColumn":"Productid",
+					"Left":0.0264583,
+					"Width":1.56104,
+					"Height":0.582083,
+					"Text":"鏈〉灏忚锛�"
+				},
+				{
+					"Type":"SummaryBox",
+					"Name":"SummaryBox3",
+					"AlignColumn":"Quantity",
+					"Left":9.18104,
+					"Top":0.635,
+					"Width":2.35479,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity",
+					"Format":"#,##0"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"AlignColumnSide":"Right",
+					"AlignColumn":"OrderDate",
+					"Left":5.63563,
+					"Top":0.635,
+					"Width":3.51896,
+					"Height":0.582083,
+					"Text":"鍏ㄩ儴鍏盵#Count()#]绗�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"AlignColumnSide":"Right",
+					"AlignColumn":"OrderDate",
+					"Left":5.63563,
+					"Width":3.51896,
+					"Height":0.582083,
+					"Text":"鏈〉鍏盵#PageCount#]绗�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"AlignColumn":"Amount",
+					"Left":11.5623,
+					"Width":2.75167,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"Text":"[#PageAmt#]"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"AlignColumn":"Quantity",
+					"Left":9.18104,
+					"Width":2.35479,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"Text":"[#PageQty#]"
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2e.grf b/public/grf/7-2e.grf
new file mode 100644
index 0000000..388fb94
--- /dev/null
+++ b/public/grf/7-2e.grf
@@ -0,0 +1,305 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"7-2e.鑴氭湰.鍥涜垗浜斿叆",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鎶ヨ〃涓疄鐜板洓鑸嶄簲鍏ワ細\r\n1銆佹姤琛ㄤ腑鐨勫皬鏁版暟鎹彲浠ラ�氳繃璁剧疆鏍煎紡涓叉帶鍒跺叾鏄剧ず浣嶆暟锛屼絾杩欐牱骞朵笉浼氭敼鍙樻暟鎹殑瀹為檯鍊笺�傚鏋滃鏁版嵁杩涜绱缁熻锛岃绠楁満鑷姩缁熻鐨勪笌鏍规嵁鏄剧ず鏁版嵁杩涜缁熻鐨勭粨鏋滃緢鍙兘涓嶄竴鑷淬�俓r\n2銆佷负浜嗕繚鎸佺粺璁″�间笌鏄剧ず鍊间竴鑷达紝闇�瑕佸鏁版嵁杩涜蹇呰鐨勫洓鑸嶄簲鍏ュ鐞嗐�俓r\n3銆佸洓鑸嶄簲鍏ユ柟寮忎竴锛氬湪鎶ヨ〃鑴氭湰浠g爜涓皟鐢� IGRUtility.NumberRound45 鏂规硶銆傞�氬父鍦ㄨ褰曢泦鐨勨�滄彁浜よ褰曞墠鑴氭湰鈥濅腑灏嗗瓧娈电殑鍘熷鍊艰繘琛屽洓鑸嶄簲鍏ャ�俓r\n4銆佸洓鑸嶄簲鍏ユ柟寮忎簩锛氬湪缁煎悎鏂囧瓧妗嗙殑琛ㄨ揪寮忎腑瀹氫箟 round45 鍑芥暟銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select OrderID,ProductID,UnitPrice*12.6573 as Amount,UnitPrice*12.657 as Amount2\r\nfrom OrderDetails\r\nwhere OrderID<=10300\r\norder by OrderID",
+			"BeforePostRecordScript":"var f = Sender.Fields.Item(\"Amount2\");\r\nf.AsFloat = Report.Utility.NumberRound45(f.AsFloat, 2);",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float"
+				},
+				{
+					"Name":"Amount2",
+					"Type":"Float"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.77813
+			},
+			{
+				"Name":"rawAmount",
+				"Width":5
+			},
+			{
+				"Name":"Amount",
+				"Width":5
+			},
+			{
+				"Name":"Amount2",
+				"Width":5
+			},
+			{
+				"Name":"Amount3",
+				"Width":5
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"TextAlign":"MiddleRight",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"rawAmount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"Amount2",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount2"
+				},
+				{
+					"Column":"Amount3",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox6",
+							"Dock":"Fill",
+							"TextAlign":"MiddleRight",
+							"Text":"[#round45(Amount, 2)#]"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.9,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧ID"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"rawAmount",
+					"TextAlign":"MiddleCenter",
+					"Text":"灏忔暟瀛楁(鍘熷鏁版嵁)"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"灏忔暟瀛楁(鎺у埗鏄剧ず浣嶆暟)"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount2",
+					"TextAlign":"MiddleCenter",
+					"Text":"灏忔暟瀛楁(鍥涜垗浜斿叆/鑴氭湰)"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount3",
+					"TextAlign":"MiddleCenter",
+					"Text":"灏忔暟瀛楁(鍥涜垗浜斿叆/琛ㄨ揪寮�)"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"OrderID",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field1",
+							"Left":1.5875,
+							"Width":2.61938,
+							"Height":0.79375,
+							"DataField":"OrderID"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"Width":1.5875,
+							"Height":0.79375,
+							"Text":"璁㈠崟鍙凤細"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":1.79917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.40771,
+							"Height":0.79375,
+							"Text":"鏈崟灏忚"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"AlignColumn":"Amount",
+							"Left":7.77875,
+							"Top":0.79375,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"灏忔暟鏄剧ず涓変綅锛歔#Sum(Amount):#,##0.000#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"AlignColumn":"Amount",
+							"Left":7.77875,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"灏忔暟鏄剧ず浜屼綅锛歔#Sum(Amount):#,##0.00#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"AlignColumn":"rawAmount",
+							"Left":2.77813,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"绮剧‘鏄剧ず锛歔#Sum(Amount)#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox4",
+							"AlignColumn":"Amount2",
+							"Left":12.7794,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"绮剧‘鏄剧ず锛歔#Sum(Amount2)#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"AlignColumn":"Amount2",
+							"Left":12.7794,
+							"Top":0.79375,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"灏忔暟鏄剧ず浜屼綅锛歔#Sum(Amount2):#,##0.00#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox7",
+							"AlignColumn":"Amount3",
+							"Left":17.78,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"绮剧‘鏄剧ず锛歔#Sum(round45(Amount,2))#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox8",
+							"AlignColumn":"Amount3",
+							"Left":17.78,
+							"Top":0.79375,
+							"Width":5.02708,
+							"Height":0.79375,
+							"TextAlign":"MiddleRight",
+							"Text":"鍥涜垗浜斿叆涓�浣嶏細[#round45(Sum(round45(Amount,2)), 1)#]"
+						}
+					]
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":7.54063,
+					"Top":0.211667,
+					"Width":9.63083,
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"婕旂ず鎶ヨ〃涓鏁版嵁杩涜鍥涜垗浜斿叆"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2f.grf b/public/grf/7-2f.grf
new file mode 100644
index 0000000..432a0bc
--- /dev/null
+++ b/public/grf/7-2f.grf
@@ -0,0 +1,391 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"7-2e.鑴氭湰.鑷畾涔夌粺璁�(璁$畻瀛楁).grf",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"娣诲姞璁$畻瀛楁瀹炵幇鎸夋潯浠剁粺璁℃暟鎹甛r\n\r\n瀹炵幇瑕佺偣锛歕r\n1銆佸湪鏄庣粏璁板綍闆嗕腑鍔犲叆鏁版嵁婧愪腑涓嶅瓨鍦ㄧ殑瀛楁锛屾绫诲瓧娈电О涓鸿绠楀瓧娈点�俓r\n2銆佸湪鏄庣粏璁板綍闆嗙殑鈥滄彁浜よ褰曞墠鈥濆睘鎬у啓鎶ヨ〃鑴氭湰锛屾寜鏉′欢缁欏悇涓绠楀瓧娈佃缃�笺�俓r\n3銆佸湪鍒嗙粍灏剧敤缁熻妗嗗璁$畻瀛楁杩涜缁熻銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,m.OrderID,m.OrderDate,m.ShipVia,s.CompanyName as Shipper,m.Freight\r\nfrom (Orders m left join Customers c on c.CustomerID=m.CustomerID) inner join Shippers s on m.ShipVia=s.ShipperID\r\nwhere  m.CustomerId>'B' and m.CustomerId<'D'\r\norder by m.CustomerId,m.OrderID",
+			"BeforePostRecordScript":"var ShipVia = Sender.Fields.Item(\"ShipVia\").AsInteger,\r\n    Freight = Sender.Fields.Item(\"Freight\").AsFloat;\r\nif (ShipVia === 1)\r\n    Sender.Fields.Item(\"FreightEMS\").AsFloat = Freight;\r\nelse if (ShipVia === 2)\r\n    Sender.Fields.Item(\"FreightSF\").AsFloat = Freight;\r\nelse if (ShipVia === 3)\r\n    Sender.Fields.Item(\"FreightYT\").AsFloat = Freight;\r\n",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy//MM//dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ShipVia",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Shipper"
+				},
+				{
+					"Name":"FreightEMS",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"FreightSF",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"FreightYT",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":2.16958
+			},
+			{
+				"Name":"OrderDate",
+				"Width":3.20146
+			},
+			{
+				"Name":"ShipVia",
+				"Width":2.80458
+			},
+			{
+				"Name":"Freight",
+				"Width":2.38125
+			},
+			{
+				"Name":"Column1",
+				"Width":3.20146
+			},
+			{
+				"Name":"Column2",
+				"Width":2.38
+			},
+			{
+				"Name":"Column3",
+				"Width":2.38
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"ShipVia",
+					"DataField":"Shipper"
+				},
+				{
+					"Column":"Freight",
+					"TextAlign":"MiddleRight",
+					"DataField":"Freight"
+				},
+				{
+					"Column":"Column1",
+					"TextAlign":"MiddleRight",
+					"DataField":"FreightEMS"
+				},
+				{
+					"Column":"Column2",
+					"TextAlign":"MiddleRight",
+					"DataField":"FreightSF"
+				},
+				{
+					"Column":"Column3",
+					"TextAlign":"MiddleRight",
+					"DataField":"FreightYT"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣揣鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ShipVia",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯揣鍟�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Freight",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯垂"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"EMS杩愯垂"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"椤轰赴杩愯垂"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column3",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦嗛�氳繍璐�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerId",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Width":2.59292,
+							"Height":0.79375,
+							"DataField":"CustomerId"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":2.59292,
+							"Width":3.99521,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":2.40771,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.01083,
+							"Height":0.608542,
+							"Text":"杩愯垂缁熻"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAmt",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight",
+							"Left":8.17563,
+							"Width":2.40771,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"FreightEMS",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight",
+							"Left":8.17563,
+							"Top":0.608542,
+							"Width":2.40771,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"FreightSF",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight",
+							"Left":8.17563,
+							"Top":1.19063,
+							"Width":2.40771,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"FreightYT",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight",
+							"Left":8.17563,
+							"Top":1.79917,
+							"Width":2.40771,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Freight",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.37104,
+							"Width":2.83104,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"閭斂EMS:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.37104,
+							"Top":0.608542,
+							"Width":2.83104,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"Text":"椤轰赴蹇��:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.37104,
+							"Top":1.19063,
+							"Width":2.83104,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍦嗛�氬揩閫�:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.37104,
+							"Top":1.79917,
+							"Width":2.83104,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍚堣:"
+						}
+					]
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.37104,
+					"Top":0.211667,
+					"Width":7.80521,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夋潯浠剁粺璁℃暟鎹�(鍒嗙被鍒粺璁�)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Center":"Horizontal",
+					"Left":3.14854,
+					"Top":0.79375,
+					"Width":12.2238,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢ㄨ绠楀瓧娈靛疄鐜板彧缁熻婊¤冻鏉′欢鐨勬暟鎹�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-2g.grf b/public/grf/7-2g.grf
new file mode 100644
index 0000000..9fc94a0
--- /dev/null
+++ b/public/grf/7-2g.grf
@@ -0,0 +1,343 @@
+锘縶
+	"Version":"6.6.8.0",
+	"Title":"7-2e.鑴氭湰.鑷畾涔夌粺璁�(鍙傛暟杈呭姪璁$畻)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"娣诲姞鎶ヨ〃鍙傛暟瀹炵幇鎸夋潯浠剁粺璁℃暟鎹甛r\n\r\n瀹炵幇瑕佺偣锛歕r\n1銆佹彃鍏ョ粺璁$被鍒搴旂殑鍚勪釜鎶ヨ〃鍙傛暟锛屽苟鍦ㄥ垎缁勫熬(鎴栧垎缁勫ご)涓敤缁煎悎鏂囧瓧妗�(鎴栭潤鎬佹枃鏈銆佽嚜鐢辫〃鏍�)鏄剧ず杩欎簺鍙傛暟銆俓r\n2銆佸湪鍒嗙粍鐨勨�滃垎缁勫紑濮嬭剼鏈�濆睘鎬у啓鎶ヨ〃鑴氭湰锛屽垵濮嬪寲缁熻鍙傛暟鐨勫�间负0銆俓r\n3銆佸湪鏄庣粏璁板綍闆嗙殑鈥滃鐞嗚褰曡剼鏈�濆睘鎬у啓鎶ヨ〃鑴氭湰锛屾寜绫诲埆绱姞鍚勪釜鍙傛暟鐨勫�笺�俓r\n\r\n鐗瑰埆鎻愮ず锛氬鏋滄槸鎶ヨ〃澶村熬涓殑鍏ㄧ▼缁熻锛屽垯灏嗙2姝ュ啓鍦ㄦ姤琛ㄤ富瀵硅薄鐨勨�滃紑濮嬪鐞嗚剼鏈�濃�濆睘鎬т笂銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,m.OrderID,m.OrderDate,m.ShipVia,s.CompanyName as Shipper,m.Freight\r\nfrom (Orders m left join Customers c on c.CustomerID=m.CustomerID) inner join Shippers s on m.ShipVia=s.ShipperID\r\nwhere  m.CustomerId>'B' and m.CustomerId<'D'\r\norder by m.CustomerId,m.OrderID",
+			"ProcessRecordScript":"var ShipVia = Sender.Fields.Item(\"ShipVia\").AsInteger,\r\n    Freight = Sender.Fields.Item(\"Freight\").AsFloat;\r\n\r\nif (ShipVia === 1)\r\n    Report.ParameterByName(\"EMS\").AsFloat += Freight;\r\nelse if (ShipVia === 2)\r\n    Report.ParameterByName(\"SF\").AsFloat += Freight;\r\nelse if (ShipVia === 3)\r\n    Report.ParameterByName(\"YT\").AsFloat += Freight;\r\n",
+			"Field":[
+				{
+					"Name":"OrderID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy//MM//dd"
+				},
+				{
+					"Name":"Freight",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"ShipVia",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Shipper"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":2.16958
+			},
+			{
+				"Name":"OrderDate",
+				"Width":3.20146
+			},
+			{
+				"Name":"ShipVia",
+				"Width":2.80458
+			},
+			{
+				"Name":"Freight",
+				"Width":2.38125
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"ShipVia",
+					"DataField":"Shipper"
+				},
+				{
+					"Column":"Freight",
+					"TextAlign":"MiddleRight",
+					"DataField":"Freight"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈣揣鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ShipVia",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯揣鍟�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Freight",
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯垂"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"CustomerId",
+				"GroupBeginScript":"Report.ParameterByName(\"EMS\").AsFloat = 0;\r\nReport.ParameterByName(\"SF\").AsFloat = 0;\r\nReport.ParameterByName(\"YT\").AsFloat = 0;",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Width":2.59292,
+							"Height":0.79375,
+							"DataField":"CustomerId"
+						},
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Left":2.59292,
+							"Width":3.99521,
+							"Height":0.79375,
+							"DataField":"CompanyName"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":2.40771,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"FFFFFF",
+							"Width":2.01083,
+							"Height":0.608542,
+							"Text":"杩愯垂缁熻"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAll",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Freight",
+							"Left":8.20208,
+							"Top":1.79917,
+							"Width":2.35479,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Freight",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.3975,
+							"Width":2.77813,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"閭斂EMS:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.3975,
+							"Top":0.608542,
+							"Width":2.77813,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"Text":"椤轰赴蹇��:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.3975,
+							"Top":1.19063,
+							"Width":2.77813,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍦嗛�氬揩閫�:"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"ShipVia",
+							"Left":5.3975,
+							"Top":1.79917,
+							"Width":2.77813,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"Text":"鍚堣:"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"AlignColumn":"Freight",
+							"Left":8.20208,
+							"Width":2.35479,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"Text":"[#{EMS}#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"AlignColumn":"Freight",
+							"Left":8.20208,
+							"Top":0.608542,
+							"Width":2.35479,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"Text":"[#{SF}#]"
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"AlignColumn":"Freight",
+							"Left":8.20208,
+							"Top":1.19063,
+							"Width":2.35479,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"Text":"[#{YT}#]"
+						}
+					]
+				}
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"EMS",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"SF",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		},
+		{
+			"Name":"YT",
+			"DataType":"Float",
+			"Format":"#,##0.00"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.08,
+					"Top":0.211667,
+					"Width":7.80521,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夋潯浠剁粺璁℃暟鎹�(鍒嗙被鍒粺璁�)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Center":"Horizontal",
+					"Left":2.88396,
+					"Top":0.79375,
+					"Width":12.2238,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐢ㄦ姤琛ㄥ弬鏁拌緟鍔╄绠楀疄鐜板彧缁熻婊¤冻鏉′欢鐨勬暟鎹�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3a.grf b/public/grf/7-3a.grf
new file mode 100644
index 0000000..3c49154
--- /dev/null
+++ b/public/grf/7-3a.grf
@@ -0,0 +1,163 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3a.鑴氭湰.鑷粯绐佸嚭琛岀嚎",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"1銆佽嚜鐢辨牸\r\n2銆佽缃儴浠舵鐨勨�滆嚜缁樷�濆睘鎬r\n3銆佸湪閮ㄤ欢妗嗕笂鍐欌�滆嚜缁樿剼鏈��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"GlobalScript":"function GetColorValue(r,g,b)\r\n{\r\n   return Report.Utility.ColorFromRGB(r, g , b);\r\n}\r\n",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select m.CustomerId,c.CompanyName,sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderId<10375 and m.CustomerId<'H'\r\ngroup by m.CustomerId,c.CompanyName\r\norder by m.CustomerId",
+			"Field":[
+				{
+					"Name":"CustomerId"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"UnitPriceaaa",
+				"Width":2.38125
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":4.78896
+			},
+			{
+				"Name":"DisCountAmt",
+				"Width":3.41313
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"UnitPriceaaa",
+					"DataField":"CustomerId"
+				},
+				{
+					"Column":"UnitPrice",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"CustomDraw":true,
+							"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x1 = Graphics.Left,\r\n    x2 = x1 + Graphics.Width,\r\n    y = Graphics.Top + Graphics.Height - 1,\r\n    Amt = Report.FieldByName(\"Amount\").AsFloat;\r\n\r\nSender.DrawDefault();\r\n\r\nif (Amt > 3000)\r\n{\r\n  //璁惧畾缁樺嚭绾垮瀷锛孏etColorValue 鏉ヨ嚜鎶ヨ〃涓婚槦璞$殑鍏ㄥ眬鑴氭湰灞炴�т腑瀹氫箟鐨勫嚱鏁癨r\n  Graphics.SelectPen(2, GetColorValue(0, 0, 0), 0); //0=grpsSolid\r\n\r\n  Graphics.MoveTo(x1,  y);\r\n  Graphics.LineTo(x2,  y);\r\n\r\n  //鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\n  Graphics.RestorePen();\r\n}",
+							"DataField":"CompanyName"
+						}
+					]
+				},
+				{
+					"Column":"DisCountAmt",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Dock":"Fill",
+							"CustomDraw":true,
+							"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x1 = Graphics.Left,\r\n    x2 = x1 + Graphics.Width,\r\n    y = Graphics.Top + Graphics.Height - 1,\r\n    Amt = Report.FieldByName(\"Amount\").AsFloat;\r\n\r\nSender.DrawDefault();\r\n\r\nif (Amt > 3000)\r\n{\r\n  //璁惧畾缁樺嚭绾垮瀷锛孏etColorValue 鏉ヨ嚜鎶ヨ〃涓婚槦璞$殑鍏ㄥ眬鑴氭湰灞炴�т腑瀹氫箟鐨勫嚱鏁癨r\n  Graphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n  Graphics.MoveTo(x1,  y);\r\n  Graphics.LineTo(x2,  y);\r\n\r\n  //鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\n  Graphics.RestorePen();\r\n}",
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.608542,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"UnitPriceaaa",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"DisCountAmt",
+					"BackColor":"FFFFFF",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Height":1.40229,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":5.18583,
+					"Top":0.396875,
+					"Width":5.63563,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夋潯浠跺姞绮楄绾�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3b.grf b/public/grf/7-3b.grf
new file mode 100644
index 0000000..219e3ec
--- /dev/null
+++ b/public/grf/7-3b.grf
@@ -0,0 +1,99 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3b.鑴氭湰.閮ㄤ欢妗嗚嚜瀹氫箟缁樺埗",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず閮ㄤ欢妗嗙殑鑷畾涔夌粯鍒跺姛鑳絓r\n\r\n灏嗛儴浠舵鐨勨�滆嚜缁樷�濆睘鎬ц涓衡�滄槸鈥濓紝閮ㄤ欢妗嗗皢鎴愪负鑷粯閮ㄤ欢妗嗭紝鍏剁粯鍒惰緭鍑哄皢鐢ㄧ敤鎴疯嚜宸遍�氳繃璋冪敤 IGRGraphics 鎺ュ彛鐨勬柟娉曟潵瀹炵幇銆傜粯鍒跺疄鐜版湁涓ょ鏂瑰紡锛涘叾涓�鏄湪閮ㄤ欢妗嗙殑鈥滅粯鍒惰剼鏈�濅腑鍐欐姤琛ㄨ剼鏈疄鐜帮紱鍏朵簩鏄搷搴旀姤琛ㄧ殑鈥淐ontrolCustomDraw鈥濅簨浠跺啓绋嬪簭浠g爜瀹炵幇銆俓r\n\r\n璋冪敤閮ㄤ欢妗嗙殑鈥淒rawDefault鈥濇柟娉曞彲浠ュ皢鍏舵湰韬粯鍑恒�俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":8.81062,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":0.608542,
+					"Top":0.211667,
+					"Width":5.82083,
+					"Height":1.19063,
+					"WordWrap":true,
+					"Text":"涓嬮潰鍥炬閫氳繃鎶ヨ〃鑴氭湰浠g爜缁樺嚭锛屽湪棰勮瑙嗗浘鎴栨煡璇㈣鍥惧彲浠ョ湅鍒拌繍琛岀粨鏋滐細"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"sbScriptDraw",
+					"Left":0.608542,
+					"Top":1.5875,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height,\r\n\r\n    PartSize = height/3,\r\n    DrawLeft = x + (width - PartSize)/2,\r\n    DrawRight = DrawLeft + PartSize,\r\n    DrawXCenter = (DrawLeft + DrawRight)/2,\r\n\r\n    DrawTop = y,\r\n    DrawBottom = y + height;\r\n\r\n\r\n\r\nfunction GetColorValue(r,g,b)\r\n{\r\n   return Report.Utility.ColorFromRGB(r, g , b);\r\n}\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\n//鐢荤澶翠袱杈规枩绾縗r\nGraphics.MoveTo(DrawLeft, DrawTop+PartSize);\r\nGraphics.LineTo(DrawXCenter, DrawTop);\r\nGraphics.LineTo(DrawRight, DrawTop+PartSize);\r\n\r\n//鐢荤澶寸珫绾縗r\nGraphics.MoveTo(DrawXCenter, DrawTop);\r\nGraphics.LineTo(DrawXCenter, DrawTop+PartSize*2);\r\n\r\n//鐢诲嚭鍦嗗湀\r\nGraphics.Ellipse(DrawLeft, DrawTop+PartSize*2, PartSize, PartSize, true);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":14.8167,
+					"Top":0.238125,
+					"Width":5.79438,
+					"Height":1.19063,
+					"WordWrap":true,
+					"Text":"涓嬮潰鍥炬閫氳繃鎶ヨ〃鐨勮嚜缁樹簨浠跺湪绋嬪簭浠g爜涓疄鐜帮紝杩愯渚嬪瓙鈥淎dvance\\CustomDraw鈥濇煡鐪嬭繍琛岀粨鏋滐細"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"sbEventDraw",
+					"Left":14.8167,
+					"Top":1.61396,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":7.77875,
+					"Top":0.185208,
+					"Width":5.82083,
+					"Height":1.19063,
+					"WordWrap":true,
+					"Text":"璋冪敤閮ㄤ欢妗嗙殑\"DrawDefault\"鏂规硶杩涜榛樿缁樺埗锛岀劧鍚庡啀杈撳嚭涓�涓き鍦嗭細"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"sbScriptDefaultDraw",
+					"Left":7.77875,
+					"Top":1.56104,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height;\r\n\r\nfunction GetColorValue(r,g,b)\r\n{\r\n   return Report.Utility.ColorFromRGB(r, g , b);\r\n}\r\n\r\n//榛樿缁樺埗\r\nSender.DrawDefault();\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//鐢诲嚭鍦嗗湀\r\nGraphics.Ellipse(x, y, width , height, false);\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"榛樿缁樺埗鏂囧瓧"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3c.grf b/public/grf/7-3c.grf
new file mode 100644
index 0000000..f67463d
--- /dev/null
+++ b/public/grf/7-3c.grf
@@ -0,0 +1,163 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3c.鑴氭湰.閮ㄤ欢妗嗚嚜缁�(楗煎浘涓庡姬绾�)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず閮ㄤ欢妗嗙殑鑷畾涔夌粯鍒跺姛鑳絓r\n\r\n灏嗛儴浠舵鐨勨�滆嚜缁樷�濆睘鎬ц涓衡�滄槸鈥濓紝閮ㄤ欢妗嗗皢鎴愪负鑷粯閮ㄤ欢妗嗭紝鍏剁粯鍒惰緭鍑哄皢鐢ㄧ敤鎴疯嚜宸遍�氳繃璋冪敤 IGRGraphics 鎺ュ彛鐨勬柟娉曟潵瀹炵幇銆傜粯鍒跺疄鐜版湁涓ょ鏂瑰紡锛涘叾涓�鏄湪閮ㄤ欢妗嗙殑鈥滅粯鍒惰剼鏈�濅腑鍐欐姤琛ㄨ剼鏈疄鐜帮紱鍏朵簩鏄搷搴旀姤琛ㄧ殑鈥淐ontrolCustomDraw鈥濅簨浠跺啓绋嬪簭浠g爜瀹炵幇銆俓r\n\r\n璋冪敤閮ㄤ欢妗嗙殑鈥淒rawDefault鈥濇柟娉曞彲浠ュ皢鍏舵湰韬粯鍑恒�俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"GlobalScript":"function GetColorValue(r,g,b)\r\n{\r\n   return Report.Utility.ColorFromRGB(r, g , b);\r\n}",
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape"
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":13.8113,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":14.949,
+					"Top":0.9525,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"Arc"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"sbScriptDraw",
+					"Left":14.949,
+					"Top":1.50813,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height,\r\n    cx = x + width/2,\r\n    cy = y + height/2;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.Arc(cx, cy, height/2, 30, 270);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"sbEventDraw",
+					"Left":7.69938,
+					"Top":1.5875,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height,\r\n    cx = x + width/2,\r\n    cy = y + height/2;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.Pie(cx, cy, height/2, 30, 270, true);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":0.661458,
+					"Top":1.56104,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height,\r\n    cx = x + width/2,\r\n    cy = y + height/2;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.Pie(cx, cy, height/2, 30, 270, false);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox6",
+					"Left":15.0283,
+					"Top":6.13833,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.EllipseArc(x, y, width, height, 30, 270);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Text":"EllipseArc"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":0.608542,
+					"Top":6.21771,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.EllipsePie(x, y, width, height, 30, 270, false);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"Left":7.67292,
+					"Top":6.16479,
+					"Width":5.79438,
+					"Height":3.59833,
+					"CustomDraw":true,
+					"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height;\r\n\r\n//璁惧畾缁樺嚭绾垮瀷\r\nGraphics.SelectPen(2, GetColorValue(255, 0, 0), 0/*grpsSolid*/);\r\n\r\n//璁惧畾濉厖鑹瞈r\nGraphics.SelectFillColor( GetColorValue(0, 255, 255) );\r\n\r\nGraphics.EllipsePie(x, y, width, height, 30, 270, true);\r\n\r\n//鎭㈠濉厖鑹茶瀹氾紝SelectFillColor璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estoreFillColor\r\nGraphics.RestoreFillColor();\r\n\r\n//鎭㈠缁樺嚭绾垮瀷璁惧畾锛孲electPen璋冪敤涔嬪悗锛屽繀椤诲搴旇皟鐢≧estorePen\r\nGraphics.RestorePen();\r\n",
+					"Text":"StaticBox2"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox9",
+					"Left":0.687917,
+					"Top":1.00542,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"Pie(not fill)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox10",
+					"Left":7.67292,
+					"Top":1.00542,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"Pie(fill)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox11",
+					"Left":15.0283,
+					"Top":5.58271,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"EllipseArc"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox12",
+					"Left":0.555625,
+					"Top":5.63563,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"EllipsePie(not fill)"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox13",
+					"Left":7.67292,
+					"Top":5.60917,
+					"Width":5.82083,
+					"Height":0.582083,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"EllipsePie(fill)"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3d.grf b/public/grf/7-3d.grf
new file mode 100644
index 0000000..c9a89ee
--- /dev/null
+++ b/public/grf/7-3d.grf
@@ -0,0 +1,174 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3d.鑴氭湰.鍥惧儚鑷畾涔夌粯鍒�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍦ㄨ嚜缁橀儴浠舵涓粯鍒跺嚭澶氬箙鍥惧儚锛屽彲浠ユ牴鎹潯浠剁粯鍒朵笉鍚屽箙鏁扮殑鍥惧儚锛屽浘鍍忕殑杈撳嚭浣嶇疆涓庡ぇ灏忎篃鍙互鏍规嵁鏉′欢鍔ㄦ�佺‘瀹氥��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"ImageList":[
+		{
+			"Image":"AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA/////////////////////////////////////////////4mCNDQLNDSCif+JgjQ0CzQ0gon/iYI0NAs0NIKJ////WBBdiYleXRBd/1gQXYmJXl0QXf9YEF2JiV5dEF3///80AwEDAgEEKF3/NAMBAwIBBChd/zQDAQMCAQQoXf///1g0gv39/YJdWP9YNIL9/f2CXVj/WDSC/f39gl1Y////gv369vn3/ayC/4L9+vb59/2sgv+C/fr2+ff9rIL///+C9v39/f399oL/gvb9/f39/faC/4L2/f39/f32gv///638/WQ7ZP38rf+t/P1kO2T9/K3/rfz9ZDtk/fyt////rfqJOzs7ifqt/636iTs7O4n6rf+t+ok7OzuJ+q3///+t/f1kO2T9/a3/rf39ZDtk/f2t/639/WQ7ZP39rf///4L6+Cv1K/j6gv+C+vgr9Sv4+oL/gvr4K/Ur+PqC////+TT1Li71LvdY//k09S4u9S73WP/5NPUuLvUu91j////5K/X39/f191j/+Sv19/f39fdY//kr9ff39/X3WP////n4+vX19fX3WP/5+Pr19fX191j/+fj69fX19fdY////+fj6+PX4+PdY//n4+vj1+Pj3WP/5+Pr49fj491j////5K/j19fX191j/+Sv49fX19fdY//kr+PX19fX3WP///1gvXgQCCgovWP9YL14EAgoKL1j/WC9eBAIKCi9Y////WC8QBAIJCi86/1gvEAQCCQovOv9YLxAEAgkKLzr///+CUgEQCgkKNIL/glIBEAoJCjSC/4JSARAKCQo0gv////+CNC8BNDSC////gjQvATQ0gv///4I0LwE0NIL//////4ItNQoJLYL///+CLTUKCS2C////gi01Cgktgv///////wpeAgkK//////8KXgIJCv//////Cl4CCQr/////////LzUCCi///////y81Agov//////8vNQIKL/////////9SLgMuUv//////Ui4DLlL//////1IuAy5S/////////4JYAFiC//////+CWABYgv//////glgAWIL/////////+SoAKvn///////kqACr5///////5KgAq+f/////////5KvUq+v//////+Sr1Kvr///////kq9Sr6//////////v3Kvf7///////79yr3+///////+/cq9/v//////////fcq+P3///////33Kvj9///////99yr4/f/////////5ACoq+///////+QAqKvv///////kAKir7/////////4I1UjqC//////+CNVI6gv//////gjVSOoL//////////////////////////////////////////////8AQBAGAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAEAQBwBAEAeA4DgPgOA4D4DgOA+A4DgPgOA4D4DgOA+A4DgPgOA4D4DgOA+A4DgPwfB8H"
+		},
+		{
+			"Image":"AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA///////////////////////////////////////////////////////////6K/Yr9/f4+v/////////////////////////////6K/b29isr9/j4+fr/////////////////////////+vb29vb2Kyv3+Pj4+fv///////////////////////8r9vb29vYrK/f3+Pj4+f////////////////////////b29vb29isr9/f4+Pj5///////////////////////59vb29vb2Kyv39/j4+Pn7//////////////////////j29vb29lB1e3v4+Pj4Vvr/////////////////////9/b29vZ95ujm5n34+PhW+f/////////////////////39vb25qf3+fn3p+j4+Pj5/////////////////////yv29n2n+fv4+Pv2p6f4+Pn/////////////////////K/ZQ5uf7/fb5+vv36Hv4Vv/////////////////////29lDo9vn7+fr7+fnoe/hW////////////////////+fb2UOb2+/32+/359+Z7+Fb7///////////////////49vb2faf2+/v4+fanffj4Vvr///////////////////f29vb36Kf2+fn3p+j4+PhW+v//////////////////9/b29vb3febm6OZ9+Pj4+Fb6///////////////////39vb29vYrUFBQUPf4+PhW+fr///////////////////f29vb29vb29iv3+PhWVlb5+v//////////////////K/b29isrK/f3+PhWVlb5+vr6//////////////////8rKysr9/f39/f39/f4Vlb5+vr/////////////////+Ssr9ysr9fX19fX19fYrK/hW+fv////////////////49yv1Kw4WCQ4ODw8JDg8r9Sv4+f////////////////f1Dw4VAToBAQE6AQEBCQ86D/VW////////////////9RYJAQEBDzoBAQEVAQwPAQk6DvX///////////////8IDwkBAQ8BDwwPDw8PAToPDgE6CP///////////////ysPAQ8VFQEPAQEPAQ8ODwwODwkr/////////////////xUBAQELAQELARABDgEKAQEBDv///////////////////w8JAQsMDgkOCQEBFgwLAQ7/////////////////////////DggMCAEKAQoID//////////////////////////////////////////////////////////////////////////////////////////////////////wD///wAP//4AB//8AAP//AAD//wAA//4AAH/+AAB//gAAf/4AAH/+AAB//gAAf/4AAH/8AAA//AAAP/wAAD/8AAA//AAAP/wAAD/8AAA//AAAP/gAAB/4AAAf+AAAH/gAAB/4AAAf+AAAH/wAAD/+AAB//wAA///gB///////"
+		},
+		{
+			"Image":"AAABAAQAEBAQAAAAAAAoAQAARgAAABAQAAAAAAAAaAUAAG4BAAAgIBAAAAAAAOgCAADWBgAAICAAAAAAAACoCAAAvgkAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAD///8ABfP8AAJk/wAGCN0AhAjyAKUARgDUAAAA6qsCABS3HwARZAAABSxWADpxkADAwMAAgICAAEBAQAAAAAAA/////////////u7u7u7////+juvuvv///+ssLdLdn///i8mqw8q///+//POrpZ///r+6+qqqGf/+3wuq+6uq//78AMsAAMr//6/ACyAAL//////6L/u////y/yorIv/////xIi8v///////////////////////////////////gB+AHwAfAB8ADwAOAA4ADgAGAAQABAAEAAQABAAEAAQABAAEAAQABwAPAA8ADwAPAB8AH4A/gD/z//P//////KAAAABAAAAAgAAAAAQAIAAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAP///wDM//8Amf//AGb//wAz//8AAP//AP/M/wDMzP8Amcz/AGbM/wAzzP8AAMz/AP+Z/wDMmf8AmZn/AGaZ/wAzmf8AAJn/AP9m/wDMZv8AmWb/AGZm/wAzZv8AAGb/AP8z/wDMM/8AmTP/AGYz/wAzM/8AADP/AP8A/wDMAP8AmQD/AGYA/wAzAP8AAAD/AP//zADM/8wAmf/MAGb/zAAz/8wAAP/MAP/MzADMzMwAmczMAGbMzAAzzMwAAMzMAP+ZzADMmcwAmZnMAGaZzAAzmcwAAJnMAP9mzADMZswAmWbMAGZmzAAzZswAAGbMAP8zzADMM8wAmTPMAGYzzAAzM8wAADPMAP8AzADMAMwAmQDMAGYAzAAzAMwAAADMAP//mQDM/5kAmf+ZAGb/mQAz/5kAAP+ZAP/MmQDMzJkAmcyZAGbMmQAzzJkAAMyZAP+ZmQDMmZkAmZmZAGaZmQAzmZkAAJmZAP9mmQDMZpkAmWaZAGZmmQAzZpkAAGaZAP8zmQDMM5kAmTOZAGYzmQAzM5kAADOZAP8AmQDMAJkAmQCZAGYAmQAzAJkAAACZAP//ZgDM/2YAmf9mAGb/ZgAz/2YAAP9mAP/MZgDMzGYAmcxmAGbMZgAzzGYAAMxmAP+ZZgDMmWYAmZlmAGaZZgAzmWYAAJlmAP9mZgDMZmYAmWZmAGZmZgAzZmYAAGZmAP8zZgDMM2YAmTNmAGYzZgAzM2YAADNmAP8AZgDMAGYAmQBmAGYAZgAzAGYAAABmAP//MwDM/zMAmf8zAGb/MwAz/zMAAP8zAP/MMwDMzDMAmcwzAGbMMwAzzDMAAMwzAP+ZMwDMmTMAmZkzAGaZMwAzmTMAAJkzAP9mMwDMZjMAmWYzAGZmMwAzZjMAAGYzAP8zMwDMMzMAmTMzAGYzMwAzMzMAADMzAP8AMwDMADMAmQAzAGYAMwAzADMAAAAzAP//AADM/wAAmf8AAGb/AAAz/wAAAP8AAP/MAADMzAAAmcwAAGbMAAAzzAAAAMwAAP+ZAADMmQAAmZkAAGaZAAAzmQAAAJkAAP9mAADMZgAAmWYAAGZmAAAzZgAAAGYAAP8zAADMMwAAmTMAAGYzAAAzMwAAADMAAP8AAADMAAAAmQAAAGYAAAAzAAAAAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAAAA7u7uAN3d3QC7u7sAqqqqAIiIiAB3d3cAVVVVAERERAAiIiIAERERAAAAAAD/////////////////////////iKaliKaIiKam/////////4h9iIiCpqaCiOn//////6Y0NTI1MzMQMzPo//////99XiyniYksazKOXv//////XvT0LN9riV2Ojafp////iF70XYnfiYmJiYkJ6P///4gzsvWCiYn0gv2Cid3///+Isvf19feC9fX19feJ/////4nf9/X1XTv19fU7////////s/T0s447s9+CXf///////xCzsxCOOzkPEP///////////wo7Ow//O///////////////////////////////////////////////////////////////////////4AfgB8AHwAfAA8ADgAOAA4ABgAEAAQABAAEAAQABAAEAAQABAAEAAcADwAPAA8ADwAfAB+AP4A/8//z//////ygAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAD///8ABfP8AAJk/wAGCN0AhAjyAKUARgDUAAAA6qsCABS3HwARZAAABSxWADpxkADAwMAAgICAAEBAQAAAAAAA//////////////////////////6I6o7o7u7o6v////////+ui+7e6+uO6+Kv////////Eu4usrgrgr7in////////r6I646L7u6L4r////////4S0h0dAcHBAdCf///////rsAERAREQEh0huf//////7iAhDCDQHQDA0Lv//////4KwAAAAAAAAAAC77/////qLsAwJoKrAM8ygu5r////+uwAMwBEDEAzAwJu7////7isP8BEfEsq7qgUbj////+KwD8uyryqquyqhAbn///+LDcGyq/qqurqqqhC7////69CqIiuiIiCyqrKxuv///4EBrwC7CqoPsKoAyhv////trPwvAMCwACAAIMob////7A+gAA/wAAAA8AwMof///6zKoMCgoAsCACAAIKz/////7g8gIC8hASD7sAC///////Lw/f+iEiHyL7Cxv//////wKyyt+qEgAiICIv//////8C/78gKiIrsCIMH///////8RDyISIAKyLyL/////////LyIRAhISwC8v//////////Hx8CwhLy8hH/////////////8qAgEv////////////////8h/////////////////////////////////////////////////////////////////////////////////////////////////8AAB//AAAf/gAAD/4AAA/8AAAH/AAAB/gAAAP4AAAD+AAAA/AAAAHwAAAB4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADwAAAB/AAAA/wAAAf8QAAH/BABL/5AAR//CBA//6gAf//0B////n//////////////////ygAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA////////////////////////////////////////////////////iH19iGV9iKV9iKWmiKV9iGX//////////////////2WIfYKIpTOIpoKIgn2IpoKIO93/////////////////CTumpTulgjuCfTuCfTuCpaY76P///////////////4g0iH19iIJ9iH2CiKamiH2CiDtd6f//////////////pQkQMxALMwszAgsyCzILAgszAujp/////////////6ZdNAICBAQLAgsJBAsCBBALMxAJOejp////////////iKUQAjUJAjI1AjMCCzMCAjICMwI6gun///////////99EF4AAAAAAAAAAAAAAAIAAgACAV46pv//////////3X1dXgEBLAGniQGJiSwBa2syMI4BXjTo3f////////+lNF4BAQEsLAELCwFrAwEBMjIBMAGnXjqC////////iKUQXgH09AILCwvfCxAwiV1diY4BjQNefenp//////+IEF4BAfQsXV07id87iYmJgoI7iYkJAQle6On//////31eATMsA107iYLfiYmJXYmCiYmJiYkDAV6C6f//////iF4zAYOJOzs7gok7NTs1AII7iYmCO10DXt3p//////99AwEDibIA9YKCAImJiQD0ggD9/QIACIkJXun//////4gzgzKy9zuz9QD3AIIAAPUQ9QD1OwD3iQNe6f//////iCwBson19fUA9LMAAAD19fUA9PX1CAD3iQnp///////dMjKJiQD3AGUAZfUAXQA79QA79QAAOwCJMun/////////iIgA3zv1EPU79DsKAAo7AN+CgvUAAF3/////////////O7MA9DOz9Ik7Cjs1CrM7Nd+CAF0DXf////////////8COzkQCIkzs4mOCjsCAjs7EAE7EDv//////////////wIQ/7M5szsCEI47OxA5OQIPEAEIC////////////////wsKAv8QEAsQEAIBEDkPD/8QEP//////////////////EP8QOwoKATsKOwoPCAI7/xD/////////////////////Cv8L/wI7CDsLD/8Q/xALC////////////////////////////zuOAg8CChD//////////////////////////////////xAL//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAH/8AAB/+AAAP/gAAD/wAAAf8AAAH+AAAA/gAAAP4AAAD8AAAAfAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAPAAAAH8AAAD/AAAB/xAAAf8EAEv/kABH/8IED//qAB///QH///+f//////////////////"
+		},
+		{
+			"Image":"AAABAAEAICAAAAEACACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAD///8Ay/7/AJn+/wBl/v8AM/7/AAD9/QD+y/8Ay8v/AJnL/wBly/8AM8z/AADL/QD+mf8Ay5n/AJmZ/wBlmP8AM5j/AACY/QD+Zf8Ay2X/AJhl/wBlZf8AM2X/AABl/QD+M/8AyzP/AJgz/wBlM/8AMzP/AAAy/QD9AP0AywD9AJgA/QBlAP0AMgD9AAAA/QD//8sAy//LAJn/zABl/8sAM//MAAD9ywD/y8sAzMzMAJjLywBmy8wAMsvLAADLzAD/mcsAy5jLAJiYywBmmMwAMpjLAACZzAD/ZcsAy2bMAJhmzABmZswAMmXLAABlzAD/M8sAyzLLAJgyywBlMssAMjLLAAAyzAD9AMsAywDMAJgAzABlAMwAMgDMAAAAzAD//5kAy/+ZAJn/mQBl/5gAM/+ZAAD9mAD/zJkAy8uYAJjLmABmzJkAMsuYAADMmQD/mZkAy5iYAJmZmQBlmJgAM5iZAACXmAD/ZZgAzGaYAJhlmABlZZgAM2WZAABlmAD/M5gAyzKYAJgzmQBlM5kAMzOZAAAymAD9AJgAzACYAJcAmABlAJgAMgCYAAAAmAD//2UAy/9lAJj/ZQBl/2UAM/9mAAD9ZQD/y2UAzMxmAJjMZgBmzGYAMstlAADMZgD/mGUAzJlmAJiYZQBlmGUAM5lmAACYZQD/ZWUAzGZmAJhlZQBmZmYAMmVlAABlZgD/M2UAyzJlAJkzZQBlMmUAMjJlAAAyZgD9AGUAzABlAJgAZQBlAGYAMgBmAAAAZgD//zMAzP8zAJj/MwBm/zMAM/8zAAD9MgD/zDMAy8syAJjLMgBlyzIAMssyAADMMwD/mTMAy5gyAJmZMwBlmTMAM5kzAACYMgD/ZjMAy2UyAJlmMwBlZTIAMmUyAABmMwD/MzMAyzIyAJkzMwBlMjIAMzMzAAAxMgD9ADIAzAAyAJgAMgBmADIAMQAyAAAAMgD9/QAAy/0AAJj9AABl/QAAMv0AAAD9AAD9ywAAzMwAAJnMAABlzAAAM8wAAADMAAD9mAAAzJkAAJiYAABlmAAAMpgAAACYAAD9ZQAAzGYAAJhlAABmZgAAMmYAAABmAAD9MgAAzDMAAJgyAABmMwAAMjIAAAAyAAD9AAAAzAAAAJgAAABmAAAAMgAAAAAA7gAAANwAAAC6AAAAqgAAAIgAAAB2AAAAVAAAAEQAAAAiAAAAEAAA7gAAANwAAAC6AAAAqgAAAIgAAAB2AAAAVAAAAEQAAAAiAAAAEAAA7gAAANwAAAC6AAAAqgAAAIgAAAB2AAAAVAAAAEQAAAAiAAAAEAAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA/////////////////////////////////////////////////////////y0tLS0tLS2Dgy3//////////////////////////y0tg4ODg4ODg4ODgy0t////////////////////////g4MsLCwsLCwsLCwsg4P//////////////////////ywsLCwsLCwsLCyDLCwsLCz///////////////////8sLCwsLCwsLCwsLCwsLCwsgyyD//////////////8sLCwsLCwsLCwsLCwsLCyDLIMsgyz//////////////ywsLCykpKQspKSkLCwsLCwsLIMsgyz///////////8sLCwspCwsLKQsLCykLIMsgyyD0IMsgyz//////////ywsLCykLKQspCwsLCykLCwspCyD0IPQg/////////8sLCwsLCykLCykLCwspCykLIOkLNCD0IPQg////////yykpCwsLCwspCwsLKQsLKQsLNAsg9CDLIMs////////pCwspCykpKQsLCwsLKSkgywsLIPQgyyD0IP//////yykLKQspCwsLCwsLCwsLCwsLCwsLCwsgyyD0IP/////LCykLCwsLKz//zUXZQk1CTUJNQk1LCwsLCyDLP////8sLCysrP8CAgkC/xEXZQkCFxERg4ODg4M1LCyD/////ywJAgICEREXZaz/CxEXZWURERd8fIODEWU1NSz/////CQIJAgkRCxERF2VlERERZREXZS18fINl/wICNf////8tCQmsERdlCwsREREXZREXFwsRC3yDF2UCrAks//////8tLQkRERdlEQsRERERZWUREREXLYNlZQksLP//////////LS0LERdlZWUXZWUXF2UXZWVlZWUsLP////////////////8LEREXERERCxERF2URERcX//////////////////////8LEQsLEREREQsRZREX/////////////////////////////xELEf8XFxcRF//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gB///gAH//wAA//8AAP/+AAA/+AAAH/AAAB/wAAAP4AAAB+AAAAfAAAADwAAAA8AAAAOAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHAAAAD4AAAB/gAAB//AAD//4AD///xB///////////////////////////////////////"
+		},
+		{
+			"Image":"AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4mJX181Nfn///////////////////////////////+JX19fX181WTX3+f///////////////////////////1+JXzVfX186NTUz9y/5////////////////////////X4mtXzVfX19fOjVZNS/39vj///////////////////81X4mIiF81X19fXzo1NDUvLvf2+P///////////////4lf3d3diF5eiV9fX181NTU1NSwu9/b4/////////////92JiYmJiDQRNV+CX19fOjU1NTUvMy4u9/j///////+JiWVlZWWICwsLERE1X4JfOl81NTM1NDU1Lvj5/////xdlQUFliV40NDQ0CxERNV+CX186NTMvNDQ1NTX4////ZRcXFmUs9gEBAfYLCwsLERE1X4JfOjszLi4vNTX5////////CgEKNAEBNDQ0NDQ0CwsRETVfg186My4vLjX/////////////9gEBAQEBAfYLCwsLETQRNV9fOzMzWf////////////////8KNDQBAQE0NDQ0NDQLNBFeXl5Z//////////////////////YBAQEBAQEB9jQ0iTQ0Xl7/////////////////////////CjQ0CgEB9mWJiWVe//////////////////////////////YB9vn/F0GJZWWJ////////////////////////////////////QRdlZRf//////////////////////////////////////0EXZf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8B///+AD///AAH//wAAP/8AAAf/AAAA/wAAAB+AAAAHAAAAAwAAAAEAAAAAgAAAAPgAAAD/gAAA//AAAP/+AAH//8AA///wgP///8D////x////////////////////////////////"
+		},
+		{
+			"Image":"AAABAAQAEBAQAAAAAAAoAQAARgAAABAQAAAAAAAAaAUAAG4BAAAgIBAAAAAAAOgCAADWBgAAICAAAAAAAACoCAAAvgkAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAD///8ABfP8AAJk/wAGCN0AhAjyAKUARgDUAAAA6qsCABS3HwARZAAABSxWADpxkADAwMAAgICAAEBAQAAAAAAA//////////////IiIi/////yIRHMwS///yzCLCIcwf//wiAiICAs//EgICAiIizP8AIiICIgIq/yICICIiIir/AgIiIgIiAv8gICICIiIi/yIiAiIiAgz/8CAiICIiL//yAgICIiIv//8CAAICIv////8iIiL//////////////4H/gf4AfgB8ADwAOAAYABgAGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABgAGAAYABwAPAA+AH4Af4H/gfKAAAABAAAAAgAAAAAQAIAAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAP///wDM//8Amf//AGb//wAz//8AAP//AP/M/wDMzP8Amcz/AGbM/wAzzP8AAMz/AP+Z/wDMmf8AmZn/AGaZ/wAzmf8AAJn/AP9m/wDMZv8AmWb/AGZm/wAzZv8AAGb/AP8z/wDMM/8AmTP/AGYz/wAzM/8AADP/AP8A/wDMAP8AmQD/AGYA/wAzAP8AAAD/AP//zADM/8wAmf/MAGb/zAAz/8wAAP/MAP/MzADMzMwAmczMAGbMzAAzzMwAAMzMAP+ZzADMmcwAmZnMAGaZzAAzmcwAAJnMAP9mzADMZswAmWbMAGZmzAAzZswAAGbMAP8zzADMM8wAmTPMAGYzzAAzM8wAADPMAP8AzADMAMwAmQDMAGYAzAAzAMwAAADMAP//mQDM/5kAmf+ZAGb/mQAz/5kAAP+ZAP/MmQDMzJkAmcyZAGbMmQAzzJkAAMyZAP+ZmQDMmZkAmZmZAGaZmQAzmZkAAJmZAP9mmQDMZpkAmWaZAGZmmQAzZpkAAGaZAP8zmQDMM5kAmTOZAGYzmQAzM5kAADOZAP8AmQDMAJkAmQCZAGYAmQAzAJkAAACZAP//ZgDM/2YAmf9mAGb/ZgAz/2YAAP9mAP/MZgDMzGYAmcxmAGbMZgAzzGYAAMxmAP+ZZgDMmWYAmZlmAGaZZgAzmWYAAJlmAP9mZgDMZmYAmWZmAGZmZgAzZmYAAGZmAP8zZgDMM2YAmTNmAGYzZgAzM2YAADNmAP8AZgDMAGYAmQBmAGYAZgAzAGYAAABmAP//MwDM/zMAmf8zAGb/MwAz/zMAAP8zAP/MMwDMzDMAmcwzAGbMMwAzzDMAAMwzAP+ZMwDMmTMAmZkzAGaZMwAzmTMAAJkzAP9mMwDMZjMAmWYzAGZmMwAzZjMAAGYzAP8zMwDMMzMAmTMzAGYzMwAzMzMAADMzAP8AMwDMADMAmQAzAGYAMwAzADMAAAAzAP//AADM/wAAmf8AAGb/AAAz/wAAAP8AAP/MAADMzAAAmcwAAGbMAAAzzAAAAMwAAP+ZAADMmQAAmZkAAGaZAAAzmQAAAJkAAP9mAADMZgAAmWYAAGZmAAAzZgAAAGYAAP8zAADMMwAAmTMAAGYzAAAzMwAAADMAAP8AAADMAAAAmQAAAGYAAAAzAAAAAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAADuAAAA3QAAALsAAACqAAAAiAAAAHcAAABVAAAARAAAACIAAAARAAAA7u7uAN3d3QC7u7sAqqqqAIiIiAB3d3cAVVVVAERERAAiIiIAERERAAAAAAD///////////////////////////8ROzs7OxH//////////xERCgoKCAgIChH//////xEICBER9hERCggICv////8IERH1Ozs79Tv1Owj///8JO/U79Tv1OxE7ETv2CP//9fU7Ozs79Ts7O/U7EWX//zs79RE79TsROzs7Oztl///1O/U7OxE7O/U7ETv1O///EfU79Ts79Ts7Ozs7Ozv//xEROzv1ETs7ETv1O/X2////9RH1ETs79Ts7Ozs7/////xH1EfU79REROxE7Ef//////ABEAAAAR9RAREf//////////ERERERER////////////////////////////+B/4H+AH4AfAA8ADgAGAAYABgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAYABgAGAAcADwAPgB+AH+B/4HygAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAD///8ABfP8AAJk/wAGCN0AhAjyAKUARgDUAAAA6qsCABS3HwARZAAABSxWADpxkADAwMAAgICAAEBAQAAAAAAA//////////////////////////////////////////////////8iIiIi//////////////IiLMEcIiIv//////////IsDAwAwADAEi////////8sAMwSIiIszAwSL/////8iwCIiIiwiIiIszSL/////HMIiwiIiIiIiIizSr////MwiIiAsIiwgIgIiKy///yzCIsIiIiIiIiwiIiKy///MwgIiAsIiwiIiwiIisv//ASIiEiIiAiIiIiAiwiv/8hwQEiISIiIiLCICIiIiL/DAISIiIhIgIsIiIsLCoi/wIiLALCwiIiIiLCIiIiov/CEhIiIiICLCzCIiwiwqL/wgEhAiIgIiIiIiIiIiIq/8wiwsIsIiIsICIiwiAiKv/AICIgIiLCAiIiLCIiLCr/8RISwiIiIiIiwiIsIiIv//EiAiIhASIsIiIgIiwir//8wSISIiIiwiIiLCIgLK///xAgIQwiwiICLCIiIiL////xIiLCEhLCEiIiLCwq/////CAiIiwhAsAizCIiL//////BEBICEhICIiIiIv///////8EhISIgIsEgIv//////////zAICIiAiEv/////////////8wBARL///////////////////////////////////////////////////////////////////////////////AP//+AAf/+AAB//AAAH/AAAA/gAAAH4AAAA8AAAAOAAAABgAAAAYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAGAAAABwAAAA+AAAAPgAAAH8AAAD/gAAB/+AAB//4AB///wD////////////ygAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAD///8AzP//AJn//wBm//8AM///AAD//wD/zP8AzMz/AJnM/wBmzP8AM8z/AADM/wD/mf8AzJn/AJmZ/wBmmf8AM5n/AACZ/wD/Zv8AzGb/AJlm/wBmZv8AM2b/AABm/wD/M/8AzDP/AJkz/wBmM/8AMzP/AAAz/wD/AP8AzAD/AJkA/wBmAP8AMwD/AAAA/wD//8wAzP/MAJn/zABm/8wAM//MAAD/zAD/zMwAzMzMAJnMzABmzMwAM8zMAADMzAD/mcwAzJnMAJmZzABmmcwAM5nMAACZzAD/ZswAzGbMAJlmzABmZswAM2bMAABmzAD/M8wAzDPMAJkzzABmM8wAMzPMAAAzzAD/AMwAzADMAJkAzABmAMwAMwDMAAAAzAD//5kAzP+ZAJn/mQBm/5kAM/+ZAAD/mQD/zJkAzMyZAJnMmQBmzJkAM8yZAADMmQD/mZkAzJmZAJmZmQBmmZkAM5mZAACZmQD/ZpkAzGaZAJlmmQBmZpkAM2aZAABmmQD/M5kAzDOZAJkzmQBmM5kAMzOZAAAzmQD/AJkAzACZAJkAmQBmAJkAMwCZAAAAmQD//2YAzP9mAJn/ZgBm/2YAM/9mAAD/ZgD/zGYAzMxmAJnMZgBmzGYAM8xmAADMZgD/mWYAzJlmAJmZZgBmmWYAM5lmAACZZgD/ZmYAzGZmAJlmZgBmZmYAM2ZmAABmZgD/M2YAzDNmAJkzZgBmM2YAMzNmAAAzZgD/AGYAzABmAJkAZgBmAGYAMwBmAAAAZgD//zMAzP8zAJn/MwBm/zMAM/8zAAD/MwD/zDMAzMwzAJnMMwBmzDMAM8wzAADMMwD/mTMAzJkzAJmZMwBmmTMAM5kzAACZMwD/ZjMAzGYzAJlmMwBmZjMAM2YzAABmMwD/MzMAzDMzAJkzMwBmMzMAMzMzAAAzMwD/ADMAzAAzAJkAMwBmADMAMwAzAAAAMwD//wAAzP8AAJn/AABm/wAAM/8AAAD/AAD/zAAAzMwAAJnMAABmzAAAM8wAAADMAAD/mQAAzJkAAJmZAABmmQAAM5kAAACZAAD/ZgAAzGYAAJlmAABmZgAAM2YAAABmAAD/MwAAzDMAAJkzAABmMwAAMzMAAAAzAAD/AAAAzAAAAJkAAABmAAAAMwAAAAAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAA7gAAAN0AAAC7AAAAqgAAAIgAAAB3AAAAVQAAAEQAAAAiAAAAEQAAAO7u7gDd3d0Au7u7AKqqqgCIiIgAd3d3AFVVVQBEREQAIiIiABEREQAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////zs7Ozs7Ozs7////////////////////////////OxEREQgICQkIEREROzv/////////////////////OxEIAQgBCAEBCAEBAQgBCRE7/////////////////xEIAQEICAkREREREREICAgBCAk7O////////////zsRCAE7ETsROzsR9hE7OxE7EREICDMRO///////////CQgIOxE7CDs7ETs7Ozs7Ozs7OzsRCDMRif///////wgICDsROzs79TsIEBE7CDv1Ozv1OzsRETQ7//////8RCAg7ETsIOxE7ETsROzs7ETsRCDs7Ozs7ETQ7/////wgICBH1EDsR9REIEDsRCBE7Ozs7CDsROzs7NBD/////AQkROxE7CTsROw879TsROxE7EDsR9TsR9js7NP///xEJCAn1CRA7EQkROxE7EQ8ROwg7EfU7OzsROzs7O///AQj1EAkQOxE7ETsJOxH1ETsIOxE7ETsIOwg7ZTs7//8BERA7EAj1EAg7CDsREBEPETsROwg7Dzs7Ozs7ZTv//wg7CREJETsROxA7EfUROwg7CAgRDxE7CDsRCDtlO///CBH1CTsJ9RAROxD1EDsRDxE7ETsROw87ETs7Oztl//8ICBERCBEIEDsIOxE7ETsIO/U7ETsRCBE79Ts7O2X//wj1O/UROxH1ERAREAgQ9TsROw87EQgROxE7Owg7Zf///wkJEQkRCBE7ETsROxA7ETsRCBE7ETsIOxE7Ozv/////CRE79TsROxEJ9QkROxEIETsQOxH1DzsRCDs7Zf////8ICAkREQkROxE7ERARCBE7ETsROwg7ETv1O/Zl//////8J9Tv1EQn1CBE7CDsRO/UQEQgQOxE7ETs7O/////////8JERE7EQgRCREJEQgRCRE7ETsREAg7CDtl/////////wgQ9RE7ETsRCDsJ9TsI9RE7CAgROxE7O////////////wgJCfUJEfURCREJEfUROxA7EDsROzv///////////////8ICREJEQkROxEAETsICRD1ETv/////////////////////CAj1O/UROxAR9TsQCRD///////////////////////////8ICPUJ9QkJEP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A///4AB//4AAH/8AAAf8AAAD+AAAAfgAAADwAAAA4AAAAGAAAABgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAAYAAAAHAAAAD4AAAA+AAAAfwAAAP+AAAH/4AAH//gAH///AP////////////"
+		}
+	],
+	"DetailGrid":{
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select CategoryID,CategoryName,Description,Picture,PictureFile\r\nFrom Categories\r\nOrder by CategoryID",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Description"
+				},
+				{
+					"Name":"Picture",
+					"Type":"Binary"
+				},
+				{
+					"Name":"PictureFile"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CategoryID",
+				"Width":1.5875
+			},
+			{
+				"Name":"CategoryName",
+				"Width":2.59292
+			},
+			{
+				"Name":"Description",
+				"Width":2.98979
+			},
+			{
+				"Name":"Picture",
+				"Width":8.41375
+			}
+		],
+		"ColumnContent":{
+			"Height":2.40771,
+			"ColumnContentCell":[
+				{
+					"Column":"CategoryID",
+					"TextAlign":"MiddleRight",
+					"DataField":"CategoryID"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Description",
+					"WordWrap":true,
+					"DataField":"PictureFile"
+				},
+				{
+					"Column":"Picture",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"ForeColor":"0000FF",
+							"Dock":"Fill",
+							"CustomDraw":true,
+							"CustomDrawScript":"var Graphics = Report.Graphics,\r\n    x = Graphics.Left,\r\n    y = Graphics.Top,\r\n    width = Graphics.Width,\r\n    height = Graphics.Height,\r\n\r\n    pic = Report.Utility.CreatePicture(), //鍒涘缓鍥惧儚瀵硅薄\r\n    Binary = Report.Utility.CreateBinaryObject(),\r\n    \r\n    RecordNo = Report.SystemVarValue(4),  //GRSystemVarType.grsvRecordNo 褰撳墠璁板綍鍙�,鐢ㄥ綋鍓嶈褰曞彿妯℃嫙鍑轰竴浜涙潯浠跺弬鏁癨r\n    ImageCount = (RecordNo-1)%3 + 1; //鍥惧儚骞呮暟\r\n\r\nwidth = (width - ImageCount*8 + 8) / ImageCount;\r\n\r\nBinary.LoadFromField( Report.FieldByName(\"Picture\") ); //浠庡瓧娈典腑杞藉叆鍥惧儚\r\npic.LoadFromBinary(Binary); //杞藉叆鍥惧儚\r\nReport.Graphics.DrawPicture(pic, x, y, width, height, 3, 2, 1);\r\n\r\nif (ImageCount >= 2)\r\n{ \r\n  //浠庢枃浠朵腑杞藉叆鍥惧儚锛孭ictureFile瀛楁涓瓨鍌ㄥ浘鍍忔枃浠剁殑鍚嶇О \r\n  pic.LoadFromFile(\"C:\\\\Grid++Report 6\\\\Samples\\\\Data\\\\Picture\\\\\" + Report.FieldByName(\"PictureFile\").AsString + \".bmp\"); \r\n  x += width + 8;\r\n  Report.Graphics.DrawPicture(pic, x, y, width, height, 3, 2, 1);\r\n}\r\n\r\nif (ImageCount == 3)\r\n{ \r\n  //缁樺埗鎶ヨ〃鍥惧儚闆嗗悎涓殑鍥惧儚锛屾牴鎹綋鍓嶈褰曞彿纭畾鍥惧儚搴忓彿\r\n  var ImageIndex = Report.SystemVarValue(4)%5 + 1;  //GRSystemVarType.grsvRecordNo\r\n  pic = Report.ImageList.Item(ImageIndex);\r\n  x += width + 8;\r\n  Report.Graphics.DrawPicture(pic, x, y, width, height, 3, 2, 1);\r\n}",
+							"TextAlign":"MiddleCenter",
+							"Text":"鐢ㄨ嚜缁樿剼鏈樉绀哄浘鍍�"
+						}
+					]
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CategoryID",
+					"TextAlign":"MiddleCenter",
+					"Text":"绫诲埆缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"绫诲埆鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Description",
+					"TextAlign":"MiddleCenter",
+					"Text":"鎻忚堪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Picture",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥惧儚鏉ヨ嚜瀛楁"
+				}
+			]
+		}
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":3.41313,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":5.21229,
+					"Top":0.396875,
+					"Width":4.78896,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥惧儚鑷畾涔夌粯鍒�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"Top":1.19063,
+					"Width":16.0073,
+					"Height":1.61396,
+					"WordWrap":true,
+					"Text":"鍦ㄨ嚜缁橀儴浠舵涓粯鍒跺嚭澶氬箙鍥惧儚锛屽彲浠ユ牴鎹潯浠剁粯鍒朵笉鍚屽箙鏁扮殑鍥惧儚锛屽浘鍍忕殑杈撳嚭浣嶇疆涓庡ぇ灏忎篃鍙互鏍规嵁鏉′欢鍔ㄦ�佺‘瀹氥��"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3e.grf b/public/grf/7-3e.grf
new file mode 100644
index 0000000..8f9cd25
--- /dev/null
+++ b/public/grf/7-3e.grf
@@ -0,0 +1,415 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3e.鑴氭湰.鑷畾涔夋潯浠跺垎缁�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"涓嶆槸鏍规嵁鏌愪竴涓垨澶氫釜瀛楁鐨勫�肩殑鍙樺寲浜х敓鍒嗙粍锛岃�屾槸鏍规嵁鑷畾鐨勮鍒欎骇鐢熷垎缁勶紝杩欓噷鏄牴鎹�肩殑鑼冨洿浜х敓涓嶅悓鐨勫垎缁勩��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"ImageList":[
+		{
+			"Image":"AAABAAEAEBAAMjY3MDFoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAMAAEdGbGVtaW5nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAAp/8Ap/8Ap/8Ap/8AjvAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAAxP8AxP8Av/8Av/8Av/8Av/8Av/8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgAAxP8AxP8A4P8A5v8A5v8A5v8A5v8A4P8Av/8AxP8AjvAABgAAAAAAAAAAAAAABgAAxP8A5v8A5v8ABgAABgAABgAABgAABgAA4P8Av/8AxP8ABgAAAAAAAAAABgAAxP8A5v8A5v8ABgAA5v8A5v8A5v8A5v8A5v8ABgAA4P8Av/8AjvAABgAAAAAABgAL/P8A5v8ABgAA5v8A5v8A5v8A5v8A5v8A5v8A5v8ABgAAv/8Ap/8ABgAAAAAABgBf/v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8Av/8Ap/8ABgAAAAAABgBf/v8L/P8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8Ap/8ABgAAAAAABgCT//8L/P8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8AjvAABgAAAAAAAAAABgBf/v8L/P8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8AxP8ABgAAAAAAAAAAAAAABgCT//9f/v8L/P8A5v8A5v8A5v8A5v8A5v8A5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgDP//+T//8L/P8L/P8A5v8A5v8A5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgDP//+T//9f/v9f/v8AxP8ABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAD//////B////AH///gA///wAH//8AB//+AAP//gAD//4AA//+AAP//gAD//8AB///AAf//4AP///AH///8H///"
+		},
+		{
+			"Image":"AAABAAEAEBAAMjY3MDFoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAMAAEdGbGVtaW5nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAAp/8Ap/8Ap/8Ap/8AjvAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAAxP8AxP8Av/8Av/8Av/8Av/8Av/8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgAAxP8AxP8A4P8A5v8A5v8A5v8A5v8A4P8Av/8AxP8AjvAABgAAAAAAAAAAAAAABgAAxP8A5v8A5v8A4P8ALwAABgAALwAA4P8A4P8Av/8AxP8ABgAAAAAAAAAABgAAxP8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A4P8Av/8AjvAABgAAAAAABgAL/P8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8Av/8Ap/8ABgAAAAAABgBf/v8A5v8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8Ap/8ABgAAAAAABgBf/v8L/P8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8Ap/8ABgAAAAAABgCT//8L/P8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8AjvAABgAAAAAAAAAABgBf/v8L/P8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8AxP8ABgAAAAAAAAAAAAAABgCT//9f/v8L/P8A5v8A5v8A5v8A5v8A5v8A5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgDP//+T//8L/P8L/P8A5v8A5v8A5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgDP//+T//9f/v9f/v8AxP8ABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAD//////B////AH///gA///wAH//8AB//+AAP//gAD//4AA//+AAP//gAD//8AB///AAf//4AP///AH///8H///"
+		},
+		{
+			"Image":"AAABAAEAEBAAMjY3MDFoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAMAAEdGbGVtaW5nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAAp/8Ap/8Ap/8Ap/8AjvAABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAAxP8AxP8Av/8Av/8Av/8Av/8Av/8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgAAxP8AxP8ABgAA5v8A5v8A5v8A5v8A4P8ABgAAxP8AjvAABgAAAAAAAAAAAAAABgAAxP8A5v8A5v8ABgAABgAABgAABgAABgAA4P8Av/8AxP8ABgAAAAAAAAAABgAAxP8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A4P8Av/8AjvAABgAAAAAABgAL/P8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8A5v8Av/8Ap/8ABgAAAAAABgBf/v8A5v8A5v8ABgAABgAA5v8A5v8A5v8ABgAABgAA5v8Av/8Ap/8ABgAAAAAABgBf/v8L/P8A5v8A5v8ABgAA5v8A5v8A5v8ABgAA5v8A5v8Av/8Ap/8ABgAAAAAABgCT//8L/P8ABgAA5v8ABgAA5v8A5v8A5v8ABgAA5v8ABgAAv/8AjvAABgAAAAAAAAAABgBf/v8L/P8ABgAA5v8A5v8A5v8A5v8A5v8ABgAA5v8AxP8ABgAAAAAAAAAAAAAABgCT//9f/v8L/P8ABgAA5v8A5v8A5v8ABgAA5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAABgDP//+T//8L/P8L/P8A5v8A5v8A5v8AxP8AjvAABgAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgDP//+T//9f/v9f/v8AxP8ABgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAABgAABgAABgAABgAAAAAAAAAAAAAAAAAAAAD//////B////AH///gA///wAH//8AB//+AAP//gAD//4AA//+AAP//gAD//8AB///AAf//4AP///AH///8H///"
+		}
+	],
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select d.ProductID,p.ProductName,sum(d.UnitPrice*d.quantity) as amount\r\nfrom OrderDetails d inner join Products p on p.Productid=d.Productid\r\ngroup by d.ProductID,p.ProductName\r\norder by sum(d.UnitPrice*d.quantity) desc",
+			"ProcessRecordScript":"var Amount = Report.FieldByName(\"Amount\").AsFloat;\r\nvar NewCatalog = FindCatalogByAmount(Amount);\r\nif (Report.ParameterByName(\"CurCatalogID\").AsInteger != NewCatalog)\r\n{\r\n    Report.DetailGrid.StartNewGroup(1);\r\n}\r\n\r\nfunction FindCatalogByAmount(Amount)\r\n{\r\n    var Catalog;\r\n    if (Amount < 5000)\r\n        Catalog = 1;\r\n    else if (Amount < 20000)\r\n        Catalog = 2;\r\n    else\r\n        Catalog = 3;\r\n    return Catalog;\r\n}\r\n",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":3.78354
+			},
+			{
+				"Name":"ProductName",
+				"Width":4.57729
+			},
+			{
+				"Name":"Amount",
+				"Width":4.39208
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"Text":"閿�鍞噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupBeginScript":"var Amount = Report.FieldByName(\"Amount\").AsFloat;\r\nvar CurCatalogID = FindCatalogByAmount(Amount);\r\nvar CurCatalogText;\r\nif (CurCatalogID == 1)\r\n    CurCatalogText = \"婊為攢\";\r\nelse if (CurCatalogID == 2)\r\n    CurCatalogText = \"涓�鑸琝";\r\nelse\r\n    CurCatalogText = \"鐣呴攢\";\r\nReport.Parameters.Item(\"CurCatalogID\").AsInteger = CurCatalogID;\r\nReport.Parameters.Item(\"Catalog\").AsString = CurCatalogText;\r\n\r\nfunction FindCatalogByAmount(Amount)\r\n{\r\n    var Catalog;\r\n    if (Amount < 5000)\r\n        Catalog = 1;\r\n    else if (Amount < 20000)\r\n        Catalog = 2;\r\n    else\r\n        Catalog = 3;\r\n    return Catalog;\r\n}\r\n",
+				"GroupHeader":{
+					"BackColor":"E1FFFF",
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"BackColor":"FFFFFF",
+							"Left":0.185208,
+							"Width":1.61396,
+							"Height":0.582083,
+							"Text":"鍒嗙被绛夌骇锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"CatalogBox",
+							"Left":1.79917,
+							"Width":2.19604,
+							"Height":0.582083,
+							"Text":"StaticBox6",
+							"Parameter":"Catalog"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":1.19063,
+					"FormatScript":"var GreenShapeBox = Report.ControlByName(\"GreenShapeBox\");\r\nvar YellowShapeBox = Report.ControlByName(\"YellowShapeBox\");\r\nvar RedShapeBox = Report.ControlByName(\"RedShapeBox\");\r\n\r\n//杩愯鏃舵寜鏉′欢纭畾閮ㄤ欢妗嗙殑闅愯棌涓庢樉绀篭r\nGreenShapeBox.Visible = false;\r\nYellowShapeBox.Visible = false;\r\nRedShapeBox.Visible = false;\r\nvar Amount = Report.FieldByName(\"Amount\").AsFloat;\r\nvar CurCatalog = FindCatalogByAmount(Amount);\r\nif (CurCatalog == 1)\r\n{\r\n    RedShapeBox.Visible = true;\r\n    Report.ControlByName(\"PictureBox1\").AsPictureBox.ImageIndex = 3;\r\n}\r\nelse if (CurCatalog == 2)\r\n{\r\n    YellowShapeBox.Visible = true;\r\n    Report.ControlByName(\"PictureBox1\").AsPictureBox.ImageIndex = 2;\r\n}\r\nelse\r\n{\r\n    GreenShapeBox.Visible = true;\r\n    Report.ControlByName(\"PictureBox1\").AsPictureBox.ImageIndex = 1;\r\n}\r\n\r\r\nfunction FindCatalogByAmount(Amount)\r\n{\r\n    var Catalog;\r\n    if (Amount < 5000)\r\n        Catalog = 1;\r\n    else if (Amount < 20000)\r\n        Catalog = 2;\r\n    else\r\n        Catalog = 3;\r\n    return Catalog;\r\n}\r\n",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"BackColor":"FFFFFF",
+							"Left":1.79917,
+							"Width":1.61396,
+							"Height":0.582083,
+							"Text":"浜у搧涓暟锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"Left":3.41313,
+							"Width":1.98438,
+							"Height":0.582083,
+							"SummaryFun":"Count"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":8.36083,
+							"Width":4.41854,
+							"Height":0.582083,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"Left":6.19125,
+							"Width":2.19604,
+							"Height":0.582083,
+							"Text":"閲戦灏忚锛�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"Left":6.19125,
+							"Top":0.582083,
+							"Width":2.19604,
+							"Height":0.608542,
+							"Text":"閲戦骞冲潎锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary3",
+							"AlignColumn":"Amount",
+							"Left":8.36083,
+							"Top":0.582083,
+							"Width":4.41854,
+							"Height":0.608542,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"SummaryFun":"Avg"
+						},
+						{
+							"Type":"ShapeBox",
+							"Name":"GreenShapeBox",
+							"BackColor":"FFFFFF",
+							"Left":1.79917,
+							"Top":0.608542,
+							"Width":0.79375,
+							"Height":0.608542,
+							"Visible":false,
+							"ShapeType":"Circle",
+							"FillColor":"008000",
+							"FillStyle":"Normal"
+						},
+						{
+							"Type":"ShapeBox",
+							"Name":"YellowShapeBox",
+							"BackColor":"FFFFFF",
+							"Left":1.79917,
+							"Top":0.608542,
+							"Width":0.79375,
+							"Height":0.608542,
+							"Visible":false,
+							"ShapeType":"Circle",
+							"FillColor":"00FFFF",
+							"FillStyle":"Normal"
+						},
+						{
+							"Type":"ShapeBox",
+							"Name":"RedShapeBox",
+							"BackColor":"FFFFFF",
+							"Left":1.79917,
+							"Top":0.608542,
+							"Width":0.79375,
+							"Height":0.608542,
+							"ShapeType":"Circle",
+							"FillColor":"0000FF",
+							"FillStyle":"Normal"
+						},
+						{
+							"Type":"PictureBox",
+							"Name":"PictureBox1",
+							"Width":1.40229,
+							"Height":1.19063
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.00542,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox2",
+				"Left":9.18104,
+				"Top":0.185208,
+				"Width":6.74688,
+				"Height":0.555625,
+				"Font":{
+					"Name":"闅朵功",
+					"Size":142500,
+					"Bold":true,
+					"Charset":134
+				},
+				"TextAlign":"MiddleRight",
+				"Text":"鍖楅鍏徃閿�鍞鐞嗙郴缁熸姤琛�"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.79375,
+				"Width":16.1925,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"AlignColumn":"Amount",
+				"Left":8.36083,
+				"Width":4.41854,
+				"Height":0.396875,
+				"TextAlign":"MiddleRight",
+				"Text":"鍏盵#SystemVar(PageCount)#]椤� 绗琜#SystemVar(PageNumber)#]椤�"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Catalog"
+		},
+		{
+			"Name":"CurCatalogID",
+			"DataType":"Integer",
+			"Value":"1"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.92125,
+					"Top":0.185208,
+					"Width":6.19125,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝侀攢鍞眹鎬诲垎绫绘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":1.13771,
+					"Top":0.79375,
+					"Width":13.7319,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦ㄨ褰曢泦鐨� ProcessRecordScript 浜嬩欢涓牴鎹潯浠朵骇鐢熷垎缁�"
+				}
+			]
+		}
+	],
+	"ReportFooter":[
+		{
+			"Height":1.19063,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"AlignColumnSide":"Right",
+					"AlignColumn":"ProductName",
+					"Left":6.00604,
+					"Width":2.38125,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"Text":"鎬婚噾棰濓細"
+				},
+				{
+					"Type":"SummaryBox",
+					"Name":"Summary5",
+					"AlignColumn":"Amount",
+					"Left":8.36083,
+					"Width":4.41854,
+					"Height":0.582083,
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Type":"SummaryBox",
+					"Name":"Summary6",
+					"AlignColumn":"Amount",
+					"Left":8.36083,
+					"Top":0.582083,
+					"Width":4.41854,
+					"Height":0.608542,
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount",
+					"SummaryFun":"Avg"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox9",
+					"AlignColumnSide":"Right",
+					"AlignColumn":"ProductName",
+					"Left":6.00604,
+					"Top":0.582083,
+					"Width":2.38125,
+					"Height":0.608542,
+					"TextAlign":"MiddleRight",
+					"Text":"骞冲潎閲戦锛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"AlignColumn":"ProductID",
+					"Width":3.81,
+					"Height":0.608542,
+					"Text":"鎬讳骇鍝佷釜鏁帮細[#Count()#]"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3f.grf b/public/grf/7-3f.grf
new file mode 100644
index 0000000..9aca7cc
--- /dev/null
+++ b/public/grf/7-3f.grf
@@ -0,0 +1,379 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3f.鑴氭湰.鎸夐瀛楁瘝鍒嗙粍",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"澧炲姞涓�涓绠楀瓧娈碉紝鍦ㄨ褰曢泦鐨勨�滄彁浜よ褰曞墠鑴氭湰鈥濅腑灏嗚绠楀瓧娈电殑鍊艰涓哄搴斿瓧娈电殑棣栧瓧姣嶃��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Customers\r\norder by CustomerID",
+			"BeforePostRecordScript":"Sender.Fields.Item(\"GroupFld\").AsString = Sender.Fields.Item(\"瀹㈡埛缂栧彿\").AsString.substring(0,1);",
+			"Field":[
+				{
+					"Name":"瀹㈡埛缂栧彿",
+					"DBFieldName":"CustomerID"
+				},
+				{
+					"Name":"鍏徃鍚嶇О",
+					"DBFieldName":"CompanyName"
+				},
+				{
+					"Name":"鑱旂郴浜�",
+					"DBFieldName":"ContactName"
+				},
+				{
+					"Name":"鑱旂郴浜虹О璋�",
+					"DBFieldName":"ContactTitle"
+				},
+				{
+					"Name":"鍦板潃",
+					"DBFieldName":"Address"
+				},
+				{
+					"Name":"鍩庡競",
+					"DBFieldName":"City"
+				},
+				{
+					"Name":"鍦板尯",
+					"DBFieldName":"Region"
+				},
+				{
+					"Name":"閭紪",
+					"DBFieldName":"PostalCode"
+				},
+				{
+					"Name":"鍥藉",
+					"DBFieldName":"Country"
+				},
+				{
+					"Name":"鐢佃瘽",
+					"DBFieldName":"Phone"
+				},
+				{
+					"Name":"浼犵湡",
+					"DBFieldName":"Fax"
+				},
+				{
+					"Name":"GroupFld"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"瀹㈡埛缂栧彿"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"鍏徃鍚嶇О"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"鑱旂郴浜�"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"Column":"Address",
+					"DataField":"鍦板潃"
+				},
+				{
+					"Column":"City",
+					"DataField":"鍩庡競"
+				},
+				{
+					"Column":"Region",
+					"DataField":"鍦板尯"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"閭紪"
+				},
+				{
+					"Column":"Country",
+					"DataField":"鍥藉"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"鐢佃瘽"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"浼犵湡"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"GroupFld",
+				"GroupHeader":{
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Width":2.01083,
+							"Height":0.79375,
+							"DataField":"GroupFld"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"E1FFFF",
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"Width":2.40771,
+							"Height":0.582083,
+							"Text":"鍚堣"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"Left":2.40771,
+							"Width":2.59292,
+							"Height":0.608542,
+							"SummaryFun":"Count"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":3.65125,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":17.4625,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":14.6579,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":7.32896,
+					"Top":0.185208,
+					"Width":12.0121,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夐瀛楁瘝鍒嗙粍(澧炲姞鑷畾涔夊垎缁勪緷鎹瓧娈�)"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/7-3g.grf b/public/grf/7-3g.grf
new file mode 100644
index 0000000..5360101
--- /dev/null
+++ b/public/grf/7-3g.grf
@@ -0,0 +1,219 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"7-3g.鑴氭湰.琛ㄦ牸缁墦(濂楁墦)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄦ姤琛ㄨ剼鏈疄鐜扮画鎵擄紝鏍规嵁姣忔鎵撳嵃鐨勫弬鏁扮‘瀹氭暟鎹殑璧峰鎵撳嵃浣嶇疆锛岄�氳繃鍔ㄦ�佽缃┖鐧芥姤琛ㄥご鐨勯珮搴︽潵瀹炵幇鏁版嵁璧峰浣嶇疆鐨勫彉鍖栥�俓r\n\r\n璁捐瑕佺偣锛歕r\n1銆佸弬鏁癇eginNo涓嶦ndNo鎸囧畾鏁版嵁鐨勮寖鍥达紝鍙互鎹鐭ラ亾鏁版嵁搴旇浠庨偅涓�琛屽紑濮嬫墦鍗般�俓r\n2銆佸湪鎶ヨ〃涓诲璞$殑鈥滈〉寮�濮嬭剼鏈�濆睘鎬т笂鍐欐姤琛ㄨ剼鏈�俓r\n3銆佹姤琛ㄨ缃簡鑳屾櫙鍥撅紝灏嗘暟鎹鎵撳湪涓�涓〃鏍间腑锛岀エ鎹鎵撹鍙傝�冨府鍔┾�滃紑鍙戞寚鍗�->鎶ヨ〃鎵撳嵃->绁ㄦ嵁濂楁墦鈥濋儴鍒嗐�俓r\n4銆佷慨鏀瑰弬鏁癇eginNo涓嶦ndNo鐨勫�煎彲浠ョ湅鍙樺寲鏁堟灉锛屽簲淇濊瘉BeginNo鐨勫�煎皬浜嶦ndNo鐨勩�俓r\n5銆佸疄闄呭簲鐢ㄤ腑锛屽紑鍙戣�呭簲璇ヨ嚜宸卞疄鐜拌捣姝㈠弬鏁扮殑淇濆瓨涓庤幏鍙栵紝骞舵牴鎹疄闄呭簲鐢ㄨ繘琛岃皟鏁淬��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"PageStartScript":"var BeginNo = Report.ParameterByName(\"BeginNo\").AsInteger; //寰楀埌鏁版嵁鐨勮捣濮嬭鍙穃r\nvar PageNo = Report.SystemVarValue(3); //grsvPageNumber  3 褰撳墠椤靛彿銆� \r\nif (PageNo == 1) //濡傛灉鏄涓�椤碉紝鍔ㄦ�佽缃姤琛ㄥご鐨勯珮搴r\n{\r\n  var ModBeginNo = BeginNo % 20; //20涓烘瘡椤佃鎵撳嵃鐨勬暟鎹鏁帮紝妯¢櫎杩愮畻锛屽涓�25琛岋紝鍏惰緭鍑轰綅缃负绗�5琛孿r\n  if (ModBeginNo == 0)  //20 鐨勬暣鏁板�嶆ā闄ゅ緱0锛屽40妯¢櫎鐨�0锛屽叾杈撳嚭浣嶇疆涓虹20琛孿r\n    ModBeginNo = 20;\r\n  Report.ReportHeaders.Item(1).Height = (ModBeginNo - 1) * 1.19; //鏍规嵁璧峰琛屽彿璋冩暣鎶ヨ〃澶寸殑楂樺害锛�1.19涓烘瘡琛屾暟鎹殑楂樺害\r\n}\r\nelse\r\n{\r\n  //浠庣浜岄〉寮�濮嬶紝鏁版嵁閮芥槸浠庢渶涓婄寮�濮嬫墦鍗帮紝濡傛灉涓嶆槸绗竴椤碉紝鍒欒缃姤琛ㄥご鐨勯珮搴︿负0\r\n  Report.ReportHeaders.Item(1).Height = 0; \r\n}",
+	"BackImage":"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",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ShowColLine":false,
+		"ShowRowLine":false,
+		"Border":{
+			"Styles":"[]",
+			"Pen":{
+				"Color":"FFFFFF"
+			}
+		},
+		"ColLine":{
+			"Color":"FFFFFF"
+		},
+		"RowLine":{
+			"Color":"FFFFFF"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Products\r\nwhere ProductID>=:BeginNo and ProductID<=:EndNo\r\norder by ProductID",
+			"Field":[
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"SupplierID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"QuantityPerUnit"
+				},
+				{
+					"Name":"UnitPrice",
+					"Type":"Currency",
+					"Format":"#,##0.00"
+				},
+				{
+					"Name":"UnitsInStock",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"UnitsOnOrder",
+					"Type":"Integer",
+					"Format":"#,##0"
+				},
+				{
+					"Name":"ReorderLevel",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Discontinued",
+					"Type":"Boolean",
+					"Format":"鏄�:鍚�"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"ProductID",
+				"Width":2.19604
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.20146
+			},
+			{
+				"Name":"UnitPrice",
+				"Width":2.19604
+			},
+			{
+				"Name":"UnitsInStock",
+				"Width":2.40771
+			},
+			{
+				"Name":"UnitsOnOrder",
+				"Width":2
+			},
+			{
+				"Name":"ReorderLevel",
+				"Width":2
+			},
+			{
+				"Name":"Discontinued",
+				"Width":2
+			}
+		],
+		"ColumnContent":{
+			"Height":1.19063,
+			"AdjustRowHeight":false,
+			"RowsPerPage":20,
+			"ColumnContentCell":[
+				{
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ProductID"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitPrice"
+				},
+				{
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsInStock"
+				},
+				{
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleRight",
+					"DataField":"UnitsOnOrder"
+				},
+				{
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter",
+					"DataField":"ReorderLevel"
+				},
+				{
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter",
+					"DataField":"Discontinued"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"ProductID",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitPrice",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsInStock",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"UnitsOnOrder",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ReorderLevel",
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Discontinued",
+					"TextAlign":"MiddleCenter"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"BeginNo",
+			"Tag":"鏁版嵁璧峰鍙傛暟鍊�",
+			"DataType":"Integer",
+			"Value":"8"
+		},
+		{
+			"Name":"EndNo",
+			"Tag":"鏁版嵁缁撴潫鍙傛暟鍊�",
+			"DataType":"Integer",
+			"Value":"36"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":0
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8a.grf b/public/grf/8a.grf
new file mode 100644
index 0000000..13d4537
--- /dev/null
+++ b/public/grf/8a.grf
@@ -0,0 +1,995 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"8a.鍥捐〃.搴忓垪缁勭皣鍥�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍚勭绫诲瀷鐨勫浘琛�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":1,
+		"RightMargin":1.5,
+		"BottomMargin":1
+	},
+	"ReportHeader":[
+		{
+			"Name":"鏌辩姸鍥炬姤琛ㄥご",
+			"Height":6,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":8.5,
+					"Height":5.55625,
+					"Title":"鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart4",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":8.41375,
+					"Height":5.55625,
+					"Title":"鏌卞浘(鍗曞簭鍒楀鑹�)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"GroupCount":4,
+					"SeriesCount":1,
+					"BarWidthPercent":60,
+					"GroupLabel":"涓�瀛e害\r浜屽搴r涓夊搴r鍥涘搴�",
+					"SeriesLabel":"寮犱笁",
+					"Value":"1000,1200,1500,800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"008000",
+							"Style":"Dot"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart8",
+					"Left":17.8065,
+					"Top":0.238125,
+					"Width":8.59896,
+					"Height":5.55625,
+					"Title":"鍙犲姞鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4",
+							"Style":"Dot"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StepBarChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YValTotalByGroup)#]",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"妯悜鏌辩姸鍥炬姤琛ㄥご",
+			"Height":6,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart20",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":8.5,
+					"Height":5.55625,
+					"Title":"妯悜鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"ColumnChart",
+							"ValueFormat":"0.##"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart21",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":8.41375,
+					"Height":5.55625,
+					"Title":"妯悜鏌卞浘(鍗曞簭鍒楀鑹�)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendAtBottom":true,
+					"GroupCount":4,
+					"SeriesCount":1,
+					"BarWidthPercent":60,
+					"GroupLabel":"涓�瀛e害\r浜屽搴r涓夊搴r鍥涘搴�",
+					"SeriesLabel":"寮犱笁",
+					"Value":"1000,1200,1500,800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FF0000",
+							"Style":"DashDotDot"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"ColumnChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart22",
+					"Left":17.8065,
+					"Top":0.211667,
+					"Width":8.59896,
+					"Height":5.58271,
+					"Title":"妯悜鍙犲姞鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"ValueFont":{
+						"Name":"瀹嬩綋",
+						"Size":75000,
+						"Weight":400,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4",
+							"Style":"Dot"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StackedColumnChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]",
+							"LabelInBar":true
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"鐧惧垎姣旀煴鐘跺浘鎶ヨ〃澶�",
+			"Height":6,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart23",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":8.5,
+					"Height":5.55625,
+					"Title":"鐧惧垎姣旀煴鐘跺浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"ValueFont":{
+						"Name":"瀹嬩綋",
+						"Size":75000,
+						"Weight":400,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StackedBar100Chart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100ByGroup):0.##%#]",
+							"LabelInBar":true,
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart24",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":8.41375,
+					"Height":5.58271,
+					"Title":"妯悜鐧惧垎姣旀煴鐘跺浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"ValueFont":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StackedColumn100Chart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100ByGroup):0.##%#]",
+							"LabelInBar":true
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart25",
+					"Left":17.8065,
+					"Top":0.211667,
+					"Width":8.59896,
+					"Height":5.58271,
+					"Title":"鐧惧垎姣旀煴鐘跺浘(鍊兼寜搴忓垪姣旂巼)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"ValueFont":{
+						"Name":"瀹嬩綋",
+						"Size":75000,
+						"Weight":400,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextVisible":false,
+						"TextFormat":"0.##",
+						"LineVisible":false,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StackedBar100Chart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100BySeries):0.##%#]",
+							"LabelInBar":true
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"鍏跺畠鏌辩姸鍥炬姤琛ㄥご",
+			"Height":6,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart10",
+					"Left":8.99583,
+					"Top":0.15875,
+					"Width":8.38729,
+					"Height":5.58271,
+					"Title":"鏁版嵁鏈夋鏈夎礋鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"GroupCount":4,
+					"BarWidthPercent":60,
+					"GroupLabel":"涓�瀛e害\r浜屽搴r涓夊搴r鍥涘搴�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓",
+					"Value":"1000,-1200,1500,-800,800,-900,200,-500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart11",
+					"Left":17.78,
+					"Top":0.15875,
+					"Width":8.59896,
+					"Height":5.58271,
+					"Title":"鏁版嵁鍏ㄨ礋鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendVisible":false,
+					"LegendValueVisible":true,
+					"GroupCount":4,
+					"SeriesCount":1,
+					"BarWidthPercent":60,
+					"GroupLabel":"涓�瀛e害\r浜屽搴r涓夊搴r鍥涘搴�",
+					"SeriesLabel":"寮犱笁",
+					"Value":"-1000,-1200,-1500,-800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart26",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":8.5,
+					"Height":5.55625,
+					"Title":"鍙岃酱鏌卞浘涓庢贩鍚堝浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"鏁伴噺\r鍗曚环\r閿�鍞噾棰�",
+					"Value":"10,12,15,8,15,14,12,16,150,168,180,128",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閲戦(涓囧厓)",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"Label":"鏁伴噺(鍚�)",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ByY2Axis":true,
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(GroupLabel)#]瀛e害鐨刐#ChartVar(SeriesLabel)#]涓篬#ChartVar(YVal)#]"
+						},
+						{
+							"ChartType":"LineChart",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(GroupLabel)#]瀛e害鐨刐#ChartVar(SeriesLabel)#]涓篬#ChartVar(YVal)#]"
+						},
+						{
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(GroupLabel)#]瀛e害鐨刐#ChartVar(SeriesLabel)#]涓篬#ChartVar(YVal)#]"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"杩炵嚎鍥炬姤琛ㄥご",
+			"Height":6,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart3",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":8.5,
+					"Height":5.58271,
+					"Title":"杩炵嚎鍥�",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						},
+						"MarginBeginWeight":0,
+						"MarginEndWeight":0
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":400,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"LineChart",
+							"ValueFormat":"0.##"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart6",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":8.5,
+					"Height":5.58271,
+					"Title":"杩炵嚎鍥�(鍗曞簭鍒�)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendAtBottom":true,
+					"GroupCount":4,
+					"SeriesCount":1,
+					"BarWidthPercent":85,
+					"GroupLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"SeriesLabel":"寮犱笁",
+					"Value":"1000,1200,1500,800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"LineChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]",
+							"MarkerStyle":"Triangle"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart12",
+					"Left":17.8065,
+					"Top":0.211667,
+					"Width":8.5,
+					"Height":5.58271,
+					"Title":"杩炵嚎鍥句緥瀛�",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":400,
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"CurveLineChart",
+							"ValueFormat":"0.##",
+							"MarkerStyle":"Star4",
+							"MarkerSize":5
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"楗煎浘鎶ヨ〃澶�",
+			"Height":6.19125,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart2",
+					"Left":0.211667,
+					"Width":8.5,
+					"Height":6.1,
+					"Title":"楗煎浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart5",
+					"Left":8.99583,
+					"Width":8.5,
+					"Height":6.11188,
+					"Title":"楗煎浘(鐧惧垎姣斿��)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100ByGroup)#]",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart7",
+					"Left":17.8065,
+					"Width":8.5,
+					"Height":6.11188,
+					"Title":"楗煎浘(鍗曚釜)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"GroupCount":1,
+					"SeriesCount":4,
+					"SeriesLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"Value":"1000,1200,1500,1800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100ByGroup)#]",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8b.grf b/public/grf/8b.grf
new file mode 100644
index 0000000..9919f3d
--- /dev/null
+++ b/public/grf/8b.grf
@@ -0,0 +1,302 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"8b.鍥捐〃.XY鏁版嵁鍨嬪浘",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍚勭绫诲瀷鐨勫浘琛�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":0.5,
+		"RightMargin":1.5,
+		"BottomMargin":0.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":10.0013,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Left":0.211667,
+					"Width":12.991,
+					"Height":9.78958,
+					"Title":"鏁e垪鐐瑰浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"Name",
+					"Recordset":{
+						"QuerySQL":"select * from scatter\r\norder by Name, X",
+						"Field":[
+							{
+								"Name":"ID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"Name"
+							},
+							{
+								"Name":"X",
+								"Type":"Float"
+							},
+							{
+								"Name":"Y",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYScatterChart",
+							"XValueField":"X",
+							"YValueField":"Y",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]: ([#ChartVar(YVal)#], [#ChartVar(XVal)#])",
+							"MarkerStyle":"Star4",
+							"MarkerSize":6
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart5",
+					"Left":13.3879,
+					"Width":13.0175,
+					"Height":9.78958,
+					"Title":"鏁e垪鏇茬嚎鍥�",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"Name",
+					"Recordset":{
+						"QuerySQL":"select * from scatter\r\norder by Name, X",
+						"Field":[
+							{
+								"Name":"Name"
+							},
+							{
+								"Name":"X",
+								"Type":"Float"
+							},
+							{
+								"Name":"Y",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYCurveLineChart",
+							"XValueField":"X",
+							"YValueField":"Y",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]: ([#ChartVar(YVal)#], [#ChartVar(XVal)#])"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":10,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart6",
+					"Left":0.211667,
+					"Width":12.991,
+					"Height":9.78958,
+					"Title":"鏁e垪杩炵嚎鍥�",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"Name",
+					"Recordset":{
+						"QuerySQL":"select * from scatter\r\norder by Name, X",
+						"Field":[
+							{
+								"Name":"ID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"Name"
+							},
+							{
+								"Name":"X",
+								"Type":"Float"
+							},
+							{
+								"Name":"Y",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYLineChart",
+							"XValueField":"X",
+							"YValueField":"Y",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]: ([#ChartVar(YVal)#], [#ChartVar(XVal)#])"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart7",
+					"Left":13.3879,
+					"Width":13.0175,
+					"Height":9.78958,
+					"Title":"姘旀场鍥�(搴忓垪::鏁版嵁鐐规爣璁�::鏍囪鍥惧舰)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"Name",
+					"Recordset":{
+						"QuerySQL":"select * from scatter\r\norder by Name, X",
+						"Field":[
+							{
+								"Name":"Name"
+							},
+							{
+								"Name":"X",
+								"Type":"Float"
+							},
+							{
+								"Name":"Y",
+								"Type":"Float"
+							},
+							{
+								"Name":"Z",
+								"Type":"Integer"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"Bubble",
+							"XValueField":"X",
+							"YValueField":"Y",
+							"ZValueField":"Z",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]: 浣嶇疆([#ChartVar(YVal)#], [#ChartVar(XVal)#]), 澶у皬([#ChartVar(ZVal)#])",
+							"MarkerStyle":"Circle"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8c.grf b/public/grf/8c.grf
new file mode 100644
index 0000000..e4b0af9
--- /dev/null
+++ b/public/grf/8c.grf
@@ -0,0 +1,231 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"8c.鍥捐〃.涓夌淮(3D)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍚勭绫诲瀷鐨勫浘琛�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":1,
+		"RightMargin":1.5,
+		"BottomMargin":1
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader5",
+			"Height":5.21229,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart14",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":13.5996,
+					"Height":4.7625,
+					"Chart3D":true,
+					"Title":"鏌卞浘渚嬪瓙(涓夌淮)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart16",
+					"Left":14.2081,
+					"Top":0.238125,
+					"Width":11.9856,
+					"Height":4.7625,
+					"Chart3D":true,
+					"Title":"鍙犲姞鏌卞浘渚嬪瓙(涓夌淮)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLineVisible":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"StepBarChart",
+							"ValueFormat":"0.##"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader6",
+			"Height":7.80521,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart17",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":13.5996,
+					"Height":7.38188,
+					"Chart3D":true,
+					"Title":"楗煎浘渚嬪瓙(涓夌淮)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart19",
+					"Left":14.2081,
+					"Top":0.211667,
+					"Width":11.9856,
+					"Height":7.38188,
+					"Chart3D":true,
+					"Title":"楗煎浘渚嬪瓙(涓夌淮)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"GroupCount":1,
+					"SeriesCount":4,
+					"SeriesLabel":"绗竴瀛e害\r绗簩瀛e害\r绗笁瀛e害\r绗洓瀛e害",
+					"Value":"1000,1200,1500,1800",
+					"Recordset":{
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal100ByGroup)#]"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8d.grf b/public/grf/8d.grf
new file mode 100644
index 0000000..42d6503
--- /dev/null
+++ b/public/grf/8d.grf
@@ -0,0 +1,313 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"8d.鍥捐〃.鏁版嵁婧愭暟鎹�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず鍚勭绫诲瀷鐨勫浘琛�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":0.5,
+		"RightMargin":1.5,
+		"BottomMargin":0.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":10.0013,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Left":0.211667,
+					"Width":12.991,
+					"Height":9.78958,
+					"Title":"鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"ProductName",
+					"GroupField":"Region",
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+						"QuerySQL":"select c.Region,  d.ProductID,p.ProductName,\r\nsum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on \r\r\nm.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID in (1,10,11,21) and m.OrderDate between \r\r\n#1997/1/1# and #1997/12/31#\r\ngroup by c.Region,d.ProductID,p.ProductName\r\norder by d.ProductID,c.Region",
+						"Field":[
+							{
+								"Name":"Region"
+							},
+							{
+								"Name":"ProductID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"ProductName"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"YValueField":"Amount",
+							"ValueFormat":"0.00,"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart3",
+					"Left":13.3879,
+					"Width":13.0175,
+					"Height":9.78958,
+					"Title":"鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"LegendShowSum":true,
+					"LegendSumLabel":"鎬昏(鍏�)",
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"ProductName",
+					"GroupField":"Region",
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+						"QuerySQL":"select c.Region,  d.ProductID,p.ProductName,\r\nsum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on \r\r\nm.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID in (1,10,11,21) and m.OrderDate between \r\r\n#1997/1/1# and #1997/12/31#\r\ngroup by c.Region,d.ProductID,p.ProductName\r\norder by d.ProductID,c.Region",
+						"Field":[
+							{
+								"Name":"Region"
+							},
+							{
+								"Name":"ProductID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"ProductName"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"LineChart",
+							"YValueField":"Amount",
+							"ValueFormat":"0.00,",
+							"MarkerStyle":"Dimond"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader2",
+			"Height":10,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart4",
+					"Left":0.211667,
+					"Width":12.991,
+					"Height":9.79,
+					"Title":"鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"Region",
+					"GroupField":"ProductName",
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+						"QuerySQL":"select c.Region,  d.ProductID,p.ProductName,\r\nsum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on \r\r\nm.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID in (1,10,11,21) and m.OrderDate between \r\r\n#1997/1/1# and #1997/12/31#\r\ngroup by c.Region,d.ProductID,p.ProductName\r\norder by d.ProductID,c.Region",
+						"Field":[
+							{
+								"Name":"Region"
+							},
+							{
+								"Name":"ProductID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"ProductName"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"PieChart",
+							"YValueField":"Amount",
+							"ValueFormat":"0.##",
+							"LabelText":"[#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart5",
+					"Left":13.3879,
+					"Width":13.0175,
+					"Height":9.78958,
+					"Title":"鏌卞浘",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"LegendAtBottom":true,
+					"GroupCount":4,
+					"BarWidthPercent":85,
+					"GroupField":"Region",
+					"SeriesAuto":false,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"閲戦\r鏁伴噺",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200",
+					"Recordset":{
+						"QuerySQL":"select c.Region, sum(d.UnitPrice*d.Quantity) as Amount, sum(d.Quantity) as Quantity\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID=11 and m.OrderDate between \r\r\n#1997/1/1# and #1997/12/31#\r\ngroup by c.Region\r\norder by c.Region",
+						"Field":[
+							{
+								"Name":"Region"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							},
+							{
+								"Name":"Quantity",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"YValueField":"Amount",
+							"ValueFormat":"0.00,"
+						},
+						{
+							"ChartType":"LineChart",
+							"ByY2Axis":true,
+							"YValueField":"Quantity",
+							"ValueFormat":"0.##,"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8e.grf b/public/grf/8e.grf
new file mode 100644
index 0000000..cd9c06a
--- /dev/null
+++ b/public/grf/8e.grf
@@ -0,0 +1,127 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"8e.鍥捐〃.鑴氭湰.鏄剧ず鍩哄噯绾�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄦ姤琛ㄨ剼鏈畾涔夊浘琛ㄨ鏄剧ず鐨勫熀鍑嗙嚎锛歕r\n閫氬父鍦ㄦ姤琛ㄤ富瀵硅薄鐨勨�滃垵濮嬪寲鑴氭湰鈥濅笂瀹氫箟鍩哄噯绾夸俊鎭紝棣栧厛璋冪敤 EmptyCustomCoordLine 鏂规硶娓呯┖鍧愭爣杞翠笂鍘熸湁鐨勫熀鍑嗙嚎瀹氫箟锛岀劧鍚庤皟鐢� AddCustomCoordLine 娣诲姞涓�鏉℃垨澶氭潯鍩哄噯绾裤�俓r\n\r\n鍥捐〃鍩哄噯绾跨洰鍓嶈繕涓嶆敮鎸佽璁″櫒涓彲瑙嗗寲瀹氫箟锛屽彧鑳介�氳繃浠g爜璋冪敤鎺ュ彛鏉ュ畾涔夈��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"InitializeScript":"var chart1 = Report.ControlByName(\"Chart1\").AsChart;\r\nchart1.YAxis.EmptyCustomCoordLine();\r\nchart1.YAxis.AddCustomCoordLine(600, \"杈炬爣\", 2, GetColorValue(0,0,255), 1);\r\nchart1.YAxis.AddCustomCoordLine(1600, \"浼樼\", 2, GetColorValue(0,255,0), 1);\r\n\r\nvar chart2 = Report.ControlByName(\"Chart2\").AsChart;\r\nchart2.YAxis.EmptyCustomCoordLine();\r\nchart2.YAxis.AddCustomCoordLine(600, \"600\", 2, GetColorValue(255,0,0), 0);\r\nchart2.YAxis.AddCustomCoordLine(1600, \"1600\", 2, GetColorValue(0,255,0), 2);\r\n\r\n//鏍规嵁涓夊師鑹叉眰鍑洪鑹插�糪r\r\nfunction GetColorValue(r,g,b)\r\n{\r\n   return r + g*256 + b*256*256;\r\n}",
+	"Printer":{
+		"LeftMargin":1,
+		"TopMargin":1.5,
+		"RightMargin":1,
+		"BottomMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"鏌辩姸鍥炬姤琛ㄥご",
+			"Height":19.2088,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Left":0.211667,
+					"Top":0.238125,
+					"Width":17.9917,
+					"Height":9.15458,
+					"Title":"鏌卞浘(鏄剧ず鍩哄噯绾�)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]鍦╗#ChartVar(GroupLabel)#]瀛e害鐨勯攢鍞涓篬#ChartVar(YVal)#]"
+						}
+					]
+				},
+				{
+					"Type":"Chart",
+					"Name":"Chart2",
+					"Left":0.211667,
+					"Top":9.78958,
+					"Width":17.9917,
+					"Height":9.2075,
+					"Title":"妯悜鏌卞浘(鏄剧ず鍩哄噯绾�)",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"Max":2000,
+						"Space":500,
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"ColumnChart",
+							"ValueFormat":"0.##"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8f.grf b/public/grf/8f.grf
new file mode 100644
index 0000000..edc5a23
--- /dev/null
+++ b/public/grf/8f.grf
@@ -0,0 +1,351 @@
+锘縶
+	"Version":"6.8.1.0",
+	"Title":"8f.鍥捐〃.鏃ユ湡鏃堕棿杞�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍥捐〃杞存寜鏃ユ湡鏃堕棿鏍煎紡鏄剧ず\r\n\r\n瀹炵幇瑕佺偣锛歕r\n1銆佽缃甔杞寸殑鈥滄棩鏈熸椂闂磋酱鈥濆睘鎬r\n2銆佽缃甔杞寸殑鈥滄枃瀛楁牸寮忊�濆睘鎬r\n3銆佸簭鍒椾腑杞村搴旂殑瀛楁绫诲瀷搴旇鏄棩鏈熸椂闂寸被鍨嬬殑",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ProcessBeginScript":"//Chart2\r\n{\r\n    var chart2 = Report.ControlByName(\"Chart2\");\r\n\r\n    //璁剧疆 Chart2 鐨刋杞寸殑 Min銆丮ax涓嶴pace灞炴�с�傝繖鍑犱釜灞炴�у��1琛ㄧず涓�澶‐r\n    //濡傛灉瑕佸垎閽熸垨绉掕〃绀虹殑鍊硷紝搴旇灏嗗叾杞崲涓哄ぉ锛屽嵆鍒嗛挓鏁拌闄�(24*60)锛岀鏁拌闄�(24*60*60)\r\n    chart2.XAxis.Min = Report.ParameterByName(\"BeginDate\").AsFloat;\r\n    chart2.XAxis.Max = Report.ParameterByName(\"EndDate\").AsFloat;\r\n    chart2.XAxis.Space = 5; //5澶╀负姝ラ暱鍗曚綅銆傚鏋滆浠�800鍒嗛挓涓烘闀垮崟浣嶏紝浠g爜涓篶hart2.XAxis.Space = 800/(24*60);\r\n\r\n    //濡傛灉瑕佹寜鎸囧畾鐨勬棩鏈熸椂闂村�艰缃唬鐮佸涓媆r\n    //var dt = Report.Utility.CreateDateTime();\r\n    //dt.ValueFromDate(1997,6,1);\r\n    //chart2.XAxis.Min = dt.AsFloat;\r\n    //dt.ValueFromDate(1997,6,30);\r\n    //chart2.XAxis.Max = dt.AsFloat;\r\n}\r\n\r\n\r\n\r\n//Chart3\r\n{\r\n    //var chart3 = Report.ControlByName(\"Chart3\");\r\n    //chart3.XAxis.Max = ...;\r\n}",
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+	"Printer":{
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"FixCols":1,
+		"PageColumnDirection":"DownAcrossEqual",
+		"PageColumnCount":2,
+		"PrintAdaptMethod":"Discard",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"QuerySQL":"select t.CategoryName, m.OrderDate, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\ninner join (Products p inner join Categories t on p.CategoryID=t.CategoryID) on p.ProductID=d.ProductID\r\nwhere m.OrderDate between :BeginDate and :EndDate and t.CategoryID<=3\r\ngroup by t.CategoryName, m.OrderDate\r\norder by t.CategoryName, m.OrderDate",
+			"Field":[
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy/MM/dd"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				},
+				{
+					"Name":"CategoryName"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CategoryName",
+				"Width":2.67229
+			},
+			{
+				"Name":"OrderDate",
+				"Width":3.38667
+			},
+			{
+				"Name":"Amount",
+				"Width":2.51354
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPageColumn",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"OrderDate"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"Amount"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"BeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/6/1"
+		},
+		{
+			"Name":"EndDate",
+			"DataType":"DateTime",
+			"Value":"1997/6/30"
+		}
+	],
+	"ReportFooter":[
+		{
+			"Name":"ReportFooter1",
+			"Height":7.19667,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Dock":"Fill",
+					"Title":"Chart1:鏃ユ湡鏃堕棿杞�",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"CategoryName",
+					"Recordset":{
+						"QuerySQL":"select t.CategoryName, m.OrderDate, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\ninner join (Products p inner join Categories t on p.CategoryID=t.CategoryID) on p.ProductID=d.ProductID\r\nwhere m.OrderDate between :BeginDate and :EndDate and t.CategoryID<=3\r\ngroup by t.CategoryName, m.OrderDate\r\norder by t.CategoryName, m.OrderDate",
+						"Field":[
+							{
+								"Name":"CategoryName"
+							},
+							{
+								"Name":"OrderDate",
+								"Type":"DateTime"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextAngle":-30,
+						"TextFormat":"MM/dd",
+						"DateTimeAxis":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYCurveLineChart",
+							"XValueField":"OrderDate",
+							"YValueField":"Amount",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]([#ChartVar(YVal)#], [#ChartVar(XVal)#])"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter2",
+			"Height":7.19667,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart2",
+					"Dock":"Fill",
+					"Title":"Chart2锛氭棩鏈熸椂闂磋酱(鑴氭湰锛歁ax, Min, Space)",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"CategoryName",
+					"Recordset":{
+						"QuerySQL":"select t.CategoryName, m.OrderDate, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\ninner join (Products p inner join Categories t on p.CategoryID=t.CategoryID) on p.ProductID=d.ProductID\r\nwhere m.OrderDate between :BeginDate and :EndDate and t.CategoryID<=3\r\ngroup by t.CategoryName, m.OrderDate\r\norder by t.CategoryName, m.OrderDate",
+						"Field":[
+							{
+								"Name":"CategoryName"
+							},
+							{
+								"Name":"OrderDate",
+								"Type":"DateTime"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextAngle":-30,
+						"TextFormat":"MM/dd",
+						"DateTimeAxis":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYCurveLineChart",
+							"XValueField":"OrderDate",
+							"YValueField":"Amount",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]([#ChartVar(YVal)#], [#ChartVar(XVal)#])"
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportFooter3",
+			"Height":7.19667,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart3",
+					"Dock":"Fill",
+					"Title":"Chart3锛氭棩鏈熸椂闂磋酱(鏈�澶у�煎湪鏍囧昂鍒诲害)",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"CategoryName",
+					"Recordset":{
+						"QuerySQL":"select t.CategoryName, m.OrderDate, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join OrderDetails d on m.OrderId=d.OrderId)\r\ninner join (Products p inner join Categories t on p.CategoryID=t.CategoryID) on p.ProductID=d.ProductID\r\nwhere m.OrderDate between :BeginDate and :EndDate and t.CategoryID<=3\r\ngroup by t.CategoryName, m.OrderDate\r\norder by t.CategoryName, m.OrderDate",
+						"Field":[
+							{
+								"Name":"CategoryName"
+							},
+							{
+								"Name":"OrderDate",
+								"Type":"DateTime"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Float"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextAngle":-30,
+						"TextFormat":"MM/dd",
+						"DateTimeAxis":true,
+						"MaxAtScale":true,
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"ChartType":"XYCurveLineChart",
+							"XValueField":"OrderDate",
+							"YValueField":"Amount",
+							"ValueFormat":"0.##",
+							"TooltipText":"[#ChartVar(SeriesLabel)#]([#ChartVar(YVal)#], [#ChartVar(XVal)#])"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8g.grf b/public/grf/8g.grf
new file mode 100644
index 0000000..0145e51
--- /dev/null
+++ b/public/grf/8g.grf
@@ -0,0 +1,115 @@
+锘縶
+	"Version":"6.8.1.0",
+	"Title":"8g.鍥捐〃.鑴氭湰.鑷畾涔夐鑹�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鍒╃敤鎶ヨ〃鑴氭湰瀹炵幇鍥捐〃鍥惧舰鏄剧ず棰滆壊鐨勮嚜瀹氫箟锛屼篃鍙互鍦ㄤ簨浠跺搷搴斿嚱鏁颁腑鍋氱被浼肩殑浠诲姟銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"InitializeScript":"var chart1 = Report.ControlByName(\"Chart1\").AsChart;\r\n\r\n//鑷畾涔夊浘琛ㄧ殑濉厖棰滆壊\r\n\r\n//棣栧厛娓呴櫎鍘熸潵鐨勯鑹插畾涔塡r\nchart1.EmptyFillColors(); \r\n\r\n//渚濇鍔犲叆鍚勪釜搴忓垪鐨勬樉绀洪鑹瞈r\nchart1.AddFillColor(ColorFromRGB(64, 64, 255));\r\nchart1.AddFillColor(ColorFromRGB(128, 128, 255));\r\nchart1.AddFillColor(ColorFromRGB(196, 196, 255));\r\nchart1.AddFillColor(ColorFromRGB(64, 64, 64));\r\nchart1.AddFillColor(ColorFromRGB(128, 128, 128));\r\nchart1.AddFillColor(ColorFromRGB(196, 196, 196));\r\n\r\nfunction ColorFromRGB(r, g, b) {\r\n    return Report.Utility.ColorFromRGB(r, g, b);\r\n}",
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+	"Printer":{
+		"LeftMargin":1.5,
+		"TopMargin":1.5,
+		"RightMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"Height":1.5875,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":157500,
+				"Bold":true,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":17.3831,
+					"Height":0.978958,
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒╃敤鎶ヨ〃鑴氭湰瀹炵幇鍥捐〃鍥惧舰鏄剧ず棰滆壊鐨勮嚜瀹氫箟"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader1",
+			"Height":10.0013,
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Dock":"Fill",
+					"Title":"鑷畾涔夊浘琛ㄥ簭鍒楅鑹�",
+					"TitleFont":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"GroupCount":4,
+					"SeriesCount":3,
+					"BarWidthPercent":85,
+					"SeriesField":"ProductName",
+					"GroupField":"Region",
+					"GroupLabel":"涓�\r浜孿r涓塡r鍥�",
+					"SeriesLabel":"寮犱笁\r鏉庡洓\r鐜嬩簲",
+					"Value":"1000,1200,1500,800,1500,1800,2000,1200,800,1000,700,500",
+					"Recordset":{
+						"QuerySQL":"select c.Region, d.ProductID,p.ProductName,\r\nsum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join Products p on P.ProductID=D.ProductID) on \r\r\nm.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere d.ProductID in (1,10,11,21) and m.OrderDate between \r\r\n#1997/1/1# and #1997/12/31#\r\ngroup by c.Region,d.ProductID,p.ProductName\r\norder by d.ProductID,c.Region",
+						"Field":[
+							{
+								"Name":"Region"
+							},
+							{
+								"Name":"ProductID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"ProductName"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							}
+						]
+					},
+					"XAxis":{
+						"Label":"瀛e害",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"YValueField":"Amount",
+							"ValueFormat":"0.00,"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8h.grf b/public/grf/8h.grf
new file mode 100644
index 0000000..cd81302
--- /dev/null
+++ b/public/grf/8h.grf
@@ -0,0 +1,298 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"8h.鍥捐〃鍦ㄥ垎缁�-鏁版嵁鏉ヨ嚜鏄庣粏",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"灏嗗浘琛ㄥ畾涔夊湪鍒嗙粍涓紝鍥捐〃鏁版嵁鏉ヨ嚜鏄庣粏璁板綍闆�:\r\n1銆佽褰曡寖鍥翠负褰撳墠鍒嗙粍椤瑰搴旀槑缁嗚褰曘�俓r\n2銆佸浘琛ㄨ褰曢泦涓庢槑缁嗚褰曢泦鏍规嵁鍚屽悕瀛楁澶嶅埗鏁版嵁銆�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+			"QuerySQL":"select c.Region,c.City,c.CompanyName,t.CategoryName,sum(d.Quantity*d.UnitPrice) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails d inner join \r\n(Products p inner join Categories t on p.CategoryID=t.CategoryID)\r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997#\r\ngroup by c.Region,c.City,c.CompanyName,t.CategoryName\r\norder by c.Region,c.City,c.CompanyName,t.CategoryName",
+			"Field":[
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.98438
+			},
+			{
+				"Name":"CompanyName",
+				"Width":5.37104
+			},
+			{
+				"Name":"CategoryName",
+				"Width":4.60375
+			},
+			{
+				"Name":"Amount",
+				"Width":3.81
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍟嗗搧绫诲埆"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Width":5.60917,
+							"Height":0.79375,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":8.81062,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"After",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAmt",
+							"AlignColumn":"Amount",
+							"Left":11.9592,
+							"Width":3.78354,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"Chart",
+							"Name":"Chart1",
+							"BackColor":"E1FFFF",
+							"Dock":"Bottom",
+							"Top":1.00542,
+							"Height":7.80521,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Weight":400,
+								"Charset":134
+							},
+							"ValueFont":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Weight":400,
+								"Charset":134
+							},
+							"LegendValueVisible":true,
+							"LegendShowSum":true,
+							"LegendAtBottom":true,
+							"SeriesField":"CategoryName",
+							"GroupField":"City",
+							"Recordset":{
+								"Field":[
+									{
+										"Name":"City"
+									},
+									{
+										"Name":"CategoryName"
+									},
+									{
+										"Name":"Amount",
+										"Type":"Currency"
+									}
+								]
+							},
+							"XAxis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"YAxis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"Y2Axis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"ChartSeries":[
+								{
+									"YValueField":"Amount",
+									"ValueFormat":"#,##0.00",
+									"TooltipText":"[#ChartVar(SeriesLabel)#]:[#ChartVar(YVal)#]"
+								}
+							]
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"City",
+							"Width":1.95792,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight|DrawBottom]"
+							}
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"CompanyName",
+							"Left":1.98438,
+							"Width":5.34458,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							}
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"CategoryName",
+							"Left":7.35542,
+							"Width":4.57729,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"[#Region#]灏忚锛�"
+						}
+					]
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":1.45521,
+					"Top":0.396875,
+					"Width":13.0969,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥捐〃鍦ㄥ垎缁� - 鍥捐〃鏁版嵁鏉ヨ嚜鏄庣粏缃戞牸"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/8i.grf b/public/grf/8i.grf
new file mode 100644
index 0000000..8da175c
--- /dev/null
+++ b/public/grf/8i.grf
@@ -0,0 +1,305 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"8i.鍥捐〃鍦ㄥ垎缁�-鏁版嵁鏉ヨ嚜鏈韩鏁版嵁鍖�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"灏嗗浘琛ㄥ畾涔夊湪鍒嗙粍涓紝鍥捐〃鏁版嵁鏉ヨ嚜鏈韩鐨勬暟鎹寘銆俓r\n\r\n鍥捐〃浼氬湪鍒嗙粍涓娆℃樉绀虹敓鎴愶紝姣忔鐢熸垚鏍规嵁鍒嗙粍渚濇嵁瀛楁瀵瑰浘琛ㄨ褰曢泦鏁版嵁杩涜绛涢�夈�俓r\n\r\n鍥捐〃璁板綍闆嗕笂闇�瑕佸畾涔変笌鍒嗙粍渚濇嵁瀛楁鍚屽悕鐨勫瓧娈碉紝杩欐牱鎵嶈兘杩涜鏁版嵁绛涢�夛紝杩欐牱鎵嶈兘淇濊瘉姣忎釜鍒嗙粍椤逛笂鐨勫浘琛ㄦ槸鏄剧ず瀵瑰簲鐨勬暟鎹�俓r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"xml",
+	"QuerySQL":"8i-data.txt",
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"Field":[
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":2.77813
+			},
+			{
+				"Name":"CompanyName",
+				"Width":6.40292
+			},
+			{
+				"Name":"CategoryName",
+				"Width":5.00063
+			},
+			{
+				"Name":"Amount",
+				"Width":5.3975
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"CategoryName",
+					"DataField":"CategoryName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"E2EFF1",
+			"Height":0.582083,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":105000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CategoryName",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍟嗗搧绫诲埆"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閿�鍞噾棰�"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"ByFields":"Region",
+				"GroupHeader":{
+					"Height":0,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"Field2",
+							"Width":5.60917,
+							"Height":0.79375,
+							"DataField":"Region"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":9.2075,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"NewPage":"After",
+					"PrintGridBorder":false,
+					"Control":[
+						{
+							"Type":"Chart",
+							"Name":"Chart1",
+							"Dock":"Bottom",
+							"Top":1.19063,
+							"Height":8.01688,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Weight":400,
+								"Charset":134
+							},
+							"ValueFont":{
+								"Name":"瀹嬩綋",
+								"Size":105000,
+								"Weight":400,
+								"Charset":134
+							},
+							"LegendValueVisible":true,
+							"LegendShowSum":true,
+							"GroupCount":12,
+							"SeriesCount":1,
+							"GroupField":"_Month",
+							"GroupLabel":"1鏈圽r2鏈圽r3鏈圽r4鏈圽r5鏈圽r6鏈圽r7鏈圽r8鏈圽r9鏈圽r10鏈圽r11鏈圽r12鏈�",
+							"SeriesLabel":"~搴忓垪鏍囩0",
+							"Recordset":{
+								"Field":[
+									{
+										"Name":"Region"
+									},
+									{
+										"Name":"_Month",
+										"Type":"Integer",
+										"GetDisplayTextScript":"Sender.DisplayText = Sender.AsString + \"鏈圽";"
+									},
+									{
+										"Name":"CategoryName"
+									},
+									{
+										"Name":"Amount",
+										"Type":"Currency"
+									}
+								]
+							},
+							"XAxis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"YAxis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"Y2Axis":{
+								"TextFormat":"0.##",
+								"CoordLinePen":{
+									"Color":"FFC4C4"
+								}
+							},
+							"ChartSeries":[
+								{
+									"YValueField":"Amount",
+									"ValueFormat":"#,##0.00",
+									"TooltipText":"[#ChartVar(SeriesLabel)#]:[#ChartVar(YVal)#]"
+								}
+							]
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"City",
+							"Left":-0.0264583,
+							"Width":2.80458,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawLeft|DrawRight|DrawBottom]"
+							}
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"CompanyName",
+							"Left":2.80458,
+							"Width":6.40292,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							}
+						},
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox3",
+							"BackColor":"E1FFFF",
+							"AlignColumn":"CategoryName",
+							"Left":9.2075,
+							"Width":5.00063,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"[#Region#]灏忚锛�"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"sumAmt",
+							"AlignColumn":"Amount",
+							"Left":14.2081,
+							"Width":5.3975,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight|DrawBottom]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						}
+					]
+				}
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.37583,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":3.25438,
+					"Top":0.396875,
+					"Width":13.0969,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥捐〃鍦ㄥ垎缁� - 鍥捐〃鏁版嵁鏉ヨ嚜鏄庣粏缃戞牸"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/9a.grf b/public/grf/9a.grf
new file mode 100644
index 0000000..6828f1e
--- /dev/null
+++ b/public/grf/9a.grf
@@ -0,0 +1,520 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"9a.鑷敱琛ㄦ牸",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄨ嚜鐢辫〃鏍奸儴浠剁紪鍒惰嚜鐢辫〃鏍笺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"QuerySQL":"select * from Employees\r\nwhere EmployeeID=5",
+	"Printer":{
+		"BottomMargin":2.43417
+	},
+	"Parameter":[
+		{
+			"Name":"EmployeeID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"LastName"
+		},
+		{
+			"Name":"FirstName"
+		},
+		{
+			"Name":"Title"
+		},
+		{
+			"Name":"TitleOfCourtesy"
+		},
+		{
+			"Name":"BirthDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"HireDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"Address"
+		},
+		{
+			"Name":"City"
+		},
+		{
+			"Name":"Region"
+		},
+		{
+			"Name":"PostalCode"
+		},
+		{
+			"Name":"Country"
+		},
+		{
+			"Name":"HomePhone"
+		},
+		{
+			"Name":"Extension"
+		},
+		{
+			"Name":"ReportsTo",
+			"DataType":"Integer"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"Height":24.5,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.63021,
+					"Top":0.396875,
+					"Width":6.77333,
+					"Height":0.687917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":180000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"浜� 鍛� 鍩� 鏈� 鎯� 鍐� 琛�"
+				},
+				{
+					"Type":"FreeGrid",
+					"Name":"FreeGrid1",
+					"Left":0.211667,
+					"Top":1.19063,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					},
+					"ColumnCount":7,
+					"RowCount":8,
+					"FreeGridColumn":[
+						{
+							"index":1,
+							"Width":1.34938
+						},
+						{
+							"index":2,
+							"Width":1.85208
+						},
+						{
+							"index":3,
+							"Width":1.32292
+						},
+						{
+							"index":4,
+							"Width":3.25438
+						},
+						{
+							"index":5,
+							"Width":1.95792
+						},
+						{
+							"index":6,
+							"Width":2.77813
+						}
+					],
+					"FreeGridRow":[
+						{
+							"index":1,
+							"Height":0.95
+						},
+						{
+							"index":2,
+							"Height":0.95
+						},
+						{
+							"index":3,
+							"Height":0.95
+						},
+						{
+							"index":4,
+							"Height":0.95
+						},
+						{
+							"index":5,
+							"Height":0.95
+						},
+						{
+							"index":6,
+							"Height":0.95
+						},
+						{
+							"index":7,
+							"Height":0.635
+						},
+						{
+							"index":8,
+							"Height":16.6158
+						}
+					],
+					"FreeGridCell":[
+						{
+							"row":1,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"濮� 鍚�"
+						},
+						{
+							"row":1,
+							"col":2,
+							"Text":"[#{LastName}#][#{FirstName}#]"
+						},
+						{
+							"row":1,
+							"col":3,
+							"TextAlign":"MiddleCenter",
+							"Text":"鎬� 鍒�"
+						},
+						{
+							"row":1,
+							"col":4,
+							"Text":"[#{TitleOfCourtesy}#]"
+						},
+						{
+							"row":1,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍑虹敓鏃ユ湡"
+						},
+						{
+							"row":1,
+							"col":6,
+							"Text":"[#{BirthDate}#]"
+						},
+						{
+							"row":1,
+							"col":7,
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"PictureBox",
+									"Name":"photo",
+									"Dock":"Fill",
+									"SizeMode":"Stretch"
+								}
+							],
+							"RowSpan":4
+						},
+						{
+							"row":2,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"姘� 鏃�"
+						},
+						{
+							"row":2,
+							"col":3,
+							"TextAlign":"MiddleCenter",
+							"Text":"绫� 璐�"
+						},
+						{
+							"row":2,
+							"col":4,
+							"Text":"[#{City}#]"
+						},
+						{
+							"row":2,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍑� 鐢� 鍦�"
+						},
+						{
+							"row":2,
+							"col":6,
+							"Text":"[#{Address}#]"
+						},
+						{
+							"row":3,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍏� 鍏歕r\n鏃� 闂�"
+						},
+						{
+							"row":3,
+							"col":3,
+							"Text":"鍙傚姞宸r\n浣滄椂闂�"
+						},
+						{
+							"row":3,
+							"col":4,
+							"Text":"[#{HireDate}#]"
+						},
+						{
+							"row":4,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"涓撲笟鎶�\r\n鏈亴鍔�"
+						},
+						{
+							"row":4,
+							"col":2,
+							"Text":"[#{Title}#]",
+							"ColSpan":2
+						},
+						{
+							"row":5,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"瀛﹀巻\r\n瀛︿綅",
+							"RowSpan":2
+						},
+						{
+							"row":5,
+							"col":2,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍏ㄦ棩鍒禱r\n鏁欒偛"
+						},
+						{
+							"row":5,
+							"col":3,
+							"ColSpan":2
+						},
+						{
+							"row":5,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+						},
+						{
+							"row":5,
+							"col":6,
+							"ColSpan":2
+						},
+						{
+							"row":6,
+							"col":2,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍦ㄨ亴\r\n鏁欒偛"
+						},
+						{
+							"row":6,
+							"col":3,
+							"ColSpan":2
+						},
+						{
+							"row":6,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+						},
+						{
+							"row":6,
+							"col":6,
+							"ColSpan":2
+						},
+						{
+							"row":7,
+							"col":1,
+							"Text":"鐜�  浠�  鑱�  鍔�",
+							"ColSpan":2
+						},
+						{
+							"row":7,
+							"col":3,
+							"ColSpan":5
+						},
+						{
+							"row":8,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"绠�\r\n\r\n\r\n\r\n\r\n\r\n\r\n鍘�"
+						},
+						{
+							"row":8,
+							"col":2,
+							"ColSpan":6
+						}
+					]
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader4",
+			"Height":24.5,
+			"Control":[
+				{
+					"Type":"FreeGrid",
+					"Name":"FreeGrid2",
+					"Left":0.264583,
+					"Top":0.238125,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					},
+					"ColumnCount":6,
+					"RowCount":12,
+					"FreeGridColumn":[
+						{
+							"index":1,
+							"Width":1.34938
+						},
+						{
+							"index":2,
+							"Width":2
+						},
+						{
+							"index":3,
+							"Width":2
+						},
+						{
+							"index":4,
+							"Width":2
+						},
+						{
+							"index":5,
+							"Width":2
+						},
+						{
+							"index":6,
+							"Width":6.05896
+						}
+					],
+					"FreeGridRow":[
+						{
+							"index":1,
+							"Height":2.30188
+						},
+						{
+							"index":2,
+							"Height":2.24896
+						},
+						{
+							"index":3,
+							"Height":1.16417
+						},
+						{
+							"index":4,
+							"Height":1
+						},
+						{
+							"index":5,
+							"Height":1
+						},
+						{
+							"index":6,
+							"Height":1
+						},
+						{
+							"index":7,
+							"Height":1
+						},
+						{
+							"index":8,
+							"Height":1
+						},
+						{
+							"index":9,
+							"Height":1
+						},
+						{
+							"index":10,
+							"Height":1
+						},
+						{
+							"index":11,
+							"Height":5.5
+						},
+						{
+							"index":12,
+							"Height":5.5
+						}
+					],
+					"FreeGridCell":[
+						{
+							"row":1,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"濂朶r\n鎯‐r\n鎯匼r\n鍐�"
+						},
+						{
+							"row":1,
+							"col":2,
+							"ColSpan":5
+						},
+						{
+							"row":2,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"骞� 鏍竆r\n搴� 缁揬r\n鑰� 鏋�"
+						},
+						{
+							"row":2,
+							"col":2,
+							"ColSpan":5
+						},
+						{
+							"row":3,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"瀹禱r\n搴璡r\n涓籠r\n瑕乗r\n鎴怽r\n鍛榎r\n鍙奬r\n閲峔r\n瑕乗r\n绀綷r\n浼歕r\n鍏砛r\n绯�",
+							"RowSpan":8
+						},
+						{
+							"row":3,
+							"col":2,
+							"Text":"绉� 璋�"
+						},
+						{
+							"row":3,
+							"col":3,
+							"Text":"濮�  鍚�"
+						},
+						{
+							"row":3,
+							"col":4,
+							"Text":"骞� 榫�"
+						},
+						{
+							"row":3,
+							"col":5,
+							"Text":"鏀� 娌籠r\n闈� 璨�"
+						},
+						{
+							"row":3,
+							"col":6,
+							"Text":"宸� 浣� 鍗� 浣� 鍙� 鑱� 鍔�"
+						},
+						{
+							"row":11,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"鏌ユ。\r\n璁板綍"
+						},
+						{
+							"row":11,
+							"col":2,
+							"ColSpan":6
+						},
+						{
+							"row":12,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"澶嘰r\n\r\n\r\n娉�"
+						},
+						{
+							"row":12,
+							"col":2,
+							"ColSpan":6
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/9b.grf b/public/grf/9b.grf
new file mode 100644
index 0000000..0ca8716
--- /dev/null
+++ b/public/grf/9b.grf
@@ -0,0 +1,615 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"9b.鑷敱琛ㄦ牸骞舵槑缁嗙綉鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢ㄨ嚜鐢辫〃鏍奸儴浠剁紪鍒惰嚜鐢辫〃鏍笺��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"QuerySQL":"select * from Employees\r\nwhere EmployeeID=8",
+	"Printer":{
+		"BottomMargin":2.43417
+	},
+	"DetailGrid":{
+		"Border":{
+			"Styles":"[DrawLeft|DrawRight|DrawBottom]",
+			"Pen":{
+				"Width":2
+			}
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select * from Employees\r\nwhere EmployeeID<8\r\norder by EmployeeID",
+			"Field":[
+				{
+					"Name":"EmployeeID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"LastName"
+				},
+				{
+					"Name":"FirstName"
+				},
+				{
+					"Name":"Title"
+				},
+				{
+					"Name":"TitleOfCourtesy"
+				},
+				{
+					"Name":"BirthDate",
+					"Type":"DateTime",
+					"Format":"yy/MM/dd"
+				},
+				{
+					"Name":"HireDate",
+					"Type":"DateTime"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"HomePhone"
+				},
+				{
+					"Name":"Extension"
+				},
+				{
+					"Name":"Photo",
+					"Type":"Binary"
+				},
+				{
+					"Name":"Notes"
+				},
+				{
+					"Name":"ReportsTo",
+					"Type":"Integer"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Column1",
+				"Width":1.34938
+			},
+			{
+				"Name":"Column2",
+				"Width":1.79917
+			},
+			{
+				"Name":"Column3",
+				"Width":1.98438
+			},
+			{
+				"Name":"Column4",
+				"Width":2.01083
+			},
+			{
+				"Name":"Column5",
+				"Width":2.54
+			},
+			{
+				"Name":"Column6",
+				"Width":5.9
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"Column1",
+					"FreeCell":true,
+					"CanGrow":true,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox7",
+							"Dock":"Fill",
+							"CanGrow":true,
+							"TextAlign":"MiddleCenter",
+							"Text":"瀹禱r\n搴璡r\n涓籠r\n瑕乗r\n鎴怽r\n鍛榎r\n鍙奬r\n閲峔r\n瑕乗r\n绀綷r\n浼歕r\n鍏砛r\n绯�"
+						}
+					]
+				},
+				{
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"DataField":"TitleOfCourtesy"
+				},
+				{
+					"Column":"Column3",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox1",
+							"Dock":"Fill",
+							"Text":"[#LastName#][#FirstName#]"
+						}
+					]
+				},
+				{
+					"Column":"Column4",
+					"DataField":"BirthDate"
+				},
+				{
+					"Column":"Column5",
+					"DataField":"Title"
+				},
+				{
+					"Column":"Column6",
+					"DataField":"Address"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0,
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column1"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column2"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column3",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column3"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column4",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column4"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column5",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column5"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column6",
+					"TextAlign":"MiddleCenter",
+					"Text":"Column6"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group2",
+				"GroupHeader":{
+					"Height":0.635,
+					"OccupyColumn":true,
+					"OccupiedColumns":"Column1",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"Height":0
+				}
+			},
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":1.00542,
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"AlignColumn":"Column2",
+							"Left":1.34938,
+							"Width":1.79917,
+							"Height":1.00542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"绉� 璋�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox3",
+							"AlignColumn":"Column3",
+							"Left":3.14854,
+							"Width":1.98438,
+							"Height":1.00542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"濮�  鍚�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox4",
+							"AlignColumn":"Column4",
+							"Left":5.13292,
+							"Width":2.01083,
+							"Height":1.00542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"骞� 榫�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"AlignColumn":"Column5",
+							"Left":7.14375,
+							"Width":2.54,
+							"Height":1.00542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"鏀� 娌籠r\n闈� 璨�"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"AlignColumn":"Column6",
+							"Left":9.68375,
+							"Width":5.90021,
+							"Height":1.00542,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"宸� 浣� 鍗� 浣� 鍙� 鑱� 鍔�"
+						}
+					]
+				},
+				"GroupFooter":{
+					"Height":0
+				}
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"EmployeeID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"LastName"
+		},
+		{
+			"Name":"FirstName"
+		},
+		{
+			"Name":"Title"
+		},
+		{
+			"Name":"TitleOfCourtesy"
+		},
+		{
+			"Name":"BirthDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"HireDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"Address"
+		},
+		{
+			"Name":"City"
+		},
+		{
+			"Name":"Region"
+		},
+		{
+			"Name":"PostalCode"
+		},
+		{
+			"Name":"Country"
+		},
+		{
+			"Name":"HomePhone"
+		},
+		{
+			"Name":"Extension"
+		},
+		{
+			"Name":"ReportsTo",
+			"DataType":"Integer"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"Height":7.80521,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.63021,
+					"Top":0.396875,
+					"Width":6.77333,
+					"Height":0.687917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":180000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"浜� 鍛� 鍩� 鏈� 鎯� 鍐� 琛�"
+				},
+				{
+					"Type":"FreeGrid",
+					"Name":"FreeGrid1",
+					"Top":1.29646,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]",
+						"Pen":{
+							"Width":2
+						}
+					},
+					"ColumnCount":7,
+					"RowCount":7,
+					"FreeGridColumn":[
+						{
+							"index":1,
+							"Width":1.34938
+						},
+						{
+							"index":2,
+							"Width":1.85208
+						},
+						{
+							"index":3,
+							"Width":1.32292
+						},
+						{
+							"index":4,
+							"Width":3.25438
+						},
+						{
+							"index":5,
+							"Width":1.95792
+						},
+						{
+							"index":6,
+							"Width":2.77813
+						},
+						{
+							"index":7,
+							"Width":3.06917
+						}
+					],
+					"FreeGridRow":[
+						{
+							"index":1,
+							"Height":0.95
+						},
+						{
+							"index":2,
+							"Height":0.95
+						},
+						{
+							"index":3,
+							"Height":0.95
+						},
+						{
+							"index":4,
+							"Height":0.95
+						},
+						{
+							"index":5,
+							"Height":0.95
+						},
+						{
+							"index":6,
+							"Height":0.95
+						},
+						{
+							"index":7,
+							"Height":0.767292
+						}
+					],
+					"FreeGridCell":[
+						{
+							"row":1,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"濮� 鍚�"
+						},
+						{
+							"row":1,
+							"col":2,
+							"Text":"[#{LastName}#][#{FirstName}#]"
+						},
+						{
+							"row":1,
+							"col":3,
+							"TextAlign":"MiddleCenter",
+							"Text":"鎬� 鍒�"
+						},
+						{
+							"row":1,
+							"col":4,
+							"Text":"[#{TitleOfCourtesy}#]"
+						},
+						{
+							"row":1,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍑虹敓鏃ユ湡"
+						},
+						{
+							"row":1,
+							"col":6,
+							"Text":"[#{BirthDate}#]"
+						},
+						{
+							"row":1,
+							"col":7,
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"PictureBox",
+									"Name":"photo",
+									"Dock":"Fill",
+									"SizeMode":"Stretch"
+								}
+							],
+							"RowSpan":4
+						},
+						{
+							"row":2,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"姘� 鏃�"
+						},
+						{
+							"row":2,
+							"col":3,
+							"TextAlign":"MiddleCenter",
+							"Text":"绫� 璐�"
+						},
+						{
+							"row":2,
+							"col":4,
+							"Text":"[#{City}#]"
+						},
+						{
+							"row":2,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍑� 鐢� 鍦�"
+						},
+						{
+							"row":2,
+							"col":6,
+							"Text":"[#{Address}#]"
+						},
+						{
+							"row":3,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍏� 鍏歕r\n鏃� 闂�"
+						},
+						{
+							"row":3,
+							"col":3,
+							"Text":"鍙傚姞宸r\n浣滄椂闂�"
+						},
+						{
+							"row":3,
+							"col":4,
+							"Text":"[#{HireDate}#]"
+						},
+						{
+							"row":4,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"涓撲笟鎶�\r\n鏈亴鍔�"
+						},
+						{
+							"row":4,
+							"col":2,
+							"Text":"[#{Title}#]",
+							"ColSpan":2
+						},
+						{
+							"row":5,
+							"col":1,
+							"TextAlign":"MiddleCenter",
+							"Text":"瀛﹀巻\r\n瀛︿綅",
+							"RowSpan":2
+						},
+						{
+							"row":5,
+							"col":2,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍏ㄦ棩鍒禱r\n鏁欒偛"
+						},
+						{
+							"row":5,
+							"col":3,
+							"ColSpan":2
+						},
+						{
+							"row":5,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+						},
+						{
+							"row":5,
+							"col":6,
+							"ColSpan":2
+						},
+						{
+							"row":6,
+							"col":2,
+							"TextAlign":"MiddleCenter",
+							"Text":"鍦ㄨ亴\r\n鏁欒偛"
+						},
+						{
+							"row":6,
+							"col":3,
+							"ColSpan":2
+						},
+						{
+							"row":6,
+							"col":5,
+							"TextAlign":"MiddleCenter",
+							"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+						},
+						{
+							"row":6,
+							"col":6,
+							"ColSpan":2
+						},
+						{
+							"row":7,
+							"col":1,
+							"Text":"鐜�  浠�  鑱�  鍔�",
+							"BorderCustom":true,
+							"ColSpan":2
+						},
+						{
+							"row":7,
+							"col":3,
+							"BorderCustom":true,
+							"Border":{
+								"Styles":"[DrawBottom]"
+							},
+							"ColSpan":5
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/9x.grf b/public/grf/9x.grf
new file mode 100644
index 0000000..86a404d
--- /dev/null
+++ b/public/grf/9x.grf
@@ -0,0 +1,1172 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"9a.鑷敱琛ㄦ牸",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鑷敱琛ㄦ牸锛歕r\n1銆佺敤閮ㄤ欢妗嗙殑杈规鎷煎噾鍑鸿〃鏍肩殑琛ㄦ牸绾裤�俓r\n2銆佷负浜嗕究浜庡湪璁捐鏃跺療鐪嬭璁℃晥鏋滐紝寤鸿灏嗘枃瀛楁鐨勬樉绀洪『搴忕疆浜庡簳灞傘�俓r\n3銆佸姩鎬佹暟鎹棦鍙互鐢ㄤ唬鐮佽缃紝涔熷彲浠ュ湪鎶ヨ〃涓诲璞′笂璁剧疆鏌ヨSQL锛屾姤琛ㄥ皢鎶婂瓧娈靛�间紶閫掔粰鍚屽悕鍙傛暟鎴栭儴浠舵銆俓r\n4銆佹湁鍏虫洿澶氬姩鎬佹暟鎹殑璇存槑璇峰弬鑰冨府鍔╀腑鐨勨�滃紑鍙戞寚鍗�->鎶ヨ〃鍔ㄦ�佹暟鎹�濋儴鍒嗐�俓r\n5銆乄EB鎶ヨ〃XML鏁版嵁璇峰弬鑰冨府鍔╀腑鈥滄姤琛ㄦ彃浠�(WEB鎶ヨ〃)->鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� 鑷敱琛ㄦ牸鏁版嵁渚嬪瓙娓呭弬鑰冿細Misc\\FreeTableData銆丳rintCheck\\PrintCheck.htm銆丳rintCheck\\PrintCheckDataFromServer.htm銆俓r\n\r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=..\\Data\\Northwind.mdb",
+	"QuerySQL":"select * from Employees\r\nwhere EmployeeID=5",
+	"Printer":{
+		"BottomMargin":2.43417
+	},
+	"Parameter":[
+		{
+			"Name":"EmployeeID",
+			"DataType":"Integer"
+		},
+		{
+			"Name":"LastName"
+		},
+		{
+			"Name":"FirstName"
+		},
+		{
+			"Name":"Title"
+		},
+		{
+			"Name":"TitleOfCourtesy"
+		},
+		{
+			"Name":"BirthDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"HireDate",
+			"DataType":"DateTime",
+			"Format":"yyyy骞碝M鏈坉d鏃�"
+		},
+		{
+			"Name":"Address"
+		},
+		{
+			"Name":"City"
+		},
+		{
+			"Name":"Region"
+		},
+		{
+			"Name":"PostalCode"
+		},
+		{
+			"Name":"Country"
+		},
+		{
+			"Name":"HomePhone"
+		},
+		{
+			"Name":"Extension"
+		},
+		{
+			"Name":"ReportsTo",
+			"DataType":"Integer"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader2",
+			"Height":1.32292,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":4.63021,
+					"Top":0.396875,
+					"Width":6.77333,
+					"Height":0.687917,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":180000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"浜� 鍛� 鍩� 鏈� 鎯� 鍐� 琛�"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader1",
+			"Height":23.204,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"sbBorder",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.584,
+					"Height":22.7806,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"Notes",
+					"Left":1.5875,
+					"Top":7.19667,
+					"Width":14.2081,
+					"Height":15.7956,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"CharSpacing":2,
+					"LnSpacing":5
+				},
+				{
+					"Type":"PictureBox",
+					"Name":"photo",
+					"Left":12.8058,
+					"Top":0.211667,
+					"Width":2.98979,
+					"Height":3.99521,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"SizeMode":"Stretch"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox18",
+					"Left":0.211667,
+					"Top":7.19667,
+					"Width":1.37583,
+					"Height":15.7956,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绠�\r\n\r\n\r\n\r\n\r\n\r\n\r\n鍘�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox17",
+					"Left":0.211667,
+					"Top":6.19125,
+					"Width":3.20146,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鐜�  浠�  鑱�  鍔�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox16",
+					"Left":7.99042,
+					"Top":5.21229,
+					"Width":2.01083,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox15",
+					"Left":7.99042,
+					"Top":4.20688,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"姣曚笟闄㈡牎\r\n绯诲強涓撲笟"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox13",
+					"Left":1.5875,
+					"Top":4.20688,
+					"Width":1.82563,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏ㄦ棩鍒禱r\n鏁欒偛"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox14",
+					"Left":1.5875,
+					"Top":5.21229,
+					"Width":1.82563,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍦ㄨ亴\r\n鏁欒偛"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox12",
+					"Left":0.211667,
+					"Top":4.20688,
+					"Width":1.37583,
+					"Height":1.98438,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀛﹀巻\r\n瀛︿綅"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox10",
+					"Left":7.99042,
+					"Top":1.19063,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍑� 鐢� 鍦�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox9",
+					"Left":7.99042,
+					"Top":0.211667,
+					"Width":2.01083,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍑虹敓骞存湀"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox8",
+					"Left":3.41313,
+					"Top":2.19604,
+					"Width":1.37583,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍙傚姞宸r\n浣滄椂闂�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":3.41313,
+					"Top":1.19063,
+					"Width":1.37583,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绫� 璐�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox6",
+					"Left":3.41313,
+					"Top":0.211667,
+					"Width":1.37583,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎬� 鍒�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox5",
+					"Left":0.211667,
+					"Top":3.20146,
+					"Width":1.37583,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"涓撲笟鎶�\r\n鏈亴鍔�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox4",
+					"Left":0.211667,
+					"Top":2.19604,
+					"Width":1.37583,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏� 鍏歕r\n鏃� 闂�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":0.211667,
+					"Top":1.19063,
+					"Width":1.37583,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"姘� 鏃�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox30",
+					"Left":1.5875,
+					"Top":1.19063,
+					"Width":1.82563,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox31",
+					"Left":1.5875,
+					"Top":2.19604,
+					"Width":1.82563,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox32",
+					"Left":4.78896,
+					"Top":0.211667,
+					"Width":3.20146,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"Title"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox33",
+					"Left":4.78896,
+					"Top":1.19063,
+					"Width":3.20146,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"City"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox34",
+					"Left":4.78896,
+					"Top":2.19604,
+					"Width":3.20146,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"HireDate"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox35",
+					"Left":1.5875,
+					"Top":3.20146,
+					"Width":3.20146,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"Title"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox36",
+					"Left":4.78896,
+					"Top":3.20146,
+					"Width":3.20146,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox37",
+					"Left":10.0013,
+					"Top":0.211667,
+					"Width":2.80458,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"BirthDate"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox38",
+					"Left":10.0013,
+					"Top":1.19063,
+					"Width":2.80458,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"Address"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox39",
+					"Left":10.0013,
+					"Top":2.19604,
+					"Width":2.80458,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox40",
+					"Left":7.99042,
+					"Top":3.20146,
+					"Width":4.81542,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox41",
+					"Left":3.41313,
+					"Top":4.20688,
+					"Width":4.57729,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Parameter":"Region"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox42",
+					"Left":3.41313,
+					"Top":5.21229,
+					"Width":4.57729,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox43",
+					"Left":10.0013,
+					"Top":4.20688,
+					"Width":5.79438,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox44",
+					"Left":10.0013,
+					"Top":5.21229,
+					"Width":5.79438,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox45",
+					"Left":3.41313,
+					"Top":6.19125,
+					"Width":12.3825,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox46",
+					"Left":7.99042,
+					"Top":2.19604,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"Left":1.5875,
+					"Top":0.211667,
+					"Width":1.82563,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"Text":"[#LastName#][#FirstName#]"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":1.37583,
+					"Height":0.978958,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"濮� 鍚�"
+				}
+			]
+		},
+		{
+			"Name":"ReportHeader3",
+			"Height":24.5,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"sbBorder2",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":15.584,
+					"Height":23.9977,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox28",
+					"Left":0.211667,
+					"Top":18.8119,
+					"Width":1.37583,
+					"Height":5.3975,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"澶嘰r\n\r\n\r\n娉�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox27",
+					"Left":0.211667,
+					"Top":13.3879,
+					"Width":1.37583,
+					"Height":5.42396,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏌ユ。\r\n璁板綍"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox26",
+					"Left":9.60438,
+					"Top":5.3975,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"宸� 浣� 鍗� 浣� 鍙� 鑱� 鍔�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox25",
+					"Left":7.59354,
+					"Top":5.3975,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏀� 娌籠r\n闈� 璨�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox24",
+					"Left":5.60917,
+					"Top":5.3975,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"骞� 榫�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox23",
+					"Left":3.59833,
+					"Top":5.3975,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"濮�  鍚�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox22",
+					"Left":1.5875,
+					"Top":5.3975,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"绉� 璋�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox21",
+					"Left":0.211667,
+					"Top":5.3975,
+					"Width":1.37583,
+					"Height":7.99042,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹禱r\n搴璡r\n涓籠r\n瑕乗r\n鎴怽r\n鍛榎r\n鍙奬r\n閲峔r\n瑕乗r\n绀綷r\n浼歕r\n鍏砛r\n绯�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox20",
+					"Left":0.211667,
+					"Top":2.80458,
+					"Width":1.37583,
+					"Height":2.59292,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"骞� 鏍竆r\n搴� 缁揬r\n鑰� 鏋�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox19",
+					"Left":0.211667,
+					"Top":0.211667,
+					"Width":1.37583,
+					"Height":2.59292,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"濂朶r\n鎯‐r\n鎯匼r\n鍐�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"Left":1.5875,
+					"Top":0.211667,
+					"Width":14.2081,
+					"Height":2.59292,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"Left":1.5875,
+					"Top":2.80458,
+					"Width":14.2081,
+					"Height":2.59292,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox47",
+					"Left":1.5875,
+					"Top":6.40292,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox48",
+					"Left":1.5875,
+					"Top":7.40833,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox49",
+					"Left":1.5875,
+					"Top":8.38729,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox50",
+					"Left":1.5875,
+					"Top":9.39271,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox51",
+					"Left":1.5875,
+					"Top":10.3981,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox52",
+					"Left":1.5875,
+					"Top":11.4035,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox53",
+					"Left":1.5875,
+					"Top":12.409,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox54",
+					"Left":3.59833,
+					"Top":6.40292,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox55",
+					"Left":3.59833,
+					"Top":7.40833,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox56",
+					"Left":3.59833,
+					"Top":8.38729,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox57",
+					"Left":3.59833,
+					"Top":9.39271,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox58",
+					"Left":3.59833,
+					"Top":10.3981,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox59",
+					"Left":3.59833,
+					"Top":11.4035,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox60",
+					"Left":3.59833,
+					"Top":12.409,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox61",
+					"Left":5.60917,
+					"Top":6.40292,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox62",
+					"Left":5.60917,
+					"Top":7.40833,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox63",
+					"Left":5.60917,
+					"Top":8.38729,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox64",
+					"Left":5.60917,
+					"Top":9.39271,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox65",
+					"Left":5.60917,
+					"Top":10.3981,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox66",
+					"Left":5.60917,
+					"Top":11.4035,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox67",
+					"Left":5.60917,
+					"Top":12.409,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox68",
+					"Left":7.59354,
+					"Top":6.40292,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox69",
+					"Left":7.59354,
+					"Top":7.40833,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox70",
+					"Left":7.59354,
+					"Top":8.38729,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox71",
+					"Left":7.59354,
+					"Top":9.39271,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox72",
+					"Left":7.59354,
+					"Top":10.3981,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox73",
+					"Left":7.59354,
+					"Top":11.4035,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox74",
+					"Left":7.59354,
+					"Top":12.409,
+					"Width":2.01083,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox75",
+					"Left":9.60438,
+					"Top":6.40292,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox76",
+					"Left":9.60438,
+					"Top":7.40833,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox77",
+					"Left":9.60438,
+					"Top":8.38729,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox78",
+					"Left":9.60438,
+					"Top":9.39271,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox79",
+					"Left":9.60438,
+					"Top":10.3981,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox80",
+					"Left":9.60438,
+					"Top":11.4035,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox81",
+					"Left":9.60438,
+					"Top":12.409,
+					"Width":6.19125,
+					"Height":1.00542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"Left":1.5875,
+					"Top":13.3879,
+					"Width":14.2081,
+					"Height":5.42396,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight]"
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"Left":1.5875,
+					"Top":18.8119,
+					"Width":14.2081,
+					"Height":5.3975,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"WordWrap":true,
+					"TextAlign":"TopLeft",
+					"Text":"[#comment#]"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/SummaryToDetail/ChartBar.grf b/public/grf/SummaryToDetail/ChartBar.grf
new file mode 100644
index 0000000..c6d8f51
--- /dev/null
+++ b/public/grf/SummaryToDetail/ChartBar.grf
@@ -0,0 +1,114 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"1a.绠�鍗曡〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":12.0121,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":142500,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"Chart",
+					"Name":"Chart1",
+					"Dock":"Fill",
+					"PaddingLeft":4,
+					"PaddingRight":4,
+					"PaddingTop":4,
+					"PaddingBottom":4,
+					"Title":"鎸夊煄甯備笌浜у搧绫诲埆缁熻閿�鍞",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TitleFont":{
+						"Name":"寰蒋闆呴粦",
+						"Size":157500,
+						"Bold":true,
+						"Charset":134
+					},
+					"ValueFont":{
+						"Name":"骞煎渾",
+						"Size":105000,
+						"Weight":400,
+						"Charset":134
+					},
+					"LegendValueVisible":true,
+					"LegendShowSum":true,
+					"GroupCount":1,
+					"SeriesCount":1,
+					"BarWidthPercent":85,
+					"SeriesField":"CategoryName",
+					"GroupField":"City",
+					"Recordset":{
+						"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+						"QuerySQL":"select p.CategoryID,t.CategoryName, c.City, sum(d.UnitPrice*d.Quantity) as Amount\r\nfrom (Orders m inner join \r\n(OrderDetails as d inner join (Products p inner join Categories t on p.CategoryID=t.CategoryID)\r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997#\r\ngroup by p.CategoryID,t.CategoryName, c.City\r\norder by c.City,t.CategoryName",
+						"Field":[
+							{
+								"Name":"CategoryID",
+								"Type":"Integer"
+							},
+							{
+								"Name":"CategoryName"
+							},
+							{
+								"Name":"City"
+							},
+							{
+								"Name":"Amount",
+								"Type":"Currency"
+							}
+						]
+					},
+					"XAxis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"YAxis":{
+						"Label":"閿�鍞",
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFFF00"
+						}
+					},
+					"Y2Axis":{
+						"TextFormat":"0.##",
+						"CoordLinePen":{
+							"Color":"FFC4C4"
+						}
+					},
+					"ChartSeries":[
+						{
+							"YValueField":"Amount",
+							"ValueFormat":"0.00,",
+							"LabelText":"[#ChartVar(YVal):#,##0.00#]",
+							"LabelInBar":true,
+							"TooltipText":"[#ChartVar(SeriesLabel)#]:[#ChartVar(YVal)#]"
+						}
+					]
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/SummaryToDetail/Crosstab.grf b/public/grf/SummaryToDetail/Crosstab.grf
new file mode 100644
index 0000000..7eb5e47
--- /dev/null
+++ b/public/grf/SummaryToDetail/Crosstab.grf
@@ -0,0 +1,393 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"3m.浜ゅ弶琛ㄦí鍚戝皬璁�(1)",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Size":8,
+		"Width":29.7,
+		"Height":42,
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"TopMargin":1.5,
+		"RightMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPageRFC",
+		"ColLine":{
+			"Color":"646F71"
+		},
+		"RowLine":{
+			"Color":"646F71"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select p.CategoryID,t.CategoryName, p.ProductID,p.ProductName,c.City,c.CompanyName,d.Quantity\r\nfrom (Orders m inner join \r\n(OrderDetails as d inner join \r\n(Products p inner join Categories t on p.CategoryID=t.CategoryID)\r\non P.ProductID=D.ProductID) on m.OrderId=d.OrderId)\r\nleft join Customers c on c.CustomerID=m.CustomerID\r\nwhere m.OrderDate between #1/1/1997# and #12/31/1997#\r\norder by t.CategoryName,p.ProductName,c.City,c.CompanyName",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Integer",
+					"Format":"0.#########;;#"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"City",
+				"Width":1.69333
+			},
+			{
+				"Name":"CompanyName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Data",
+				"Width":1.40229
+			},
+			{
+				"Name":"Subtotal",
+				"Width":1.69333
+			},
+			{
+				"Name":"Total",
+				"Width":1.71979
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"ColumnContentCell":[
+				{
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"DataField":"City"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Data",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Subtotal",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"BackColor":"EFE7C2",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity"
+						}
+					]
+				},
+				{
+					"Column":"Total",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":1.37583,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":true,
+					"Name":"Column1",
+					"ColumnTitleCell":[
+						{
+							"GroupTitle":false,
+							"Column":"Data",
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"FieldBox",
+									"Name":"FieldBox1",
+									"Dock":"Fill",
+									"TextAlign":"MiddleCenter",
+									"DataField":"ProductName"
+								}
+							]
+						}
+					],
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox2",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"CategoryName"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Subtotal",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox5",
+							"BackColor":"EFE7C2",
+							"BackStyle":"Normal",
+							"Dock":"Fill",
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"灏忚\r\n[#CategoryName#]"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Total",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"TotalGroup",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"FFCCFF",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox2",
+							"BackColor":"ECEBD5",
+							"AlignColumnEx":"CompanyName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"SubGroup",
+				"ByFields":"City",
+				"GroupHeader":{
+					"Height":0.608542,
+					"OccupyColumn":true,
+					"IncludeFooter":true,
+					"OccupiedColumns":"City",
+					"VAlign":"Middle"
+				},
+				"GroupFooter":{
+					"BackColor":"FFFFCC",
+					"Height":0.79375,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox1",
+							"BackColor":"ECEBD5",
+							"AlignColumnEx":"CompanyName",
+							"Left":1.69333,
+							"Width":2.67229,
+							"Height":0.79375,
+							"Border":{
+								"Styles":"[DrawRight]"
+							},
+							"TextAlign":"MiddleRight",
+							"Text":"灏忚"
+						}
+					]
+				}
+			}
+		],
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"CategoryID;ProductID",
+			"VCrossFields":"City;CompanyName",
+			"ListCols":2,
+			"TotalCols":1,
+			"SubtotalCols":1
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":25.1354,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"瀹嬩綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":38.9467,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":36.1421,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":16.1131,
+					"Top":0.582083,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸夊鎴蜂笌浜у搧浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":15.0813,
+					"Top":1.16417,
+					"Width":8.81062,
+					"Height":0.608542,
+					"Font":{
+						"Name":"妤蜂綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍓爣棰�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"MsgTextBox",
+					"Anchor":"[Top|Right]",
+					"Dock":"Top",
+					"Height":0.608542,
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"Text":"绀轰緥浜ゅ弶琛ㄧ┛閫忥紝鍙屽嚮琛ㄦ牸鍗曞厓鏍兼墦寮�瀵瑰簲鐨勬槑缁嗘姤琛�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/SummaryToDetail/Crosstab_Period.grf b/public/grf/SummaryToDetail/Crosstab_Period.grf
new file mode 100644
index 0000000..6c16dc3
--- /dev/null
+++ b/public/grf/SummaryToDetail/Crosstab_Period.grf
@@ -0,0 +1,243 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"鎸夊崟缁熻閿�鍞槑缁嗘姤琛�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"IsCrossTab":true,
+		"FixCols":2,
+		"PrintAdaptMethod":"ToNewPage",
+		"ColLine":{
+			"Color":"696969"
+		},
+		"RowLine":{
+			"Color":"696969"
+		},
+		"Recordset":{
+			"ConnectionString":"Provider=SQLOLEDB.1;\r\nPersist Security Info=True;\r\nData Source=;\r\nInitial Catalog=gridreport;\r\nUser ID=sa;\r\nPassword=;",
+			"QuerySQL":"select d.ProductID,p.ProductName,m.OrderDate,d.UnitPrice*d.Quantity*(1-d.Discount) as Amount\r\nfrom (Orders m inner join OrderDetails as d on m.OrderId=d.OrderId)\r\nleft join Products p on d.ProductID=p.ProductID\r\nwhere m.OrderDate between '1/1/1997' and '12/31/1997'\r\norder by p.ProductName, m.OrderDate",
+			"Field":[
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"MM鏈�"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Currency",
+					"Format":"#,##0.00;;#"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"ProductID",
+					"Type":"Integer"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerName",
+				"Width":2.67229
+			},
+			{
+				"Name":"Amount",
+				"Width":1.74625
+			},
+			{
+				"Name":"Column1",
+				"Width":2.14313
+			}
+		],
+		"ColumnContent":{
+			"Height":0.608542,
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				},
+				{
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerName",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"FieldBox",
+							"Name":"FieldBox1",
+							"Dock":"Fill",
+							"TextAlign":"MiddleCenter",
+							"DataField":"OrderDate"
+						}
+					]
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"BackColor":"E1FFFF",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堣"
+				}
+			]
+		},
+		"CrossTab":{
+			"PercentFormat":"0.##%",
+			"HCrossFields":"OrderDate",
+			"VCrossFields":"ProductName",
+			"TotalCols":1,
+			"HCrossPeriodType":"Month",
+			"BeginDateParameter":"CrossBeginDate",
+			"EndDateParameter":"CrossEndDate"
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":10.9008,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":24.7121,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox4",
+				"Anchor":"[Top|Right]",
+				"Left":21.9075,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"Parameter":[
+		{
+			"Name":"Comment",
+			"Value":"婕旂ず鎸夋棩浜ゅ弶琛ㄣ�俓r\n\r\n鎸夋湡闂翠氦鍙夋姤琛ㄥ氨鏄寜鏃堕棿娈靛鏁版嵁杩涜褰掔被姹囨�诲苟杩涜浜ゅ弶灞曠幇鐨勬姤琛紝渚嬪甯歌鐨勫悇绉嶆棩鎶ヨ〃鏈堟姤琛ㄧ瓑銆傝璁℃寜鏈熼棿浜ゅ弶鎶ヨ〃锛岃纭畾鏃ユ湡鏈熼棿绫诲瀷锛屽苟纭畾鏁翠釜鏁版嵁鐨勬棩鏈熻寖鍥淬�傚湪鐢熸垚鎶ヨ〃鏃讹紝灏嗘牴鎹湡闂寸被鍨嬫妸鏁翠釜鏃ユ湡鑼冨洿鍒掑垎涓轰竴涓釜鐨勬湡闂存銆俓r\n\r\n鍦ㄨ繘琛屼簡浜ゅ弶琛ㄧ殑鍩烘湰璁剧疆涔嬪悗锛屾寜鏈熼棿浜ゅ弶鎶ヨ〃杩橀渶瑕佽繘琛屼互涓嬫柟闈㈢殑璁剧疆锛歕r\n1銆佷氦鍙夎〃鐨勨�滄í鍚戜氦鍙夊瓧娈碘�濆睘鎬т竴瀹氳鍏宠仈涓�涓棩鏈熺被鍨嬬殑瀛楁銆� \r\n2銆佽缃氦鍙夎〃鐨勨�滄í鍚戜氦鍙夋湡闂寸被鍨嬧�濆睘鎬с�� \r\n3銆佸畾涔変袱涓棩鏈熺被鍨嬬殑鎶ヨ〃鍙傛暟锛屽叾鍒嗗埆纭畾鎶ヨ〃鏁版嵁鐨勮捣濮嬫棩鏈熶笌缁撴潫鏃ユ湡銆� \r\n4銆佽缃氦鍙夎〃鐨勨�滃紑濮嬫棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勮捣濮嬫棩鏈熷弬鏁板悕绉般�� \r\n5銆佽缃氦鍙夎〃鐨勨�滅粨鏉熸棩鏈熷弬鏁扳�濆睘鎬т负绗�3鐐逛腑瀹氫箟鐨勭粨鏉熸棩鏈熷弬鏁板悕绉般�� "
+		},
+		{
+			"Name":"CrossBeginDate",
+			"DataType":"DateTime",
+			"Value":"1997/1/1"
+		},
+		{
+			"Name":"CrossEndDate",
+			"DataType":"DateTime",
+			"Value":"1997/12/31"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Height":1.5875,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"TitleBox",
+					"Center":"Horizontal",
+					"Left":8.99583,
+					"Top":0.211667,
+					"Width":6.74688,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佷笌鏈堜唤浜ゅ弶鍒嗘瀽鎶ヨ〃"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"ForeColor":"0000FF",
+					"Center":"Horizontal",
+					"Left":8.28146,
+					"Top":0.79375,
+					"Width":8.14917,
+					"Height":0.396875,
+					"TextAlign":"MiddleCenter",
+					"Text":"鍙屽嚮鏁版嵁鍗曞厓鏍兼墦寮�瀵瑰簲鏄庣粏鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/SummaryToDetail/Detail.grf b/public/grf/SummaryToDetail/Detail.grf
new file mode 100644
index 0000000..32adaec
--- /dev/null
+++ b/public/grf/SummaryToDetail/Detail.grf
@@ -0,0 +1,377 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"Grid++Report",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select p.CategoryID,t.CategoryName,m.OrderId, m.OrderDate,c.City,c.CompanyName,d.Productid,p.ProductName,d.Quantity, \r\nd.UnitPrice*d.Quantity as Amount\r\nfrom (orders m inner join (OrderDetails d inner join \r\n(Products p inner join Categories t on t.CategoryID=p.CategoryID) \r\non d.ProductID=p.ProductID)\r\non m.orderid=d.orderid) inner join  Customers c on m.CustomerID=c.CustomerID \r\nwhere (m.OrderDate between #1/1/97# And #12/31/97#) and d.Productid<4\r\norder by p.CategoryID,m.OrderDate",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"Productid",
+					"Type":"Integer"
+				},
+				{
+					"Name":"OrderID",
+					"Type":"Integer",
+					"Format":"000000"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"OrderDate",
+					"Type":"DateTime",
+					"Format":"yyyy骞碝M鏈坉d鏃�"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"OrderID",
+				"Width":1.5875
+			},
+			{
+				"Name":"OrderDate",
+				"Width":2.59292
+			},
+			{
+				"Name":"Column1",
+				"Width":1.5875
+			},
+			{
+				"Name":"Column2"
+			},
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"OrderID",
+					"DataField":"OrderID"
+				},
+				{
+					"Column":"OrderDate",
+					"DataField":"OrderDate"
+				},
+				{
+					"Column":"Column1",
+					"DataField":"City"
+				},
+				{
+					"Column":"Column2",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"OrderID",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"OrderDate",
+					"TextAlign":"MiddleCenter",
+					"Text":"璁㈠崟鏃ユ湡"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column1",
+					"TextAlign":"MiddleCenter",
+					"Text":"瀹㈡埛鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"Group1",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"FFCCFF",
+					"Height":0.740833,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Quantity",
+							"Left":13.7319,
+							"Width":2.40771,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":16.1131,
+							"Width":2.80458,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"Width":1.98438,
+							"Height":0.75,
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"Group2",
+				"ByFields":"CategoryID",
+				"GroupHeader":{
+					"BackColor":"CCFFFF",
+					"Height":0.75,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"(GridLeft)",
+							"AlignColumnEx":"(GridRight)",
+							"Width":14.3404,
+							"Height":0.75,
+							"Text":"浜у搧绫诲埆缂栫爜锛歔#CategoryID#] 浜у搧绫诲埆鍚嶇О锛歔#CategoryName#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFFCC",
+					"Height":0.75,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Quantity",
+							"Left":13.7319,
+							"Width":2.40771,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":16.1131,
+							"Width":2.80458,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount",
+							"Format":"#,##0.00"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox6",
+							"BackColor":"FFFFFF",
+							"Width":1.98438,
+							"Height":0.75,
+							"Text":"灏忚"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.582083
+	},
+	"PageFooter":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Left":10.795,
+				"Top":0.211667,
+				"Width":3.59833,
+				"Height":0.396875,
+				"Text":"[#SystemVar(PageNumber)#]/[#SystemVar(PageCount)#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.5875,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":3.43958,
+					"Top":0.185208,
+					"Width":12.0121,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佺粺璁¢攢鍞槑缁嗘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":3.43958,
+					"Top":0.79375,
+					"Width":12.0121,
+					"Height":0.608542,
+					"Font":{
+						"Name":"妤蜂綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍓爣棰�"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/SummaryToDetail/Summary.grf b/public/grf/SummaryToDetail/Summary.grf
new file mode 100644
index 0000000..72ee95d
--- /dev/null
+++ b/public/grf/SummaryToDetail/Summary.grf
@@ -0,0 +1,343 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"Grid++Report",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず浜ゅ弶琛ㄥ垎缁勫崟鍏冩牸鍚堝苟鍔熻兘銆俓r\n\r\n鍦ㄥ畾涔夊ソ浜ゅ弶琛ㄤ箣鍚庯紝鍐嶅畾涔夊崰鍒楀紡鍒嗙粍鍗冲彲銆俓r\n",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Recordset":{
+			"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+			"QuerySQL":"select p.CategoryID,c.CategoryName,d.Productid,p.ProductName,sum(d.Quantity) as Quantity,\r\nsum(d.UnitPrice*d.Quantity*(1-d.Discount)) as Amount\r\nfrom orders m inner join (OrderDetails d inner join (Products p inner join Categories c on c.CategoryID=p.CategoryID)\r\non d.ProductID=p.ProductID)\r\non m.orderid=d.orderid\r\nwhere m.OrderDate between #1/1/97# And #12/31/97#\r\ngroup by p.CategoryID,c.CategoryName,d.Productid,p.ProductName\r\norder by p.CategoryID,d.Productid",
+			"Field":[
+				{
+					"Name":"CategoryID",
+					"Type":"Integer"
+				},
+				{
+					"Name":"CategoryName"
+				},
+				{
+					"Name":"Productid",
+					"Type":"Integer",
+					"Format":"000"
+				},
+				{
+					"Name":"ProductName"
+				},
+				{
+					"Name":"Quantity",
+					"Type":"Float",
+					"Format":"#,##0.##"
+				},
+				{
+					"Name":"Amount",
+					"Type":"Float",
+					"Format":"#,##0.00"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"Productid",
+				"Width":1.5875
+			},
+			{
+				"Name":"ProductName",
+				"Width":3.38667
+			},
+			{
+				"Name":"Quantity",
+				"Width":2.38125
+			},
+			{
+				"Name":"Amount",
+				"Width":2.77813
+			}
+		],
+		"ColumnContent":{
+			"Height":0.582083,
+			"Cursor":"Magnify",
+			"ColumnContentCell":[
+				{
+					"Column":"Productid",
+					"DataField":"Productid"
+				},
+				{
+					"Column":"ProductName",
+					"DataField":"ProductName"
+				},
+				{
+					"Column":"Quantity",
+					"TextAlign":"MiddleRight",
+					"DataField":"Quantity"
+				},
+				{
+					"Column":"Amount",
+					"TextAlign":"MiddleRight",
+					"DataField":"Amount"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.608542,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnGroupHeaderPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"Productid",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ProductName",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜у搧鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Quantity",
+					"TextAlign":"MiddleCenter",
+					"Text":"鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Amount",
+					"TextAlign":"MiddleCenter",
+					"Text":"閲戦"
+				}
+			]
+		},
+		"Group":[
+			{
+				"Name":"GroupGrand",
+				"GroupHeader":{
+					"Height":0
+				},
+				"GroupFooter":{
+					"BackColor":"FFCCFF",
+					"Height":0.75,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Quantity",
+							"Left":4.97417,
+							"Width":2.40771,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"Summary2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":7.35542,
+							"Width":2.80458,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						},
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox5",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Productid",
+							"Width":1.61396,
+							"Height":0.75,
+							"Text":"鎬昏"
+						}
+					]
+				}
+			},
+			{
+				"Name":"GroupSub",
+				"ByFields":"CategoryID",
+				"GroupHeader":{
+					"BackColor":"CCFFFF",
+					"Height":0.75,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"MemoBox",
+							"Name":"MemoBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"(GridLeft)",
+							"AlignColumnEx":"(GridRight)",
+							"Width":10.16,
+							"Height":0.75,
+							"Text":"浜у搧绫诲埆缂栫爜锛歔#CategoryID#] 浜у搧绫诲埆鍚嶇О锛歔#CategoryName#]"
+						}
+					]
+				},
+				"GroupFooter":{
+					"BackColor":"FFFFCC",
+					"Height":0.75,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Control":[
+						{
+							"Type":"StaticBox",
+							"Name":"StaticBox8",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Productid",
+							"Width":1.61396,
+							"Height":0.75,
+							"Text":"灏忚"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox1",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Quantity",
+							"Left":4.97417,
+							"Width":2.40771,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Quantity",
+							"Format":"#,##0.##"
+						},
+						{
+							"Type":"SummaryBox",
+							"Name":"SummaryBox2",
+							"BackColor":"FFFFFF",
+							"AlignColumn":"Amount",
+							"Left":7.35542,
+							"Width":2.80458,
+							"Height":0.75,
+							"TextAlign":"MiddleRight",
+							"DataField":"Amount"
+						}
+					]
+				}
+			}
+		]
+	},
+	"PageHeader":{
+		"Height":0.79375,
+		"Control":[
+			{
+				"Type":"StaticBox",
+				"Name":"StaticBox7",
+				"Left":0.185208,
+				"Width":3.41313,
+				"Height":0.396875,
+				"Text":"浜у搧閿�鍞眹鎬昏〃"
+			},
+			{
+				"Type":"SystemVarBox",
+				"Name":"SysData1",
+				"Left":8.17563,
+				"Width":7.62,
+				"Height":0.396875,
+				"Format":"鎶ヨ〃鎵撳嵃鏃堕棿锛歽yyy骞碝M鏈坉d鏃� HH:mm:ss",
+				"SystemVar":"CurrentDateTime"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Top":0.608542,
+				"Width":16.0073
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":0.582083,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Center":"Horizontal",
+				"Left":6.21771,
+				"Width":3.59833,
+				"Height":0.396875,
+				"TextAlign":"MiddleCenter",
+				"Text":"[#SystemVar(PageNumber)#]/[#SystemVar(PageCount)#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":1.79917,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"MainTitle",
+					"Center":"Horizontal",
+					"Left":4.31271,
+					"Top":0.396875,
+					"Width":7.38188,
+					"Height":0.608542,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎸変骇鍝佺粺璁¢攢鍞眹鎬绘姤琛�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"SubTitle",
+					"Center":"Horizontal",
+					"Left":4.31271,
+					"Top":0.978958,
+					"Width":7.38188,
+					"Height":0.608542,
+					"Font":{
+						"Name":"妤蜂綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍓爣棰�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"MsgTextBox",
+					"Anchor":"[Top|Right]",
+					"Dock":"Top",
+					"Height":0.396875,
+					"WordWrap":true,
+					"TextAlign":"TopCenter",
+					"Text":"绀轰緥SummaryToDetail涓紝鍙屽嚮璁板綍琛岃繘鍏ユ湰琛屽搴旂殑鏄庣粏鎶ヨ〃"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/a0.grf b/public/grf/a0.grf
new file mode 100644
index 0000000..158aa02
--- /dev/null
+++ b/public/grf/a0.grf
@@ -0,0 +1,2801 @@
+锘縶
+	"Version":"6.8.5.0",
+	"Title":"a0.鎶ヨ〃缁勪欢瀵硅薄妯″瀷",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"鐢� Grid++Report 鏈韩璁捐鍑哄叾缂栫▼瀵硅薄鐨勭粍浠跺璞℃ā鍨嬪浘銆�",
+	"GridColsPerUnit":10,
+	"GridRowsPerUnit":10,
+	"ShowGrid":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"ConnectionString":"Provider=Microsoft.Jet.OLEDB.4.0;\r\nUser ID=Admin;\r\nData Source=C:\\Grid++Report 6\\Samples\\Data\\Northwind.mdb",
+	"Printer":{
+		"LeftMargin":1,
+		"TopMargin":1,
+		"RightMargin":1,
+		"BottomMargin":1
+	},
+	"ReportHeader":[
+		{
+			"Height":26.9875,
+			"Control":[
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox1",
+					"Left":11.9063,
+					"Top":0.502708,
+					"Width":6.50875,
+					"Height":10.3981
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":0.105833,
+					"Top":0.105833,
+					"Width":5.00063,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGridppReport"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox2",
+					"Left":0.687917,
+					"Top":0.899583,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRDetailGrid"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox3",
+					"Left":1.29646,
+					"Top":1.69333,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRRecordset"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox7",
+					"Left":3.09563,
+					"Top":3.30729,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRField"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line1",
+					"Left":0.211667,
+					"Top":0.687917,
+					"Height":19.8702,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox22",
+					"Left":2.30188,
+					"Top":5.10646,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroup"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox23",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":3.09563,
+					"Top":5.90021,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroupHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox24",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":3.09563,
+					"Top":6.90563,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroupFooter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox31",
+					"Left":2.30188,
+					"Top":8.70479,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumn"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox32",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":1.29646,
+					"Top":9.49854,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnTitle"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox33",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":1.29646,
+					"Top":12.0121,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnContent"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox43",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":2.98979,
+					"Top":11.2977,
+					"Width":3.91583,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnTitleCell"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox44",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":2.98979,
+					"Top":13.8906,
+					"Width":3.91583,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnContentCell"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox51",
+					"Left":1.29646,
+					"Top":14.605,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRCrossTab"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox56",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":0.687917,
+					"Top":15.6104,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPageHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox58",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":0.687917,
+					"Top":16.4042,
+					"Width":3.41313,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox63",
+					"Left":4.89479,
+					"Top":19.2881,
+					"Width":3.41313,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRParameter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox70",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.9117,
+					"Top":1.905,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControl"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox71",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.605,
+					"Top":3.59833,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRStaticBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox72",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.605,
+					"Top":4.10104,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRMemoBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox73",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.605,
+					"Top":4.60375,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRFieldBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox74",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.605,
+					"Top":5.10646,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRSummaryBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox75",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.605,
+					"Top":5.60917,
+					"Width":3.41313,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRSystemVarBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox76",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":6.50875,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPictureBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox77",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":7.01146,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRChart"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox78",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":7.48771,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRBarcode"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox79",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":2.80458,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRTextBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox80",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":7.99042,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRSubReport"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox81",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":8.49313,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRLine"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox82",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":8.99583,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRShapeBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox83",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":9.49854,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRRichTextBox"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox84",
+					"BackStyle":"Normal",
+					"Left":13.3879,
+					"Top":0.343958,
+					"Width":3.91583,
+					"Height":0.370417,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"閮ㄤ欢妗嗛泦鍚堜笌閮ㄤ欢妗嗘淳鐢�"
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox2",
+					"Left":11.9327,
+					"Top":11.774,
+					"Width":6.50875,
+					"Height":8.30792
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox85",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":11.5888,
+					"Width":1.79917,
+					"Height":0.396875,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鎶ヨ〃鑺傛淳鐢�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox86",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.0385,
+					"Top":12.1708,
+					"Width":3.06917,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRSection"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox87",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":12.8323,
+					"Top":12.8588,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPageHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox88",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":12.8323,
+					"Top":13.4673,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPageFooter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox89",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":14.9225,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox90",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":15.4252,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportFooter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox91",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.8323,
+					"Top":16.166,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnSection"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox92",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":16.8804,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnTitle"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox93",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":17.3831,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnContent"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox94",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.8323,
+					"Top":18.124,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroupSection"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox95",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":18.8383,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroupHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox96",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.1288,
+					"Top":19.341,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroupFooter"
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox3",
+					"Left":11.9592,
+					"Top":20.9285,
+					"Width":6.50875,
+					"Height":5.715
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox97",
+					"BackStyle":"Normal",
+					"Left":14.1552,
+					"Top":20.7433,
+					"Width":2.14313,
+					"Height":0.370417,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"鏁版嵁瀵煎嚭閫夐」"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox98",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.2502,
+					"Top":21.3254,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRExportOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox99",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.3669,
+					"Top":22.8071,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2CSVOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox100",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.3669,
+					"Top":23.3892,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2HTMOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox101",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.2292,
+					"Top":25.8498,
+					"Width":3.4925,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2PDFOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox102",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.3669,
+					"Top":23.9713,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2TXTOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox103",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":14.3669,
+					"Top":24.5533,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2XLSOption"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox104",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.2292,
+					"Top":25.3471,
+					"Width":3.4925,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2IMGOption"
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox4",
+					"Left":0.291042,
+					"Top":24.7915,
+					"Width":11.2183,
+					"Height":1.905
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox105",
+					"BackStyle":"Normal",
+					"Left":5.00063,
+					"Top":24.6592,
+					"Width":0.79375,
+					"Height":0.370417,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍥剧ず"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox106",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":0.555625,
+					"Top":25.7704,
+					"Width":3.25438,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍩虹被瀵硅薄"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox107",
+					"Left":0.555625,
+					"Top":25.056,
+					"Width":3.25438,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏅�氬璞�"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox108",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":4.20688,
+					"Top":25.0825,
+					"Width":3.22792,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"娲剧敓瀵硅薄"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line2",
+					"Left":7.75229,
+					"Top":25.3206,
+					"Width":3.30729,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox112",
+					"BackStyle":"Normal",
+					"Left":8.75771,
+					"Top":25.109,
+					"Width":1.29646,
+					"Height":0.291042,
+					"TextAlign":"MiddleCenter",
+					"Text":"鎷ユ湁鍏崇郴"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line3",
+					"Left":7.83167,
+					"Top":26.1144,
+					"Width":3.28083,
+					"Height":0.079375,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox113",
+					"BackStyle":"Normal",
+					"Left":8.73125,
+					"Top":25.9027,
+					"Width":1.34938,
+					"Height":0.370417,
+					"TextAlign":"MiddleCenter",
+					"Text":"娲剧敓鍏崇郴"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line5",
+					"Left":0.211667,
+					"Top":1.19063,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line6",
+					"Left":0.211667,
+					"Top":15.7956,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line7",
+					"Left":0.211667,
+					"Top":19.5792,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line8",
+					"Left":0.79375,
+					"Top":1.50813,
+					"Height":13.3879,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line9",
+					"Left":0.79375,
+					"Top":2.01083,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line10",
+					"Left":0.79375,
+					"Top":4.39208,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line11",
+					"Left":0.79375,
+					"Top":7.99042,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line12",
+					"Left":0.79375,
+					"Top":9.78958,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line13",
+					"Left":0.79375,
+					"Top":12.3031,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line14",
+					"Left":0.79375,
+					"Top":14.896,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line16",
+					"Left":1.50813,
+					"Top":2.30188,
+					"Height":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line17",
+					"Left":6.50875,
+					"Top":6.11188,
+					"Width":0.978958,
+					"Height":0.0264583,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"Line",
+					"Name":"Line18",
+					"Left":1.50813,
+					"Top":2.80458,
+					"Width":0.582083,
+					"Height":0.0264583,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox114",
+					"Left":2.40771,
+					"Top":3.20146,
+					"Width":0.687917,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox115",
+					"Left":1.5875,
+					"Top":4.89479,
+					"Width":0.687917,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox116",
+					"Left":2.48708,
+					"Top":5.68854,
+					"Width":0.582083,
+					"Height":1.50813,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line19",
+					"Left":2.48708,
+					"Top":6.11188,
+					"Width":0.635,
+					"Height":0.0264583,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox117",
+					"Left":1.5875,
+					"Top":8.38729,
+					"Width":0.687917,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox118",
+					"Left":1.40229,
+					"Top":10.1071,
+					"Width":0.687917,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox119",
+					"Left":2.48708,
+					"Top":11.1125,
+					"Width":0.502708,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox120",
+					"Left":1.40229,
+					"Top":12.5942,
+					"Width":0.687917,
+					"Height":0.714375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox121",
+					"Left":2.59292,
+					"Top":13.7054,
+					"Width":0.396875,
+					"Height":0.502708,
+					"Border":{
+						"Styles":"[DrawLeft|DrawBottom]",
+						"Pen":{
+							"Width":2
+						}
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line26",
+					"Left":6.50875,
+					"Top":7.19667,
+					"Width":1.08479,
+					"Height":0.0264583,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"Line",
+					"Name":"Line27",
+					"Left":6.90563,
+					"Top":11.5094,
+					"Width":0.582082,
+					"Height":2.5e-05,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line28",
+					"Left":6.90563,
+					"Top":14.2081,
+					"Width":0.582083,
+					"Height":2.5e-05,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"Line",
+					"Name":"Line29",
+					"Left":15.1077,
+					"Top":12.3825,
+					"Width":0.529167,
+					"Height":0.0264583,
+					"Pen":{
+						"Width":2
+					},
+					"U2D":false
+				},
+				{
+					"Type":"Line",
+					"Name":"Line30",
+					"Left":12.4883,
+					"Top":1.69333,
+					"Height":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line31",
+					"Left":12.4883,
+					"Top":2.19604,
+					"Width":0.423333,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line32",
+					"Left":12.991,
+					"Top":2.46063,
+					"Height":7.85813,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line33",
+					"Left":12.991,
+					"Top":9.78958,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line34",
+					"Left":12.991,
+					"Top":9.28688,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line35",
+					"Left":12.991,
+					"Top":8.81062,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line36",
+					"Left":12.991,
+					"Top":8.20208,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line37",
+					"Left":12.991,
+					"Top":7.80521,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line38",
+					"Left":12.991,
+					"Top":7.3025,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line39",
+					"Left":12.991,
+					"Top":6.79979,
+					"Width":0.555625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line40",
+					"Left":14.1023,
+					"Top":5.79438,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line41",
+					"Left":14.1023,
+					"Top":5.29167,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line42",
+					"Left":14.1023,
+					"Top":4.89479,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line43",
+					"Left":14.1023,
+					"Top":4.39208,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line44",
+					"Left":14.1023,
+					"Top":3.88938,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line45",
+					"Left":13.9965,
+					"Top":3.41313,
+					"Height":2.40771,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line46",
+					"Left":12.3296,
+					"Top":12.7794,
+					"Height":5.63563,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line47",
+					"Left":12.3296,
+					"Top":13.1763,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line48",
+					"Left":12.3296,
+					"Top":13.679,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line49",
+					"Left":12.3296,
+					"Top":14.4727,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line50",
+					"Left":13.5996,
+					"Top":15.1871,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line51",
+					"Left":12.3296,
+					"Top":16.9333,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line52",
+					"Left":12.3296,
+					"Top":18.4415,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line53",
+					"Left":13.626,
+					"Top":17.0921,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line54",
+					"Left":13.626,
+					"Top":17.6742,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line55",
+					"Left":13.626,
+					"Top":19.1558,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line56",
+					"Left":13.626,
+					"Top":19.6321,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line57",
+					"Left":13.626,
+					"Top":16.7481,
+					"Height":0.978958,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line58",
+					"Left":13.626,
+					"Top":18.7325,
+					"Height":0.978958,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line59",
+					"Left":12.6471,
+					"Top":21.934,
+					"Height":4.25979,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line60",
+					"Left":12.7529,
+					"Top":22.3308,
+					"Width":0.449792,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line61",
+					"Left":13.8377,
+					"Top":23.0452,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line64",
+					"Left":12.7529,
+					"Top":26.1673,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line65",
+					"Left":12.7529,
+					"Top":25.6646,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line66",
+					"Left":0.211667,
+					"Top":20.5052,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox124",
+					"Left":0.687917,
+					"Top":20.2142,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPrinter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox126",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":4.20688,
+					"Top":25.691,
+					"Width":3.22792,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"闆嗗悎瀵硅薄"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox127",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":2.09021,
+					"Top":2.40771,
+					"Width":3.51896,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRFields"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox128",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":7.48771,
+					"Top":5.90021,
+					"Width":3.20146,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox129",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":7.48771,
+					"Top":6.90563,
+					"Width":3.20146,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox130",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":7.48771,
+					"Top":11.2977,
+					"Width":3.51896,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox131",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":7.48771,
+					"Top":13.8906,
+					"Width":3.30729,
+					"Height":0.820208,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox132",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":15.6104,
+					"Top":12.0915,
+					"Width":2.59292,
+					"Height":0.687917,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox133",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":0.687917,
+					"Top":19.1823,
+					"Width":3.51896,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRParameters"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox134",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":0.740833,
+					"Top":17.2244,
+					"Width":3.51896,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportHeaders"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox135",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":12.3031,
+					"Top":0.899583,
+					"Width":3.4925,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRControls"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line68",
+					"Left":0.211667,
+					"Top":16.6952,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line69",
+					"Left":0.264583,
+					"Top":17.4096,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line70",
+					"Left":0.238125,
+					"Top":18.415,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox136",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":0.714375,
+					"Top":18.2298,
+					"Width":3.51896,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportFooters"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line71",
+					"Left":4.10104,
+					"Top":19.6056,
+					"Width":0.79375,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox137",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":4.89479,
+					"Top":17.3038,
+					"Width":3.4925,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportHeader"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox138",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":4.89479,
+					"Top":18.3092,
+					"Width":3.4925,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportFooter"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line72",
+					"Left":4.10104,
+					"Top":18.6002,
+					"Width":0.79375,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line73",
+					"Left":4.20688,
+					"Top":17.5948,
+					"Width":0.687917,
+					"Pen":{
+						"Width":2
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox139",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":1.29646,
+					"Top":7.59354,
+					"Width":3.4925,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumns"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox140",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":1.29646,
+					"Top":4.10104,
+					"Width":3.4925,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGroups"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox141",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":2.09021,
+					"Top":10.2923,
+					"Width":4.31271,
+					"Height":0.820208,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnTitleCells"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox142",
+					"BackColor":"FFFF80",
+					"BackStyle":"Normal",
+					"Left":2.09021,
+					"Top":12.9117,
+					"Width":4.31271,
+					"Height":0.79375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerStyles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Shadow":true,
+						"ShadowColor":"808080"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRColumnContentCells"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox143",
+					"BackColor":"CDD28E",
+					"BackStyle":"Normal",
+					"Left":13.5996,
+					"Top":10.0013,
+					"Width":3.41313,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGreeGrid"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line74",
+					"Left":12.991,
+					"Top":10.2923,
+					"Width":0.608542,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line75",
+					"Left":12.991,
+					"Top":3.09563,
+					"Width":0.635,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox144",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":13.2292,
+					"Top":22.0663,
+					"Width":3.38667,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRE2CellOption"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line76",
+					"Left":13.7319,
+					"Top":22.6483,
+					"Height":2.14313,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line77",
+					"Left":13.8377,
+					"Top":23.6538,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line78",
+					"Left":13.8377,
+					"Top":24.2623,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line79",
+					"Left":13.8377,
+					"Top":24.8444,
+					"Width":0.47625,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox145",
+					"BackColor":"C9EB9A",
+					"BackStyle":"Normal",
+					"Left":12.8058,
+					"Top":14.1817,
+					"Width":3.38667,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRReportSection"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line80",
+					"Left":13.5996,
+					"Top":14.7902,
+					"Height":0.899583,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line81",
+					"Left":13.5996,
+					"Top":15.6898,
+					"Width":0.502708,
+					"Pen":{
+						"Width":2,
+						"Style":"Dot"
+					}
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox5",
+					"Left":0.264583,
+					"Top":21.0873,
+					"Width":11.2448,
+					"Height":3.20146
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox146",
+					"BackStyle":"Normal",
+					"Left":4.70958,
+					"Top":20.9285,
+					"Width":1.45521,
+					"Height":0.370417,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"杈呭姪鎺ュ彛"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox147",
+					"Left":0.608542,
+					"Top":21.4048,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRBinaryObject"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox148",
+					"Left":0.608542,
+					"Top":22.0927,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRBorder"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox149",
+					"Left":0.608542,
+					"Top":22.8071,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRDateTime"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox150",
+					"Left":0.608542,
+					"Top":23.495,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRFont"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox151",
+					"Left":4.41854,
+					"Top":21.4048,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRGraphics"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox152",
+					"Left":4.41854,
+					"Top":22.0927,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPen"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox153",
+					"Left":4.41854,
+					"Top":22.8071,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRPicture"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox154",
+					"Left":4.41854,
+					"Top":23.495,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRTextFormat"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox155",
+					"Left":7.9375,
+					"Top":21.4048,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"IGRUtility"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox156",
+					"Left":7.9375,
+					"Top":22.0927,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox157",
+					"Left":7.9375,
+					"Top":22.8071,
+					"Width":3.20146,
+					"Height":0.582083,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox158",
+					"Left":7.9375,
+					"Top":23.495,
+					"Width":3.20146,
+					"Height":0.608542,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/a1.grf b/public/grf/a1.grf
new file mode 100644
index 0000000..024e63f
--- /dev/null
+++ b/public/grf/a1.grf
@@ -0,0 +1,1202 @@
+锘縶
+	"Version":"6.7.0.0",
+	"Title":"浜嬩欢杩愯杩囩▼璇存槑",
+	"Author":"椋�",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"LeftMargin":1,
+		"TopMargin":1,
+		"RightMargin":1,
+		"BottomMargin":1
+	},
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":27.7,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Weight":400,
+				"Charset":134
+			},
+			"Control":[
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox60",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":25.056,
+					"Width":0.8,
+					"Height":2.06375,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"鎵撳嵃鎶ヨ〃"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox59",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":22.7542,
+					"Width":0.8,
+					"Height":1.71979,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"瀵煎嚭鎶ヨ〃"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox52",
+					"Left":1.19063,
+					"Top":12.9381,
+					"Width":1.40229,
+					"Height":4.07458,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox51",
+					"Left":1.19063,
+					"Top":7.85813,
+					"Width":1.40229,
+					"Height":4.10104,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox50",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":5.52979,
+					"Width":0.8,
+					"Height":1.69333,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"鏁版嵁鍑嗗"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox48",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":13.626,
+					"Width":0.8,
+					"Height":2.72521,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"寰幆鐢熸垚椤甸潰"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox47",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":8.5725,
+					"Width":0.8,
+					"Height":2.69875,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"寰幆鐢熸垚鍒嗙粍"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line4",
+					"Left":6.58813,
+					"Top":4.20688,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line2",
+					"Left":4.55083,
+					"Top":2.40771,
+					"Width":0.0264583,
+					"Height":14.8167
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox1",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":0.873125,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerIndent":1,
+						"InnerStyles":"[DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"杩愯杩囩▼"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox2",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":0.873125,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"InnerIndent":1,
+						"InnerStyles":"[DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":105000,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瑙﹀彂浜嬩欢"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox3",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":1.85208,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍒濆鍖�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox6",
+					"BackColor":"33FFFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":5.52979,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎻愪氦鏄庣粏璁板綍鍓�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox7",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":6.53521,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎺掑簭鏄庣粏璁板綍"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox8",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":7.54063,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍑嗗澶勭悊鏁版嵁"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox9",
+					"BackColor":"FFCCFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":8.5725,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"寮�濮嬪垎缁勯」"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox10",
+					"BackColor":"33FFFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":9.57792,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"澶勭悊鏄庣粏璁板綍"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox11",
+					"BackColor":"FFCCFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":10.5833,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"缁撴潫鍒嗙粍椤�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox12",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":11.6152,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"缁撴潫澶勭悊鏁版嵁"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox13",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":12.6206,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"椤甸潰鐢熸垚鍓�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox14",
+					"BackColor":"FFCCFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":13.626,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"椤靛紑濮�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox15",
+					"BackColor":"33FFFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":14.6579,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"椤靛鐞嗚褰�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox16",
+					"BackColor":"FFCCFF",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":15.6633,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"椤电粨鏉�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox17",
+					"BackStyle":"Normal",
+					"Left":2.56646,
+					"Top":16.6688,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"椤甸潰鐢熸垚鍚�"
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox1",
+					"Left":2.16958,
+					"Top":2.98979,
+					"Width":4.78896,
+					"Height":2.19604,
+					"FillColor":"FFFFFF",
+					"FillStyle":"Normal",
+					"CornerDx":20,
+					"CornerDy":20
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox5",
+					"BackStyle":"Normal",
+					"Left":5.34458,
+					"Top":3.83646,
+					"Width":3.6,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎺ㄩ�佹槑缁嗘暟鎹埌鎶ヨ〃"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"BackStyle":"Normal",
+					"Left":0.132292,
+					"Top":3.83646,
+					"Width":3.6,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"浠庢暟鎹簮鎷夊彇鏁版嵁"
+				},
+				{
+					"Type":"ShapeBox",
+					"Name":"ShapeBox2",
+					"Left":4.07458,
+					"Top":2.72521,
+					"Width":0.978958,
+					"Height":0.582083,
+					"ShapeType":"Ellipse",
+					"FillColor":"FFFFFF"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox18",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":1.85208,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"Initialize"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox19",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":3.83646,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"FetchRecord"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox20",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":5.52979,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"BeforePostRecord"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox21",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":6.53521,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"BeforeSort"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox22",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":7.54063,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ProcessBegin"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox23",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":8.5725,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"GroupBegin"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox24",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":9.57792,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ProcessRecord"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox25",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":10.5833,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"GroupEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox26",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":11.6152,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ProcessEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox27",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":12.6206,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"GeneratePagesBegin"
+				},
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Left":15.0019,
+					"Top":1.79917,
+					"Width":3.99521,
+					"Height":15.2135,
+					"Visible":false,
+					"TextAlign":"TopLeft",
+					"LnSpacing":5,
+					"Text":"鍒濆鍖�  \"1\"  Initialize\r\n璇锋眰璁板綍鏁版嵁  \"2\"  FetchRecord\r\n鎻愪氦璁板綍鍓�  \"3\"  BeforePostRecord\r\n鎺掑簭鍓�  \"4\"  BeforeSort\r\n鏄剧ず鏂囧瓧锛堥鐣欙級GetDisplayTextScript\r\n璇锋眰瀛楁鏄剧ず鏂囧瓧  \"20\"  FieldGetDisplayText\r\n璇锋眰鏂囧瓧妗嗘樉绀烘枃瀛�  \"22\"  TextBoxGetDisplayText\r\n鏍煎紡鍖栨姤琛ㄨ妭  \"23\"  SectionFormat\r\n閮ㄤ欢妗嗚嚜瀹氫箟缁樺埗  \"24\"  ControlCustomDraw\r\n鍥捐〃璇锋眰鏁版嵁  \"25\"  ChartRequestData\r\n寮�濮嬪鐞嗚褰�  \"30\"  ProcessBegin\r\n缁撴潫澶勭悊璁板綍  \"31\"  ProcessEnd\r\n鍒嗙粍寮�濮�  \"32\"  GroupBegin\r\n鍒嗙粍缁撴潫  \"33\"  GroupEnd\r\n澶勭悊璁板綍  \"34\"  ProcessRecord\r\n椤靛鐞嗚褰�  \"35\"  PageProcessRecord\r\n椤靛紑濮�  \"36\"  PageStart\r\n椤电粨鏉�  \"37\"  PageEnd\r\n椤甸潰鐢熸垚鍓�  \"38\"  GeneratePagesBegin\r\n椤甸潰鐢熸垚鍚�  \"39\"  GeneratePagesEnd\r\n鎵撳嵃鍓�  \"40\"  PrintBegin\r\n鎵撳嵃鍚�  \"41\"  PrintEnd\r\n鎵撳嵃椤�  \"42\"  PrintPage\r\n鎵撳嵃涓  \"43\"  PrintAborted\r\n瀵煎嚭鎶ヨ〃鍓�  \"50\"  ExportBegin\r\n瀵煎嚭鎶ヨ〃鍚�  \"51\"  ExportEnd\r\n鏄剧ず棰勮鐣岄潰  \"60\"  ShowPreviewWnd"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line3",
+					"Left":6.58813,
+					"Top":2.24896,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line5",
+					"Left":6.56167,
+					"Top":5.87375,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line6",
+					"Left":6.56167,
+					"Top":6.87917,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line7",
+					"Left":6.56167,
+					"Top":7.88458,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line8",
+					"Left":6.56167,
+					"Top":8.89,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line9",
+					"Left":6.56167,
+					"Top":9.92188,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line10",
+					"Left":6.56167,
+					"Top":10.9273,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line11",
+					"Left":6.56167,
+					"Top":11.9327,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line12",
+					"Left":6.56167,
+					"Top":12.9381,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line13",
+					"Left":6.56167,
+					"Top":13.97,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line14",
+					"Left":6.56167,
+					"Top":14.9754,
+					"Width":3.83646
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox28",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":13.626,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PageStart"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox29",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":14.6579,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PageProcessRecord"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox30",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":15.6633,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PageEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox31",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":16.6688,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"GeneratePagesEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox32",
+					"Left":3.41313,
+					"Top":3.36021,
+					"Width":2.59292,
+					"Height":0.449792,
+					"TextAlign":"MiddleCenter",
+					"Text":"璇锋眰璁板綍鏁版嵁"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox33",
+					"BackColor":"99FFFF",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":17.7006,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏍煎紡鍖栨姤琛ㄨ妭"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox34",
+					"BackColor":"99FFFF",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":18.706,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"璇锋眰瀛楁鏄剧ず鏂囧瓧"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox35",
+					"BackColor":"99FFFF",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":19.7115,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"璇锋眰鏂囧瓧妗嗘樉绀烘枃瀛�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox36",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":22.7542,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀵煎嚭鎶ヨ〃鍓�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox37",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":23.786,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"瀵煎嚭鎶ヨ〃鍚�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox38",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":17.7006,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"SectionFormat"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox39",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":18.706,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"FieldGetDisplayText"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox40",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":19.7115,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"TextBoxGetDisplayText"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox41",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":22.7542,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ExportBegin"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox42",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":23.786,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ExportEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox43",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":21.7488,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鏄剧ず棰勮鐣岄潰"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox44",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":21.7488,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ShowPreviewWnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox45",
+					"BackColor":"99FFFF",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":20.7433,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閮ㄤ欢妗嗚嚜瀹氫箟缁樺埗"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox46",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":20.7433,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"ControlCustomDraw"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line15",
+					"Left":6.56167,
+					"Top":15.9808,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line16",
+					"Left":6.56167,
+					"Top":16.9863,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line17",
+					"Left":6.56167,
+					"Top":18.0181,
+					"Width":3.83646
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox49",
+					"BackColor":"99FF99",
+					"BackStyle":"Normal",
+					"Left":1.79917,
+					"Top":18.0181,
+					"Width":0.8,
+					"Height":3.09563,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"TextOrientation":"U2DR2L0",
+					"CharSpacing":1,
+					"Text":"閬嶅巻骞舵樉绀虹粨鏋�"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line18",
+					"Left":6.56167,
+					"Top":19.0235,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line19",
+					"Left":6.56167,
+					"Top":20.0554,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line20",
+					"Left":6.56167,
+					"Top":21.0873,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line21",
+					"Left":6.56167,
+					"Top":22.0927,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line22",
+					"Left":6.56167,
+					"Top":23.1246,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line23",
+					"Left":6.56167,
+					"Top":24.1565,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line24",
+					"Left":1.40229,
+					"Top":7.40833,
+					"Width":13.2027,
+					"Pen":{
+						"Width":1.5,
+						"Color":"0000FF",
+						"Style":"DashDot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line25",
+					"Left":1.40229,
+					"Top":12.4619,
+					"Width":13.2027,
+					"Pen":{
+						"Width":1.5,
+						"Color":"0000FF",
+						"Style":"DashDot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line26",
+					"Left":1.40229,
+					"Top":17.5154,
+					"Width":13.2027,
+					"Pen":{
+						"Width":1.5,
+						"Color":"0000FF",
+						"Style":"DashDot"
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox53",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":25.744,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎵撳嵃椤�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox54",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":26.7758,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎵撳嵃鍚�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox55",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":25.744,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PrintPage"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox56",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":26.7758,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PrintEnd"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox57",
+					"BackStyle":"Normal",
+					"Left":2.59292,
+					"Top":24.7385,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鎵撳嵃鍓�"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox58",
+					"BackStyle":"Normal",
+					"Left":10.3981,
+					"Top":24.7385,
+					"Width":4,
+					"Height":0.7,
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"PrintBegin"
+				},
+				{
+					"Type":"Line",
+					"Name":"Line27",
+					"Left":6.58813,
+					"Top":25.0825,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line28",
+					"Left":6.58813,
+					"Top":26.1144,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line29",
+					"Left":6.58813,
+					"Top":27.1463,
+					"Width":3.83646
+				},
+				{
+					"Type":"Line",
+					"Name":"Line30",
+					"Left":1.40229,
+					"Top":24.6063,
+					"Width":13.2027,
+					"Pen":{
+						"Width":1.5,
+						"Color":"0000FF",
+						"Style":"DashDot"
+					}
+				},
+				{
+					"Type":"Line",
+					"Name":"Line31",
+					"Left":1.40229,
+					"Top":22.5954,
+					"Width":13.2027,
+					"Pen":{
+						"Width":1.5,
+						"Color":"0000FF",
+						"Style":"DashDot"
+					}
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox0",
+					"Left":5.00063,
+					"Width":7.01146,
+					"Height":0.687917,
+					"Border":{
+						"Styles":"[DrawBottom]",
+						"InnerIndent":1,
+						"InnerStyles":"[DrawBottom]"
+					},
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":142500,
+						"Bold":true,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"閿愭氮鎶ヨ〃浜嬩欢杩愯杩囩▼璇存槑"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/aaa.grf b/public/grf/aaa.grf
new file mode 100644
index 0000000..86a49fd
--- /dev/null
+++ b/public/grf/aaa.grf
@@ -0,0 +1,94 @@
+锘縊bject Report
+	Version='6.8.5.5'
+	Title='浣犵殑鎶ヨ〃鏍囬'
+	PrintAsDesignPaper=F
+	Object Font
+		Name='瀹嬩綋'
+		Size=105000,0
+		Weight=400
+		Charset=134
+	End
+	Object Printer
+	End
+	Object DetailGrid
+		CenterView=T
+		Object Recordset
+			ConnectionString='Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.24.83;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LENOVO-Y460;Use Encryption for Data=False;Tag with column collation when possible=False'
+			QuerySQL='select * from aaa'
+			Items Field
+				Item
+					Name='account'
+					DBFieldName='code'
+				End
+				Item
+					Name='money'
+					Type=Integer
+					DBFieldName='name'
+				End
+					End
+	End
+	Items Column
+		Item
+			Name='account'
+			Width=1.69333
+		End
+		Item
+			Name='money'
+			Width=1.69333
+		End
+	End
+Object ColumnContent
+	Height=0.635
+	Items ColumnContentCell
+		Item
+			Column='account'
+			TextAlign=MiddleCenter
+			DataField='account'
+		End
+		Item
+			Column='money'
+			TextAlign=MiddleCenter
+			DataField='money'
+		End
+	End
+End
+Object ColumnTitle
+	Height=0.635
+	Items ColumnTitleCell
+		Item
+			GroupTitle=F
+			Column='account'
+			TextAlign=MiddleCenter
+			Text='璐﹀彿'
+		End
+		Item
+			GroupTitle=F
+			Column='money'
+			TextAlign=MiddleCenter
+			Text='浣欓'
+		End
+	End
+End
+End
+Object PageFooter
+	Height=1.32292
+End
+Items ReportHeader
+	Item
+		Name='ReportHeader1'
+		Height=1.32292
+		Items Control
+			Item
+				Type=StaticBox
+				Name='StaticBox1'
+				Left=4.20688
+				Top=0.211667
+				Width=7.38188
+				Height=0.582083
+				TextAlign=TopLeft
+				Text='B/S鎶ヨ〃婕旂ず'
+			End
+			End
+End
+End
+End
diff --git a/public/grf/ds.grf b/public/grf/ds.grf
new file mode 100644
index 0000000..828241e
--- /dev/null
+++ b/public/grf/ds.grf
@@ -0,0 +1,303 @@
+锘縶
+	"Version":"6.6.6.0",
+	"Title":"1a.绠�鍗曡〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"Oriention":"Landscape",
+		"LeftMargin":1.5,
+		"RightMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"xml",
+			"QuerySQL":"http://www.rubylong.cn/WebReport/data/xmlCustomer.txt",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.00542
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":14.6579,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":2.40771,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":11.6417,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				},
+				{
+					"Type":"MemoBox",
+					"Name":"MemoBox4",
+					"ForeColor":"0000FF",
+					"Anchor":"[Top|Right]",
+					"Center":"Horizontal",
+					"Left":4.47146,
+					"Top":0.79375,
+					"Width":17.7271,
+					"Height":1.40229,
+					"Font":{
+						"Name":"妤蜂綋",
+						"Size":120000,
+						"Bold":true,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"Text":"鎶ヨ〃鏁版嵁鏉ヨ嚜WEB鏈嶅姟鍣ㄧ殑URL锛岀浉搴旀暟鎹繀椤绘槸婊¤冻Grid++Report绾﹀畾鏍煎紡鐨刋ML鏂囨湰銆傛URL鍙互鏄骇鐢熷姩鎬佹暟鎹殑缃戦〉绋嬪簭銆俓r\n璇锋煡鐪嬫槑缁嗙綉鏍肩殑璁板綍闆嗙殑鏁版嵁杩炴帴涓蹭笌鏌ヨSQL璁剧疆"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grf/program/data_from_url.grf b/public/grf/program/data_from_url.grf
new file mode 100644
index 0000000..0eb6ee3
--- /dev/null
+++ b/public/grf/program/data_from_url.grf
@@ -0,0 +1,314 @@
+锘縶
+	"Version":"6.6.8.1",
+	"Title":"1a.绠�鍗曡〃鏍�",
+	"Author":"閿愭氮鎶ヨ〃杞欢",
+	"Description":"婕旂ず涓�涓渶鍩烘湰鐨勫垪琛ㄦ姤琛ㄣ��",
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":90000,
+		"Weight":400,
+		"Charset":134
+	},
+	"Printer":{
+		"TopMargin":1.5,
+		"BottomMargin":1.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"PrintAdaptMethod":"ResizeToFit",
+		"Recordset":{
+			"ConnectionString":"xml",
+			"QuerySQL":"http://www.gridreport.cn/demos/data/DataCenter.ashx?data=Customer",
+			"Field":[
+				{
+					"Name":"CustomerID"
+				},
+				{
+					"Name":"CompanyName"
+				},
+				{
+					"Name":"ContactName"
+				},
+				{
+					"Name":"ContactTitle"
+				},
+				{
+					"Name":"Address"
+				},
+				{
+					"Name":"City"
+				},
+				{
+					"Name":"Region"
+				},
+				{
+					"Name":"PostalCode"
+				},
+				{
+					"Name":"Country"
+				},
+				{
+					"Name":"Phone"
+				},
+				{
+					"Name":"Fax"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"CustomerID",
+				"Width":2.38125
+			},
+			{
+				"Name":"CompanyName",
+				"Width":3.175
+			},
+			{
+				"Name":"ContactName",
+				"Width":1.5875
+			},
+			{
+				"Name":"ContactTitle",
+				"Width":1.98438,
+				"Visible":false
+			},
+			{
+				"Name":"Address",
+				"Width":3.175
+			},
+			{
+				"Name":"City",
+				"Width":1.5875
+			},
+			{
+				"Name":"Region",
+				"Width":1.98438
+			},
+			{
+				"Name":"PostalCode",
+				"Width":1.5875
+			},
+			{
+				"Name":"Country",
+				"Width":1.5875,
+				"Visible":false
+			},
+			{
+				"Name":"Phone",
+				"Width":2.98979
+			},
+			{
+				"Name":"Fax",
+				"Width":3.175,
+				"Visible":false
+			}
+		],
+		"ColumnContent":{
+			"Height":0.79375,
+			"ColumnContentCell":[
+				{
+					"Column":"CustomerID",
+					"DataField":"CustomerID"
+				},
+				{
+					"Column":"CompanyName",
+					"DataField":"CompanyName"
+				},
+				{
+					"Column":"ContactName",
+					"DataField":"ContactName"
+				},
+				{
+					"Column":"ContactTitle",
+					"DataField":"ContactTitle"
+				},
+				{
+					"Column":"Address",
+					"DataField":"Address"
+				},
+				{
+					"Column":"City",
+					"DataField":"City"
+				},
+				{
+					"Column":"Region",
+					"DataField":"Region"
+				},
+				{
+					"Column":"PostalCode",
+					"DataField":"PostalCode"
+				},
+				{
+					"Column":"Country",
+					"DataField":"Country"
+				},
+				{
+					"Column":"Phone",
+					"DataField":"Phone"
+				},
+				{
+					"Column":"Fax",
+					"DataField":"Fax"
+				}
+			]
+		},
+		"ColumnTitle":{
+			"BackColor":"C0C0C0",
+			"Height":0.79375,
+			"Font":{
+				"Name":"瀹嬩綋",
+				"Size":90000,
+				"Bold":true,
+				"Charset":134
+			},
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"CustomerID",
+					"BackColor":"FFFFFF",
+					"Text":"瀹㈡埛缂栧彿"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"CompanyName",
+					"BackColor":"FFFFFF",
+					"Text":"鍏徃鍚嶇О"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactName",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"ContactTitle",
+					"BackColor":"FFFFFF",
+					"Text":"鑱旂郴浜虹О璋�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Address",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板潃"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"City",
+					"BackColor":"FFFFFF",
+					"Text":"鍩庡競"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Region",
+					"BackColor":"FFFFFF",
+					"Text":"鍦板尯"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"PostalCode",
+					"BackColor":"FFFFFF",
+					"Text":"閭紪"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Country",
+					"BackColor":"FFFFFF",
+					"Text":"鍥藉"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Phone",
+					"BackColor":"FFFFFF",
+					"Text":"鐢佃瘽"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Fax",
+					"BackColor":"FFFFFF",
+					"Text":"浼犵湡"
+				}
+			]
+		}
+	},
+	"PageHeader":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox1",
+				"Anchor":"[Top|Right]",
+				"Left":2.19604,
+				"Top":0.396875,
+				"Width":13.7054,
+				"Height":0.47625,
+				"Font":{
+					"Name":"妤蜂綋",
+					"Size":120000,
+					"Bold":true,
+					"Charset":134
+				},
+				"Text":"娆㈣繋璁块棶Grid++Report缃戠珯www.rubylong.cn锛屼簡瑙f渶鏂颁骇鍝佷俊鎭��"
+			},
+			{
+				"Type":"Line",
+				"Name":"Line1",
+				"Anchor":"[Left|Top|Right]",
+				"Top":1.00542,
+				"Width":16.0073,
+				"Pen":{
+					"Width":2
+				}
+			}
+		]
+	},
+	"PageFooter":{
+		"Height":1.32292,
+		"Control":[
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox2",
+				"Anchor":"[Top|Right]",
+				"Left":13.2027,
+				"Top":0.396875,
+				"Width":2.59292,
+				"Height":0.608542,
+				"Text":"绗琜#SystemVar(PageNumber)#]椤� 鍏盵#SystemVar(PageCount)#]椤�"
+			},
+			{
+				"Type":"MemoBox",
+				"Name":"MemoBox3",
+				"Left":0.211667,
+				"Top":0.396875,
+				"Width":6.19125,
+				"Height":0.608542,
+				"Text":"鎵撳嵃鏃堕棿锛歔#SystemVar(CurrentDateTime):yyyy骞碝M鏈坉d鏃� HH:mm:ss#]"
+			}
+		]
+	},
+	"ReportHeader":[
+		{
+			"Height":0.978958,
+			"Control":[
+				{
+					"Type":"StaticBox",
+					"Name":"StaticBox1",
+					"Center":"Horizontal",
+					"Left":10.9008,
+					"Top":0.185208,
+					"Width":3.41313,
+					"Height":0.582083,
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":150000,
+						"Bold":true,
+						"Charset":134
+					},
+					"Text":"瀹㈡埛鍩烘湰淇℃伅"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git "a/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf" "b/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf"
new file mode 100644
index 0000000..c569fc1
--- /dev/null
+++ "b/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf"
@@ -0,0 +1,347 @@
+锘縊bject Report
+	Version='6.0.0.6'
+	Title='鐢熶骇浠诲姟鍗�'
+	PrintAsDesignPaper=F
+	Object Font
+		Name='瀹嬩綋'
+		Size=135000,0
+		Weight=400
+		Charset=134
+	End
+	Object Printer
+		Size=11
+		Width=14.8
+		Height=21
+		Oriention=Landscape
+		LeftMargin=0
+		TopMargin=0
+		RightMargin=0
+		BottomMargin=0
+	End
+	Object DetailGrid
+		CenterView=T
+		ShowColLine=F
+		ShowRowLine=F
+		Object Border
+			Styles=[]
+		End
+		Object Recordset
+			Items Field
+				Item
+					Name='PO'
+				End
+				Item
+					Name='浜у搧浠e彿'
+				End
+				Item
+					Name='缂栧彿'
+				End
+				Item
+					Name='鏁伴噺'
+				End
+				Item
+					Name='鏉$爜缂栧彿'
+				End
+				Item
+					Name='浜у搧鍨嬪彿'
+				End
+				Item
+					Name='棰滆壊'
+				End
+				Item
+					Name='妯″叿缂栧彿'
+				End
+				Item
+					Name='鍑�閲�'
+					Type=Currency
+					Format='0.#########;;#'
+				End
+				Item
+					Name='姣涢噸'
+					Type=Currency
+					Format='0.#########;;#'
+				End
+				Item
+					Name='鍠傛枡鎵瑰彿'
+				End
+				Item
+					Name='鎵瑰彿'
+				End
+				Item
+					Name='鏃ユ湡'
+					Type=DateTime
+					Format='yyyy-MM'
+				End
+				Item
+					Name='鍝佺墝'
+				End
+				Item
+					Name='瀹㈡埛鍨嬪彿'
+				End
+				Item
+					Name='鍘嬫満鍨嬪彿'
+				End
+			End
+		End
+		Items Column
+			Item
+				Name='Column3'
+				Width=21.0079
+			End
+		End
+		Object ColumnContent
+			Height=14.7902
+			RowsPerPage=1
+			Items ColumnContentCell
+				Item
+					Column='Column3'
+					FreeCell=T
+					Items Control
+						Item
+							Type=FreeGrid
+							Name='FreeGrid1'
+							Left=0.185208
+							Top=0.264583
+							Object Border
+								Styles=[DrawLeft|DrawTop|DrawRight|DrawBottom]
+							End
+							ColumnCount=11
+							RowCount=20
+							Items FreeGridColumn
+								Item[1]
+									Width=1.85208
+								End
+								Item[2]
+									Width=1.66688
+								End
+								Item[3]
+									Width=1.85208
+								End
+								Item[4]
+									Width=1.905
+								End
+								Item[5]
+									Width=2.16958
+								End
+								Item[6]
+									Width=1.61396
+								End
+								Item[7]
+									Width=1.85208
+								End
+								Item[8]
+									Width=2.35479
+								End
+								Item[9]
+									Width=2.03729
+								End
+								Item[10]
+									Width=1.64042
+								End
+								Item[11]
+									Width=1.48167
+								End
+							End
+							Items FreeGridRow
+								Item[1]
+									Height=1
+								End
+								Item[2]
+									Height=0.8
+								End
+								Item[3]
+									Height=0.8
+								End
+								Item[5]
+									Height=0.8
+								End
+								Item[6]
+									Height=0.7
+								End
+								Item[8]
+									Height=0.7
+								End
+								Item[9]
+									Height=0.7
+								End
+								Item[10]
+									Height=0.7
+								End
+								Item[11]
+									Height=0.7
+								End
+								Item[12]
+									Height=0.7
+								End
+								Item[13]
+									Height=0.7
+								End
+								Item[14]
+									Height=0.7
+								End
+								Item[15]
+									Height=0.7
+								End
+								Item[16]
+									Height=0.7
+								End
+								Item[17]
+									Height=0.7
+								End
+								Item[18]
+									Height=0.7
+								End
+								Item[19]
+									Height=0.7
+								End
+								Item[20]
+									Height=0.7
+								End
+							End
+							Items FreeGridCell
+								Item[1,1]
+									TextAlign=MiddleCenter
+									Text='鏉窞鏅鸿绉戞妧鏈夐檺鍏徃'
+									ColSpan=8
+								End
+								Item[1,9]
+									FreeCell=T
+									Items Control
+										Item
+											Type=Barcode
+											Name='Barcode6'
+											Left=1.5875
+											Width=2.01083
+											Height=1.79917
+											BarcodeType=QRCode
+											CaptionPosition=None
+											Text='[#鏉$爜缂栧彿#]'
+										End
+										Item
+											Type=FieldBox
+											Name='FieldBox1'
+											Left=0.608542
+											Top=2.01083
+											Width=3.99521
+											Height=0.396875
+										End
+									End
+									ColSpan=3
+									RowSpan=3
+								End
+								Item[2,1]
+									TextAlign=MiddleCenter
+									Text='浜у搧娴佷紶鍗�'
+									ColSpan=8
+								End
+								Item[3,1]
+									Text='PO锛�'
+									ColSpan=2
+								End
+								Item[3,3]
+									Text='[#PO#]'
+									ColSpan=2
+								End
+								Item[3,5]
+									ColSpan=4
+								End
+								Item[4,1]
+									Text='浜у搧浠e彿锛�'
+									ColSpan=2
+								End
+								Item[4,3]
+									Text='[#浜у搧浠e彿#]'
+									ColSpan=2
+								End
+								Item[4,5]
+									Text='鍒嗘壒鍙凤細'
+								End
+								Item[4,6]
+									ColSpan=2
+								End
+								Item[4,8]
+									Text='缂栧彿锛�'
+								End
+								Item[4,9]
+									Text='[#缂栧彿#]'
+									ColSpan=3
+								End
+								Item[5,1]
+									Text='妯″叿缂栧彿锛�'
+									ColSpan=2
+								End
+								Item[5,3]
+									Text='[#妯″叿缂栧彿#]'
+									ColSpan=5
+								End
+								Item[5,8]
+									Text='鍠傛枡鎵瑰彿锛�'
+								End
+								Item[5,9]
+									Text='[#鍠傛枡鎵瑰彿#]'
+									ColSpan=3
+								End
+								Item[6,1]
+									Text='鏃ユ湡'
+								End
+								Item[6,2]
+									Text='鐝'
+								End
+								Item[6,3]
+									Text='鎿嶄綔宸�'
+								End
+								Item[6,4]
+									Text='宸ュ簭'
+								End
+								Item[6,5]
+									Text='璁惧缂栧彿'
+								End
+								Item[6,6]
+									Text='鍔犲伐鏁�'
+								End
+								Item[6,7]
+									Text='鍚堟牸鏁�'
+								End
+								Item[6,8]
+									Text='鍒嗗崟閲�'
+								End
+								Item[6,9]
+									Text='搴熷搧鏁伴噺'
+								End
+								Item[6,10]
+									Text='妫�楠屽憳'
+								End
+								Item[6,11]
+									Text='澶囨敞'
+								End
+							End
+						End
+					End
+				End
+			End
+		End
+		Object ColumnTitle
+			Height=0
+			Items ColumnTitleCell
+				Item
+					GroupTitle=F
+					Column='Column3'
+					Text='Column1'
+				End
+			End
+		End
+	End
+	Items ReportHeader
+		Item
+			Name='ReportHeader1'
+			Height=0
+			RepeatOnPage=T
+		End
+	End
+	Items ReportFooter
+		Item
+			Name='ReportFooter1'
+			Height=0
+		End
+	End
+End
diff --git "a/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf" "b/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf"
new file mode 100644
index 0000000..7c20bc6
--- /dev/null
+++ "b/public/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf"
@@ -0,0 +1,450 @@
+锘縶
+	"Version":"6.8.2.2",
+	"Title":"浣犵殑鎶ヨ〃鏍囬",
+	"PrintAsDesignPaper":false,
+	"Font":{
+		"Name":"瀹嬩綋",
+		"Size":105000,
+		"Weight":400,
+		"Charset":134
+	},
+	"WatermarkAlignment":"BottomRight",
+	"Printer":{
+		"Size":11,
+		"Width":14.8,
+		"Height":21,
+		"Oriention":"Landscape",
+		"LeftMargin":0.5,
+		"TopMargin":0.4,
+		"RightMargin":0.5,
+		"BottomMargin":0.5
+	},
+	"DetailGrid":{
+		"CenterView":true,
+		"Border":{
+			"Pen":{
+				"Width":1.5
+			}
+		},
+		"Recordset":{
+			"Field":[
+				{
+					"Name":"宸ュ崟鍙�",
+					"DBFieldName":"wo_code"
+				},
+				{
+					"Name":"浜у搧缂栫爜",
+					"DBFieldName":"partcode"
+				},
+				{
+					"Name":"浜у搧鍚嶇О",
+					"DBFieldName":"partname"
+				},
+				{
+					"Name":"浜у搧瑙勬牸",
+					"DBFieldName":"partspec"
+				},
+				{
+					"Name":"宸ヨ壓璺嚎",
+					"DBFieldName":"routename"
+				},
+				{
+					"Name":"宸ュ崟鏁伴噺",
+					"DBFieldName":"orderqty"
+				},
+				{
+					"Name":"鎵撳嵃浜哄憳",
+					"DBFieldName":"lm_user"
+				},
+				{
+					"Name":"鎵撳嵃鏃堕棿",
+					"DBFieldName":"lm_date"
+				},
+				{
+					"Name":"宸ュ簭鍙�",
+					"DBFieldName":"seq"
+				},
+				{
+					"Name":"宸ュ簭",
+					"DBFieldName":"stepname"
+				},
+				{
+					"Name":"鍔犲伐鏁伴噺",
+					"DBFieldName":"plan_qty"
+				},
+				{
+					"Name":"鍚堟牸鏁伴噺",
+					"DBFieldName":"good_qty"
+				},
+				{
+					"Name":"涓嶈壇鏁伴噺",
+					"DBFieldName":"ng_qty"
+				},
+				{
+					"Name":"浜岀淮鐮�",
+					"DBFieldName":"stepqrcode"
+				}
+			]
+		},
+		"Column":[
+			{
+				"Name":"宸ュ簭鍙�",
+				"Width":1.74625
+			},
+			{
+				"Name":"Column5",
+				"Width":2.98979
+			},
+			{
+				"Name":"杈呮暟閲�",
+				"Width":4.60375
+			},
+			{
+				"Name":"鏀舵枡浠撳簱",
+				"Width":1.98438
+			},
+			{
+				"Name":"鎵瑰彿",
+				"Width":2.01083
+			},
+			{
+				"Name":"Column2",
+				"Width":2.40771
+			},
+			{
+				"Name":"Column4",
+				"Width":4.20688
+			}
+		],
+		"ColumnContent":{
+			"Height":1.40229,
+			"AdjustRowHeight":false,
+			"ColumnContentCell":[
+				{
+					"Column":"宸ュ簭鍙�",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"TextAlign":"MiddleCenter",
+					"ShrinkFontToFit":true,
+					"DataField":"宸ュ簭鍙�"
+				},
+				{
+					"Column":"Column5",
+					"FreeCell":true,
+					"Control":[
+						{
+							"Type":"Barcode",
+							"Name":"Barcode2",
+							"Left":0.608542,
+							"Top":0.1,
+							"Width":1.5875,
+							"Height":1.19063,
+							"BarcodeType":"QRCode",
+							"CaptionPosition":"None",
+							"Text":"[#浜岀淮鐮�#]"
+						}
+					]
+				},
+				{
+					"Column":"杈呮暟閲�",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"DataField":"宸ュ簭"
+				},
+				{
+					"Column":"鏀舵枡浠撳簱",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"DataField":"鍔犲伐鏁伴噺"
+				},
+				{
+					"Column":"鎵瑰彿",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"WordWrap":true,
+					"DataField":"鍚堟牸鏁伴噺"
+				},
+				{
+					"Column":"Column2",
+					"WordWrap":true,
+					"DataField":"涓嶈壇鏁伴噺"
+				},
+				{
+					"Column":"Column4",
+					"WordWrap":true
+				}
+			]
+		},
+		"ColumnTitle":{
+			"Height":0.79375,
+			"RepeatStyle":"OnPage",
+			"ColumnTitleCell":[
+				{
+					"GroupTitle":false,
+					"Column":"宸ュ簭鍙�",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"宸ュ簭鍙�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column5",
+					"TextAlign":"MiddleCenter",
+					"Text":"浜岀淮鐮�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"杈呮暟閲�",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"宸ュ簭"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"鏀舵枡浠撳簱",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍔犲伐鏁�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"鎵瑰彿",
+					"Font":{
+						"Name":"瀹嬩綋",
+						"Size":90000,
+						"Weight":400,
+						"Charset":134
+					},
+					"TextAlign":"MiddleCenter",
+					"Text":"鍚堟牸鏁�"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column2",
+					"TextAlign":"MiddleCenter",
+					"Text":"涓嶈壇鏁伴噺"
+				},
+				{
+					"GroupTitle":false,
+					"Column":"Column4",
+					"TextAlign":"MiddleCenter",
+					"Text":"澶囨敞"
+				}
+			]
+		}
+	},
+	"Parameter":[
+		{
+			"Name":"Parameter1"
+		},
+		{
+			"Name":"Parameter2"
+		}
+	],
+	"ReportHeader":[
+		{
+			"Name":"ReportHeader1",
+			"Height":3.41313,
+			"Control":[
+				{
+					"Type":"FreeGrid",
+					"Name":"FreeGrid1",
+					"Dock":"Fill",
+					"Border":{
+						"Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+						"Pen":{
+							"Color":"FFFFFF"
+						}
+					},
+					"ColLine":{
+						"Color":"FFFFFF"
+					},
+					"RowLine":{
+						"Color":"FFFFFF"
+					},
+					"FreeGridColumn":[
+						{
+							"index":1,
+							"Width":1.87854
+						},
+						{
+							"index":2,
+							"Width":5.97958
+						},
+						{
+							"index":3,
+							"Width":1.82563
+						},
+						{
+							"index":4,
+							"Width":6.21771
+						},
+						{
+							"index":5,
+							"Width":4.10104
+						}
+					],
+					"FreeGridRow":[
+						{
+							"index":1,
+							"Height":0.79375
+						},
+						{
+							"index":5,
+							"Height":0.687917
+						}
+					],
+					"FreeGridCell":[
+						{
+							"row":1,
+							"col":1,
+							"Font":{
+								"Name":"瀹嬩綋",
+								"Size":142500,
+								"Bold":true,
+								"Charset":134
+							},
+							"TextAlign":"MiddleCenter",
+							"Text":"娴佺▼鍗�",
+							"ColSpan":5
+						},
+						{
+							"row":2,
+							"col":1,
+							"Text":"宸ュ崟鍙凤細"
+						},
+						{
+							"row":2,
+							"col":2,
+							"Text":"[#宸ュ崟鍙�#]"
+						},
+						{
+							"row":2,
+							"col":3,
+							"Text":"浜у搧缂栫爜锛�"
+						},
+						{
+							"row":2,
+							"col":4,
+							"Text":"[#浜у搧缂栫爜#]"
+						},
+						{
+							"row":2,
+							"col":5,
+							"FreeCell":true,
+							"Control":[
+								{
+									"Type":"Barcode",
+									"Name":"Barcode1",
+									"Dock":"Right",
+									"Center":"Both",
+									"Left":1.29646,
+									"Width":2.77813,
+									"BarcodeType":"QRCode",
+									"CaptionPosition":"None",
+									"Text":"[#宸ュ崟鍙�#]"
+								}
+							],
+							"RowSpan":4
+						},
+						{
+							"row":3,
+							"col":1,
+							"Text":"浜у搧鍚嶇О锛�"
+						},
+						{
+							"row":3,
+							"col":2,
+							"Text":"[#浜у搧鍚嶇О#]"
+						},
+						{
+							"row":3,
+							"col":3,
+							"Text":"浜у搧瑙勬牸锛�"
+						},
+						{
+							"row":3,
+							"col":4,
+							"Text":"[#浜у搧瑙勬牸#]"
+						},
+						{
+							"row":4,
+							"col":1,
+							"Text":"宸ュ崟鏁伴噺锛�"
+						},
+						{
+							"row":4,
+							"col":2,
+							"Text":"[#宸ュ崟鏁伴噺#]"
+						},
+						{
+							"row":4,
+							"col":3,
+							"Text":"宸ヨ壓璺嚎锛�"
+						},
+						{
+							"row":4,
+							"col":4,
+							"Text":"[#宸ヨ壓璺嚎#]"
+						},
+						{
+							"row":5,
+							"col":1,
+							"Text":"鎵撳嵃浜哄憳锛�"
+						},
+						{
+							"row":5,
+							"col":2,
+							"Text":"[#鎵撳嵃浜哄憳#]"
+						},
+						{
+							"row":5,
+							"col":3,
+							"Text":"鎵撳嵃鏃堕棿锛�"
+						},
+						{
+							"row":5,
+							"col":4,
+							"Text":"[#鎵撳嵃鏃堕棿#]"
+						}
+					]
+				}
+			],
+			"RepeatOnPage":true
+		}
+	]
+}
\ No newline at end of file
diff --git a/public/grwebapp.js b/public/grwebapp.js
new file mode 100644
index 0000000..000690d
--- /dev/null
+++ b/public/grwebapp.js
@@ -0,0 +1,490 @@
+// 鍙橀噺 _grwebapp_url 鎸囧畾WEB鎶ヨ〃瀹㈡埛绔畨瑁呯▼搴忕殑涓嬭浇URL锛屽綋閫氳繃WebSocket閫氳涓嶆垚鍔熸椂锛屾彁绀虹敤鎴风敤姝RL涓嬭浇绋嬪簭杩涜瀹夎銆�
+// 鎴栫敤浜庤嚜鍔ㄦ洿鏂癢EB鎶ヨ〃瀹㈡埛绔椂涓嬭浇鏂扮増鏈紝寮�鍙戣�呭簲灏� _grwebapp_url 鏀逛负鑷繁鏈嶅姟鍣ㄧ殑URL锛屾柟渚跨敤鎴蜂粠鍙闂殑WEB鏈嶅姟鍣ㄤ笅杞�
+// 鍙橀噺 _grwebapp_version 鎸囧畾鑷姩鏇存柊鏃讹紝瀹㈡埛绔▼搴忛渶瑕佺殑鐗堟湰鍙凤紝濡傛灉灏忎簬姝ょ増鏈彿锛屽垯鑷姩杩涜鏇存柊
+var _grwebapp_websocket = null
+var _grwebapp_url = 'http://www.rubylong.cn/download/gridreport6-webapp.exe'
+var _grwebapp_version = '6.8.2.0'
+var webapp_onmessage // 濡傛灉闇�瑕佸搷搴旀墽琛屼换鍔″悗鐨勬秷鎭搷搴旓紝搴旇鍐欎竴涓悕绉颁负 webapp_onmessage 鐨� function
+
+function webapp_url_method_valid(url, method) {
+  if (!method) {
+    if (typeof url === 'object') {
+      method = url.method
+      url = url.url
+    }
+    if (!method) {
+      method = /.grf|.txt|.xml|.json/.test(url) ? 'GET' : 'POST'
+    }
+  }
+  return method
+}
+
+// 姝ゅ嚱鏁扮敤浜庡垽鏂竴涓彉閲忔槸鍚︿负URL瀛楃涓诧紝濡傛灉绫诲瀷涓哄瓧绗︿覆涓旈涓潪绌虹櫧瀛楃涓嶄负鈥�<鈥濅笌鈥渰鈥濆嵆鍒ゅ畾涓篣RL
+// 濡傛灉鍙傛暟鏄竴涓猳bject瀵硅薄锛屼笖鍏跺叿鏈夆�渦rl鈥濆睘鎬э紝鍒欏叾鏄疕TTPParam瀵硅薄锛屾槸涓�涓猽rl鍙傛暟
+var webapp_is_url = function(p) {
+  var index = 0
+  var len = p.length
+  var ch
+
+  // 瀵硅薄濡傛灉鏈塽rl灞炴�э紝鍒ゅ畾涓簎rl
+  if (typeof p === 'object') {
+    return !!p.url
+  }
+
+  if (typeof p !== 'string') {
+    return 0
+  }
+
+  // 棣栧厛鎵惧埌绗竴涓潪绌虹櫧瀛楃
+  while (index < len) {
+    ch = p[index]
+    if (!/\s/g.test(ch)) { break }
+    index++
+  }
+
+  // 濡傛灉涓嶆槸xml鎴杍son鏂囨湰涓诧紝鍒欏垽瀹氫负url
+  return (ch != '{') && (ch != '<') && (p.substr(index, 4) != '_WR_')
+}
+
+function webapp_ajax(method, url, callback, cbthis, params) {
+  var xmlhttp = new XMLHttpRequest()
+  var headers
+
+  xmlhttp.onreadystatechange = function() {
+    if (xmlhttp.readyState == 4 && xmlhttp.status > 0) {
+      callback.call(cbthis, xmlhttp, xmlhttp.status == 200)
+    }
+  }
+
+  xmlhttp.onerror = function() {
+    callback.call(cbthis, xmlhttp, 0)
+  }
+
+  if (typeof url === 'object') {
+    headers = url.headers
+    if (typeof headers === 'string') {
+      headers = JSON.parse(headers)
+    }
+
+    if (!method) {
+      method = url.method
+    }
+
+    if (!params) {
+      params = url.data
+    }
+
+    url = url.url
+  }
+
+  xmlhttp.open(webapp_url_method_valid(url, method), url, true) // 寮傛璇锋眰鏁版嵁
+
+  if (headers && typeof headers === 'object') {
+    for (var key in headers) {
+      xmlhttp.setRequestHeader(key, headers[key])
+    }
+  }
+
+  xmlhttp.send(params) // POST 鎴� PUT 鍙互浼犻�掑弬鏁�
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+// 鍒涘缓鍚姩WEB鎶ヨ〃瀹㈡埛绔殑URL鍗忚鍙傛暟
+function _gr_up_href(args) {
+  console.log(args, 788)
+  return 'grwebapp://' + (args ? JSON.stringify(args) : '')
+}
+
+// 閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+// 鍙傛暟 appUpdate 鎸囧畾鏄惁鑷姩鏇存柊WEB鎶ヨ〃瀹㈡埛绔▼搴忥紝鏍规嵁_grwebapp_version涓庡凡缁忓畨瑁呯殑绋嬪簭鐗堟湰杩涜姣旇緝锛屾寜闇�杩涜鑷姩鍗囩骇
+function webapp_urlprotocol_startup(appUpdate) {
+  var arg = appUpdate ? {
+    type: 'update',
+    url: _grwebapp_url,
+    ver: _grwebapp_version
+  } : 0
+  window.location.href = _gr_up_href(arg)
+}
+
+// 濡傛灉WEB鎶ヨ〃瀹㈡埛绔▼搴忔湭杩愯锛屽厛閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+// 閫氱煡WEB鎶ヨ〃瀹㈡埛绔▼搴忔牴鎹ā鏉夸笌鏁版嵁鐨刄RL锛屼互鍙婄敓鎴愮被鍨嬬瓑鐩稿叧鍙傛暟杩涜鎶ヨ〃鐢熸垚锛�
+function webapp_urlprotocol_run(args, report_url, data_url) {
+  if (report_url) {
+    args.report = report_url
+  }
+  if (data_url) {
+    args.data = data_url
+  }
+
+  window.location.href = _gr_up_href(args)
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+// 妫�鏌ebSocket鏄惁宸茬粡鍒涘缓骞堕�氳杩炴帴鎴愬姛
+function webapp_ws_check(slience) {
+  if (!slience) {
+    if (!_grwebapp_websocket) {
+      alert('WebSocket娌℃湁鍒涘缓锛屾棤娉曞彂閫佹暟鎹紒')
+    } else if (_grwebapp_websocket.readyState != 1) {
+      alert('WebSocket姝e湪杩炴帴涓紝鏆備笉鑳藉彂閫佹暟鎹紒')
+    }
+  }
+  return _grwebapp_websocket && (_grwebapp_websocket.readyState === 1)
+}
+
+// 鍒涘缓骞堕�氳杩炴帴WebSocket
+function webapp_ws_create(onopen) {
+  // 濡傛灉宸茬粡鍒涘缓锛屼笖杩炴帴姝e父锛屽垯涓嶈鍐嶆鍒涘缓
+  if (_grwebapp_websocket && _grwebapp_websocket.readyState === 1) {
+    return
+  }
+
+  // 鍒ゆ柇褰撳墠娴忚鍣ㄦ槸鍚︽敮鎸乄ebSocket
+  if ('WebSocket' in window) {
+    _grwebapp_websocket = new WebSocket('ws://127.0.0.1:22333')
+
+    // 杩炴帴鎴愬姛寤虹珛鐨勫洖璋冩柟娉�
+    if (onopen) {
+      _grwebapp_websocket.onopen = function() {
+        // alert("_grwebapp_websocket.onopen");
+        onopen()
+      }
+    }
+    debugger
+    // 鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶
+    if (window.webapp_onmessage) {
+      _grwebapp_websocket.onmessage = function(event) {
+        window.webapp_onmessage(event)
+      }
+    }
+
+    _grwebapp_websocket.onerror = function() {
+      var children = document.body.children
+      var childrenLen = children.length
+      var referNode = childrenLen ? children[0] : null
+      var newNode = document.createElement('h3')
+
+      _grwebapp_websocket = null
+
+      // 寮瑰嚭alert鎻愮ず淇℃伅锛屽彲淇敼涓烘洿閫傚悎鐨勮〃杩�
+      // alert("鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸鈥榃EB鎶ヨ〃瀹㈡埛绔▼搴忊�欏湪鏈満娌℃湁瀹夎锛屾垨鍦ㄦ姤琛ㄧ綉椤靛姞杞芥椂娌℃湁璋冪敤鈥榳ebapp_urlprotocol_startup鈥欏嚱鏁拌繘琛屽惎鍔ㄣ��");
+      alert('鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸WEB鎶ヨ〃瀹㈡埛绔▼搴忔病鏈夊惎鍔紝鎴栧叾鍦ㄦ湰鏈烘病鏈夊畨瑁咃紝璇锋牴鎹綉椤甸《閮ㄧ殑鎻愮ず杩涜鐩稿簲鐨勬搷浣溿��')
+
+      // 鍦ㄧ綉椤垫渶鍓嶉潰鍔犱笂鎻愮ず涓嬭浇鐨勬枃瀛楋紝鍙慨鏀逛负鏇撮�傚悎鐨勮〃杩颁笌鐣岄潰褰㈠紡
+      // newNode.innerHTML = '鐗瑰埆鎻愮ず锛�<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�';
+      newNode.innerHTML = '鐗瑰埆鎻愮ず锛氬皾璇�<a href="javascript:webapp_urlprotocol_startup();">鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>銆傛垨<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�'
+      document.body.insertBefore(newNode, referNode)
+    }
+
+    // 杩炴帴鍏抽棴鐨勫洖璋冩柟娉�
+    _grwebapp_websocket.onclose = function() {
+      _grwebapp_websocket = null
+    }
+
+    // 鎰熻杩欓儴鍒嗗彲浠ヤ笉瑕�
+    // 鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂璤grwebapp_websocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
+    // window.onbeforeunload = function () {
+    //    if (_grwebapp_websocket) {
+    //        _grwebapp_websocket.close();
+    //    }
+    // }
+  } else {
+    alert('褰撳墠娴忚鍣ㄤ笉鏀寔HTML5鐨刉ebSocket锛岃閫夌敤鏇存柊鐗堟湰鐨勬祻瑙堝櫒锛�')
+  }
+}
+
+function webapp_build_one(pack, report, report_method, data, data_method, callback_fun, dataParams) {
+  if (!report) {
+    alert('鍦ㄥ弬鏁颁腑娌℃湁瀹氫箟鎶ヨ〃妯℃澘鐨剈rl锛屾姤琛ㄤ笉鑳界敓鎴愶紒')
+    return
+  }
+
+  if (data) {
+    if (webapp_is_url(data)) {
+      webapp_ajax(data_method, data, function(xmlhttp, success) {
+        if (success) {
+          pack.data = xmlhttp.responseText
+          callback_fun()
+        } else {
+          // alert("杞藉叆鎶ヨ〃鏁版嵁澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+          window.open(data, 'blank')
+        }
+      }, undefined, dataParams)
+    } else {
+      pack.data = (typeof data === 'object') ? JSON.stringify(data) : data
+      callback_fun()
+    }
+  } else {
+    pack.data = ''
+  }
+
+  if (webapp_is_url(report)) {
+    webapp_ajax(report_method, report, function(xmlhttp, success) {
+      if (success) {
+        pack.report = xmlhttp.responseText
+        callback_fun()
+      } else {
+        // alert("杞藉叆鎶ヨ〃妯℃澘澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+        window.open(report, 'blank')
+      }
+    })
+  } else {
+    pack.report = (typeof report === 'object') ? JSON.stringify(report) : report
+    callback_fun()
+  }
+}
+
+// 灏嗗弬鏁伴�氳繃WebSocket鍙戦�佺粰WEB鎶ヨ〃瀹㈡埛绔紝WEB鎶ヨ〃瀹㈡埛绔墽琛屽搴旂殑浠诲姟
+// 鍙傛暟璇存槑锛�
+// args锛�
+//  鎶ヨ〃鐢熸垚鐩稿叧鐨勫弬鏁帮紝涓轰竴涓粨鏋勪綋瀵硅薄鎴栫粨鏋勪綋瀵硅薄鏁扮粍銆�
+//  褰撳弬鏁颁负鏁扮粍鏃讹紝琛ㄧず鏄墽琛屾壒閲忎换鍔°�傛鏃跺悗闈㈢殑 report 涓� data 鍙傛暟涓嶄細琚敤鍒般��
+//  缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+// report锛�
+//  鎶ヨ〃妯℃澘鏂囨湰锛屾姤琛ㄥ畾涔夋牸寮忓繀椤讳负JSON鏍煎紡銆傛鍙傛暟鍙┖锛屼负绌鸿〃绀烘墽琛岄潪鎶ヨ〃鐢熸垚浠诲姟锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃妯℃澘銆�
+// data锛�
+//  鎶ヨ〃鏁版嵁鏂囨湰锛屾鍙傛暟鍙┖锛屾姤琛ㄦ棤闇�鎻愪緵鏁版嵁锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃鏁版嵁銆�
+//
+//  鎶ヨ〃鏁版嵁瀵瑰簲鐨� XML 鎴� JSON 鏂囨湰锛岃鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛��
+function webapp_ws_run(variant_args, report, data) {
+  function run_one(args, reportText, dataText) {
+    var msg
+
+    if (webapp_ws_check()) {
+      if (typeof args === 'string') {
+        args = {
+          type: args
+        }
+      }
+      msg = JSON.stringify(args)
+
+      if (reportText) {
+        if (reportText.substr(0, 4) === '_WR_') {
+          msg += reportText.length
+        }
+        msg += reportText
+
+        if (dataText) {
+          msg += dataText
+        }
+      }
+
+      _grwebapp_websocket.send(msg)
+    }
+  } // end of run_one
+
+  if (!webapp_ws_check(1)) {
+    // 濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+    webapp_ws_create(function() {
+      webapp_ws_run(variant_args, report, data)
+    })
+    return
+  }
+
+  if (Array.isArray(variant_args)) {
+    variant_args.forEach(function(args) {
+      run_one(args)
+    })
+  } else {
+    run_one(variant_args, report, data)
+  }
+}
+
+// 閫氳繃 ajax 鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹紝鐒跺悗閫氳繃 WebSocket 鍙戦�佺浉鍏虫暟鎹粰WEB鎶ヨ〃瀹㈡埛绔苟鐢熸垚鎶ヨ〃
+// 鍙傛暟鏃㈠彲浠ユ槸鍗曚釜缁撴瀯浣撳璞★紝涔熷彲浠ユ槸缁撴瀯浣撳璞℃暟缁勩�傚鏋滄槸鏁扮粍锛岃〃绀烘垚鎵圭敓鎴愬涓姤琛ㄣ��
+// 缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒嗐��
+function webapp_ws_ajax_run(variant_args) {
+  function run_one(args) {
+    var report = args.report
+    var data = args.data
+    var report_method = args.report_method
+    var data_method = args.data_method
+    var dataUrlParams = args.dataUrlParams
+    var pack = {}
+
+    function run() {
+      // 鍙湁褰搑eport涓巇ata閮借祴鍊间箣鍚庢墠杩愯锛屽嵆鍚慦EB鎶ヨ〃瀹㈡埛绔▼搴忓彂閫佹暟鎹�
+      if (pack.report && pack.data !== undefined) {
+        webapp_ws_run(args, pack.report, pack.data)
+      }
+    }
+
+    // 鍥犱负args闇�瑕佷紶閫掔粰WEBAPP锛宺eport涓巇ata鐨剈rl鐩稿叧鐨勫弬鏁颁笉闇�瑕佷紶閫掞紝鎵�浠ュ皢鍏跺垹闄ゆ帀
+    delete args.report
+    delete args.data
+    delete args.report_method
+    delete args.data_method
+    delete args.dataUrlParams
+
+    webapp_build_one(pack, report, report_method, data, data_method, run, dataUrlParams)
+  } // end of run_one
+
+  if (!webapp_ws_check(1)) {
+    // 濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+    webapp_ws_create(function() {
+      webapp_ws_ajax_run(variant_args)
+    })
+    return
+  }
+
+  if (Array.isArray(variant_args)) {
+    variant_args.forEach(function(args) {
+      run_one(args)
+    })
+  } else {
+    run_one(variant_args)
+  }
+}
+
+// 閫氳繃 ajax 鏂瑰紡鑾峰彇澶氫釜鎶ヨ〃鐨勬ā鏉夸笌鏁版嵁锛岀劧鍚庣敤 WebSocket 灏嗘暟鎹竴娆℃�у彂閫佺粰WEB鎶ヨ〃瀹㈡埛绔▼搴忋��
+// 瀹炵幇澶氫釜鎶ヨ〃鍚屾椂鐢熸垚鍦ㄤ竴涓换鍔′腑(搴旂敤Grid++Report鐨勭嫭绔嬪瓙鎶ヨ〃鍔熻兘瀹炵幇)锛岃揪鍒板涓姤琛ㄥ悓鏃堕瑙堛�佹墦鍗颁笌鏁版嵁瀵煎嚭
+function webapp_ws_ajax_together(args, reports) {
+  var reportCount = reports.length
+  var reportPacks = []
+  var gettedCount = 0 // 鎸囩ず宸茬粡鑾峰彇鍒版暟鎹殑鎶ヨ〃涓暟
+
+  function ajaxRequestOne(arg, index) {
+    var report = arg.report
+    var data = arg.data
+    var report_method = arg.report_method
+    var data_method = arg.data_method
+    var dataUrlParams = arg.dataUrlParams
+    var pack = reportPacks[index]
+
+    function try_ws_send() {
+      var msg
+      var dataMsg = ''
+      var lengths = []
+
+      if (pack.report && pack.data !== undefined) {
+        if (++gettedCount >= reportCount) { // 鍙湁褰撳叏閮ㄦ姤琛ㄧ殑妯℃澘涓庢暟鎹兘宸茬粡鑾峰彇鍒颁箣鍚庯紝鎵嶄細鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹暟鎹�
+          msg = JSON.stringify(args)
+
+          reportPacks.forEach(function(item) {
+            var report = item.report
+            var data = item.data
+            var reportLen = report.length
+            var reportLenText = ''
+
+            if (report.substr(0, 4) === '_WR_') {
+              reportLenText += reportLen
+              dataMsg += reportLenText
+              reportLen += reportLenText.length
+            }
+            dataMsg += report
+
+            if (data) {
+              dataMsg += data
+            }
+
+            lengths.push(reportLen + data.length)
+          })
+
+          msg += JSON.stringify(lengths)
+          msg += dataMsg
+
+          _grwebapp_websocket.send(msg)
+        }
+      }
+    }
+
+    webapp_build_one(pack, report, report_method, data, data_method, try_ws_send, dataUrlParams)
+  } // end of ajaxRequestOne
+
+  if (!webapp_ws_check(1)) {
+    // 濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+    webapp_ws_create(function() {
+      webapp_ws_ajax_together(args, reports)
+    })
+    return
+  }
+
+  reports.forEach(function(report, index) {
+    reportPacks.push({})
+    ajaxRequestOne(report, index)
+  })
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+// 閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬墍鏈夋墦鍗版満淇℃伅鐨勬寚浠�
+// 鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛愩��
+function webapp_ws_fun_Printers() {
+  webapp_ws_run({
+    type: 'fun',
+    fun: 'Printers'
+  })
+}
+
+// 閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬寚瀹氭墦鍗版満鐨勫叏閮ㄥ彲鐢ㄧ焊寮犵殑鎸囦护
+// 鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛�
+function webapp_ws_fun_PrinterPapers(printer) {
+  webapp_ws_run({
+    type: 'fun',
+    fun: 'PrinterPapers',
+    printer: printer
+  })
+}
+
+// 閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佸仠姝㈠綋鍓嶆姤琛ㄩ瑙堝苟鍏抽棴棰勮绐楀彛鐨勬寚浠�
+function webapp_ws_fun_StopPreview() {
+  webapp_ws_run({
+    type: 'fun',
+    fun: 'StopPreview'
+  })
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+// 閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹秷鎭繘琛岃嚜鍔ㄦ洿鏂版鏌ュ鐞�
+function webapp_ws_autoupdate() {
+  webapp_ws_run({
+    type: 'update',
+    url: _grwebapp_url,
+    ver: _grwebapp_version
+  })
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+// 涓篣RL杩藉姞涓�涓悕涓篿d鐨勯殢鏈烘暟鍙傛暟锛岀敤浜庨槻姝㈡祻瑙堝櫒缂撳瓨銆�
+// 鎶ヨ〃妯℃澘閲嶆柊璁捐鍚庯紝鍥犱负娴忚鍣ㄧ紦瀛樿�岃鎶ヨ〃鐢熸垚涓嶈兘鍙嶆槧鍑烘柊淇敼鐨勮璁$粨鏋滐紝URL鍚庤拷鍔犱竴涓殢鏈烘暟鍙傛暟鍙互閬垮厤杩欐牱鐨勯棶棰�
+// 鍙傛暟url蹇呴』鏄潤鎬佺殑URL锛屽叾鍚庢湰韬棤浠讳綍鍙傛暟
+// 濡傛灉妯℃澘鍑犱箮涓嶆�庝箞淇敼锛屽彲浠ュ幓鎺夊鏈嚱鏁扮殑璋冪敤
+function urlAddRandomNo(url) {
+  return url + '?id=' + Math.floor(Math.random() * 10000)
+}
+
+// 鏍规嵁褰撳墠缃戦〉URL鑾峰彇鍒板綋鍓峎EB鏈嶅姟鍣ㄧ殑鏍筓RL锛屽苟璁板綍鍦� window.rootURL 涓�
+function gr_extractRootURL() {
+  var path = window.location.pathname
+  var index = path.lastIndexOf('/')
+
+  window.rootURL = window.location.protocol + '//' + window.location.host
+  if (index >= 0) {
+    path = path.substr(0, index)
+
+    // demmo鐨勬牴鐩綍鍦ㄥ綋鍓嶉〉闈㈢殑1绾х洰褰曚箣涓�
+    index = path.lastIndexOf('/')
+    if (index >= 0) {
+      path = path.substr(0, index)
+    }
+
+    window.rootURL += path
+  }
+  window.rootURL += '/'
+}
+
+// vue涓娇鐢ㄥ皢涓嬪垪娉ㄩ噴寮�鏀�
+export {
+  webapp_url_method_valid,
+  webapp_urlprotocol_startup,
+  webapp_ajax,
+  webapp_ws_ajax_run,
+  webapp_urlprotocol_run,
+  urlAddRandomNo,
+  webapp_onmessage,
+  webapp_ws_fun_StopPreview,
+  webapp_ws_fun_PrinterPapers,
+  webapp_ws_fun_Printers,
+  webapp_ws_ajax_together,
+  webapp_ws_autoupdate,
+  gr_extractRootURL
+}
diff --git a/public/index.html b/public/index.html
index fa2be91..84a2031 100644
--- a/public/index.html
+++ b/public/index.html
@@ -6,6 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
+    <script src="./grwebapp.js"></script>
   </head>
   <body>
     <noscript>
diff --git a/public/webapp-ws-tutorial.htm b/public/webapp-ws-tutorial.htm
new file mode 100644
index 0000000..863dc10
--- /dev/null
+++ b/public/webapp-ws-tutorial.htm
@@ -0,0 +1,239 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+  <title>WEB鎶ヨ〃瀹㈡埛绔娇鐢ㄦ暀绋�(WebSocket) - 閿愭氮WEB鎶ヨ〃</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+  <meta name="Description" content="閿愭氮HTML5鎶ヨ〃搴旂敤WEB鎶ヨ〃瀹㈡埛绔疄鐜版墦鍗颁笌鏁版嵁瀵煎嚭銆�"/>
+  <meta name="Keywords" content="WEB鎶ヨ〃,WEB鎵撳嵃,HTML5鎶ヨ〃,WEB鎶ヨ〃瀹㈡埛绔�"/>
+  <script src="grwebapp.js"></script>
+  <script language="javascript" type="text/javascript">
+
+    import {webapp_urlprotocol_startup} from "./grwebapp";
+
+    function window_onload() {
+      console.log('鎵ц浜嗭紒')
+      //*杩欏彞鐗瑰埆閲嶈*锛氬彧鏈夊湪WEB鎶ヨ〃瀹㈡埛绔▼搴忓悗锛屾墠鑳借繘琛學ebSocket閫氳
+      //濡傛灉WEB鎶ヨ〃瀹㈡埛绔▼搴忎负寮�鏈鸿嚜鍚姩锛屼互涓嬭皟鐢ㄥ簲璇ュ幓鎺夈�傛洿澶氳鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->閮ㄧ讲涓庡畨瑁呪�濋儴鍒嗕腑涓庤胺姝孋hrome娴忚鍣ㄧ殑鐩稿叧璇存槑
+      webapp_urlprotocol_startup(); //鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴忥紝浠ヤ究渚﹀惉鎺ュ彈 WebSocket 鏁版嵁
+    }
+
+    //娑堟伅鍝嶅簲鍑芥暟锛屾帴鍙梂EB鎶ヨ〃瀹㈡埛绔墽琛屽畬鎵撳嵃涓庢暟鎹鍑虹瓑浠诲姟鍥炲彂鐨勬秷鎭�
+    //濡傛灉涓嶈鍝嶅簲浠诲姟鎵ц瀹屾秷鎭紝姝ゅ嚱鏁板彲浠ヤ笉鐢ㄥ畾涔夛紝鐩存帴鍘绘帀鍗冲彲銆�
+    function webapp_onmessage(event) {
+      var message = JSON.parse(event.data);
+
+      //鍦ㄥ悜鎵撳嵃鏈哄彂閫佸畬鎵撳嵃鏁版嵁鍚庡搷搴旂殑娑堟伅锛屽湪鍑芥暟浣撲腑瀹屾垚鑷繁鐨勪换鍔�
+      function OnPrintEnd() {
+        var msg = "鎶ヨ〃宸茬粡鎵撳嵃锛岃緭鍑烘墦鍗版満锛�" + message.PrinterName;
+        if (message.reportid) {
+          msg += "\r\nreportid = " + message.reportid;
+        }
+        alert(msg);
+      }
+
+      //鍦ㄦ墽琛屼簡鏁版嵁瀵煎嚭浠诲姟鍚庡搷搴旂殑娑堟伅锛屽湪鍑芥暟浣撲腑瀹屾垚鑷繁鐨勪换鍔�
+      function OnExportEnd() {
+        var msg = "鏁版嵁瀵煎嚭宸茬粡瀹屾垚锛屽鍑烘枃浠讹細" + message.FileName;
+        if (message.reportid) {
+          msg += "\r\nreportid = " + message.reportid;
+        }
+        alert(msg);
+      }
+
+      //alert(event.data);
+      if (message.event == "PrintEnd") {
+        OnPrintEnd();
+      } else if (message.event == "ExportEnd") {
+        OnExportEnd();
+      }
+    }
+  </script>
+</head>
+<body onload="window_onload()">
+<h1>閿愭氮WEB鎶ヨ〃瀹㈡埛绔娇鐢ㄦ暀绋�</h1>
+<h3><a href="webapp-overview.htm">鍏充簬閿愭氮WEB鎶ヨ〃瀹㈡埛绔�</a></h3>
+
+<h3>鐗瑰埆鎻愮ず锛氫互涓嬮摼鎺ョ偣鍑绘棤鍝嶅簲锛岃涓嬭浇瀹夎<a href="webapp-download.htm">WEB鎶ヨ〃瀹㈡埛绔�</a></h3>
+
+<h3>璧锋渚嬪瓙</h3>
+<p><a href='javascript:ws_ajax_preview();'>鎵撳嵃棰勮(AJAX)</a>閫氳繃AJAX鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹�</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function ws_ajax_preview() {
+    //鍙傛暟鍏蜂綋璇存槑璇峰弬鑰冨府鍔╂枃妗d腑鐨勨�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+    var args = {
+      report: urlAddRandomNo("../grf/浜у搧娴佷紶鍗旳5.grf"),
+      data:
+        {
+          "recordset": [
+            {
+              "wo_code": "PO202206280001_1",
+              "partcode": "1403-001-0001",
+              "partname": "鍦嗛挗F45MnVS蠁20",
+              "partspec": "蠁20",
+              "routename": "娴嬭瘯宸ヨ壓璺嚎1",
+              "plan_qty": 166,
+              "lm_user": "Admin",
+              "lm_date": "2022-06-30",
+              "stepname": "娴嬭瘯宸ュ簭涓�",
+              "plan_qty1": 166,
+              "good_qty": 0,
+              "ng_qty": 0
+            }
+          ]
+        },
+      //data: "../data/DataCenter.ashx?data=Customer",
+      //dataUrlParams: "濡傛灉data鍙傛暟涓篣RL锛屼笖鍏堕渶瑕侀澶栫殑鍙傛暟鏁版嵁锛屽垯瀹氫箟鍦ㄦ鍙傛暟涓�", //渚嬪瓙婕旂ず涓嶉渶瑕侊紝鎵�浠ユ敞閲婃帀
+      type: "preview",
+    };
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<p><a href='javascript:ws_ajax_print();'>鎵撳嵃(AJAX)</a>閫氳繃AJAX鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹�</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function ws_ajax_print() {
+    var args = {
+      type: "print",
+      //showOptionDlg: false, //濡傛灉涓嶆樉绀烘墦鍗板璇濇鑰岀洿鎺ユ墦鍗帮紝灏嗘琛屾敞閲婂幓鎺夊嵆鍙�
+      report: urlAddRandomNo("../grf/1a.grf"),
+      data: "../data/DataCenter.ashx?data=Customer"
+    };
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<p><a href='javascript:ws_ajax_export_xls();'>瀵煎嚭Excel(AJAX)</a>閫氳繃AJAX鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹�</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function ws_ajax_export_xls() {
+    var args = {
+      type: "xls",
+      report: urlAddRandomNo("../grf/1a.grf"),
+      data: "../data/DataCenter.ashx?data=Customer",
+      reportid: "1a" //杩欎釜鍙傛暟涓嶆槸蹇呴』鐨勶紝鍙槸鐢ㄤ簬鍥炲彂娑堟伅鏍囪瘑鎶ヨ〃韬唤
+    };
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<h3>鑷畾涔夋墦鍗板弬鏁�</h3>
+<p><a href='javascript:print_arguments();'>鑷畾涔夋墦鍗板弬鏁�</a>锛氭寚瀹氭墦鍗版満锛岃缃�愪唤鎵撳嵃涓庢墦鍗颁唤鏁般��</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function print_arguments() {
+    var args = {
+      type: "print",   //濡傛灉鏄杩涜鎵撳嵃锛屽皢 type 璁剧疆涓� print
+      report: urlAddRandomNo("../grf/1a.grf"),
+      data: "../data/DataCenter.ashx?data=Customer",
+      PrinterName: "Microsoft Print to PDF", //鎸囧畾瑕佽緭鍑虹殑鎵撳嵃鏈哄悕绉�
+      Collate: false,  //涓嶆寜閫愪唤鏂瑰紡鎵撳嵃
+      Copies: 5        //鍏辨墦鍗�5浠�
+    }
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<p><a href='javascript:export_xls_custom();'>鑷畾涔夊鍑篍xcel</a>锛氳缃悎閫傜殑閫夐」鍙傛暟锛屽皢鏁版嵁瀵煎嚭涓鸿繛缁殑琛ㄦ牸锛岄〉鐪夐〉鑴氫笉瀵煎嚭锛屼笉鏄剧ず瀵煎嚭鍙傛暟瀵硅瘽妗嗙瓑銆�</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function export_xls_custom() {
+    var args = {
+      report: urlAddRandomNo("../grf/1a.grf"),
+      data: "../data/DataCenter.ashx?data=Customer",
+      type: "xls",
+      ExportPageBreak: false,
+      ExportPageHeaderFooter: false,
+      SameAsPrint: false,
+      showOptionDlg: false,  //鎸囧畾涓嶆樉绀哄鍑洪�夐」瀵硅瘽妗�
+      filename: "d:\\temp\\gridreport.xls", //鎸囧畾瀵煎嚭鐨勬枃浠惰矾寰勪笌鏂囦欢鍚�
+      //open: false  //鎸囧畾瀵煎嚭鍚庝笉鑷姩鎵撳紑鏂囦欢
+    }
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<h3>鏇村搴旂敤鏂瑰紡</h3>
+
+<p><a href='javascript:ws_data_from_string();'>鎵撳嵃棰勮(鎶ヨ〃鏁版嵁鏉ヨ嚜瀛楃涓�)</a>锛氶�氳繃WebSocket鐩存帴灏嗙綉椤典腑鐨勫瓧绗︿覆鏁版嵁浼犻�掔粰WEB鎶ヨ〃瀹㈡埛绔��</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function ws_data_from_string() {
+    var args = {
+      type: "preview", //璁剧疆涓嶅悓鐨勫睘鎬у彲浠ユ墽琛屼笉鍚岀殑浠诲姟锛屽锛歱review print pdf xls csv txt rtf img grd
+      report: urlAddRandomNo("../grf/1a.grf"),
+      //瀹為檯搴旂敤涓紝data搴旇涓虹▼搴忎腑閫氳繃鍚勭閫斿緞鑾峰彇鍒扮殑鏁版嵁锛屾渶鍚庤灏嗘暟鎹浆鎹负鎶ヨ〃闇�瑕佺殑XML鎴朖SON鏍煎紡鐨勫瓧绗︿覆鏁版嵁
+      data: "<xml>" +
+        "<row><CustomerID>HUNGC</CustomerID><CompanyName>浜旈噾鏈烘</CompanyName><ContactName>鑻忓厛鐢�</ContactName><ContactTitle>閿�鍞唬琛�</ContactTitle></row>" +
+        "<row><CustomerID>CENTC</CustomerID><CompanyName>涓夋嵎瀹炰笟</CompanyName><ContactName>鐜嬪厛鐢�</ContactName><ContactTitle>甯傚満缁忕悊</ContactTitle></row>" +
+        "<row><CustomerID>CACTU</CustomerID><CompanyName>濞佽埅璐ц繍</CompanyName><ContactName>鍒樺厛鐢�</ContactName><ContactTitle>閿�鍞唬鐞�</ContactTitle></row>" +
+        "</xml>",
+      reportid: "ws_data_from_string" //杩欎釜鍙傛暟涓嶆槸蹇呴』鐨勶紝鍙槸鐢ㄤ簬鍥炲彂娑堟伅鏍囪瘑鎶ヨ〃韬唤
+    };
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+<p><a href='javascript:ws_data_from_object();'>鎵撳嵃棰勮(鎶ヨ〃鏁版嵁鏉ヨ嚜JSON瀵硅薄)</a>锛氶�氳繃WebSocket鐩存帴灏嗙綉椤典腑鐨凧SON瀵硅薄鏁版嵁浼犻�掔粰WEB鎶ヨ〃瀹㈡埛绔��</p>
+<script language="javascript" type="text/javascript">
+
+  import {urlAddRandomNo, webapp_ws_ajax_run} from "./grwebapp";
+
+  function ws_data_from_object() {
+    var args = {
+      type: "preview", //璁剧疆涓嶅悓鐨勫睘鎬у彲浠ユ墽琛屼笉鍚岀殑浠诲姟锛屽锛歱review print pdf xls csv txt rtf img grd
+      report: urlAddRandomNo("../grf/1a.grf"),
+      //瀹為檯搴旂敤涓紝data搴旇涓虹▼搴忎腑閫氳繃鍚勭閫斿緞鑾峰彇鍒扮殑鏁版嵁锛屾渶鍚庤灏嗘暟鎹浆鎹负鎶ヨ〃闇�瑕佺殑XML鎴朖SON鏍煎紡鐨勫瓧绗︿覆鏁版嵁
+      data:
+        {
+          "recordset": [
+            {
+              "CustomerID": "ALFKI",
+              "CompanyName": "涓夊窛瀹炰笟鏈夐檺鍏徃",
+              "ContactName": "鍒樺皬濮�",
+              "Address": "澶у磭鏄庤矾 50 鍙�",
+              "City": "澶╂触",
+              "Region": "鍗庡寳",
+              "PostalCode": "343567",
+              "Phone": "(030) 30074321"
+            },
+            {
+              "CustomerID": "ANATR",
+              "CompanyName": "涓滃崡瀹炰笟",
+              "ContactName": "鐜嬪厛鐢�",
+              "Address": "鎵垮痉瑗胯矾 80 鍙�",
+              "City": "澶╂触",
+              "Region": "鍗庡寳",
+              "PostalCode": "234575",
+              "Phone": "(030) 35554729"
+            }
+          ]
+        },
+      reportid: "ws_data_from_object" //杩欎釜鍙傛暟涓嶆槸蹇呴』鐨勶紝鍙槸鐢ㄤ簬鍥炲彂娑堟伅鏍囪瘑鎶ヨ〃韬唤
+    };
+
+    webapp_ws_ajax_run(args);
+  }
+</script>
+
+</body>
+</html>
diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue
index dc2fddb..f7f507e 100644
--- a/src/layout/components/Sidebar/index.vue
+++ b/src/layout/components/Sidebar/index.vue
@@ -39,7 +39,7 @@
 import SidebarItem from './SidebarItem'
 import variables from '@/styles/variables.scss'
 import { LoginMenu } from '@/api/user'
-import { setCookie } from '@/utils/auth'
+import { removeCookie, setCookie } from '@/utils/auth'
 
 export default {
   components: { SidebarItem, Logo },
@@ -60,6 +60,7 @@
       const route = this.$route
       const { meta, path } = route
       // if set path, the sidebar will highlight the path you set
+      removeCookie('ruleCode')
       setCookie('ruleCode', meta.code)// 灏嗙紪鐮佽鍒檆ode瀛樺埌cookie閲岄潰
       if (meta.activeMenu) {
         return meta.activeMenu

--
Gitblit v1.9.3