GetTableRtf 方法,设立参数即可建立表格
调用GetTableRtf方法
richTextBox1.Rtf =GetTableRtf(10, 4, 150, 15000);
1
private
string
GetTableRtf(
int
vRows,
int
vCols,
int
leftMargin,
int
width)
2 {
3 int cellWidth = (int)(width / vCols);
4 System.Text.StringBuilder str = new System.Text.StringBuilder();
5 str.Append(@"{\rtf1\ansi\ansicpg1252\deff0");
6 str.Append(@"{\fonttbl{\f0\froman\fprq2\fcharset0 宋体;}}");
7 str.Append(@"\viewkind4\uc1\trowd\trqc\trgaph108\trleft" + leftMargin.ToString());
8 str.Append(@"\trbrdrt\brdrs\brdrw10");
9 str.Append(@"\trbrdrl\brdrs\brdrw10");
10 str.Append(@"\trbrdrb\brdrs\brdrw10");
11 str.Append(@"\trbrdrr\brdrs\brdrw10");
12
13 int tmpx;
14 for (int i = 1; i <= vCols; i++)
15 {
16 str.Append(@"\clbrdrt\brdrw15\brdrs");
17 str.Append(@"\clbrdrl\brdrw15\brdrs");
18 str.Append(@"\clbrdrb\brdrw15\brdrs");
19 str.Append(@"\clbrdrr\brdrw15\brdrs");
20 str.Append(@"\cellx");
21 tmpx = cellWidth * i + leftMargin;
22 str.Append(tmpx.ToString());
23 str.Append(@"\clbrdrt");
24 }
25 str.Append(@"\pard\intbl\lang3082\f0\fs24");
26 for (int i = 1; i <= vRows; i++)
27 {
28 str.Append(@"\intbl\clmrg");
29 for (int j = 1; j <= vCols; j++)
30 {
31 str.Append(@"\cell");
32 }
33 str.Append(@"\row");
34 }
35 str.Append("}");
36
37 return str.ToString();
38 }
2 {
3 int cellWidth = (int)(width / vCols);
4 System.Text.StringBuilder str = new System.Text.StringBuilder();
5 str.Append(@"{\rtf1\ansi\ansicpg1252\deff0");
6 str.Append(@"{\fonttbl{\f0\froman\fprq2\fcharset0 宋体;}}");
7 str.Append(@"\viewkind4\uc1\trowd\trqc\trgaph108\trleft" + leftMargin.ToString());
8 str.Append(@"\trbrdrt\brdrs\brdrw10");
9 str.Append(@"\trbrdrl\brdrs\brdrw10");
10 str.Append(@"\trbrdrb\brdrs\brdrw10");
11 str.Append(@"\trbrdrr\brdrs\brdrw10");
12
13 int tmpx;
14 for (int i = 1; i <= vCols; i++)
15 {
16 str.Append(@"\clbrdrt\brdrw15\brdrs");
17 str.Append(@"\clbrdrl\brdrw15\brdrs");
18 str.Append(@"\clbrdrb\brdrw15\brdrs");
19 str.Append(@"\clbrdrr\brdrw15\brdrs");
20 str.Append(@"\cellx");
21 tmpx = cellWidth * i + leftMargin;
22 str.Append(tmpx.ToString());
23 str.Append(@"\clbrdrt");
24 }
25 str.Append(@"\pard\intbl\lang3082\f0\fs24");
26 for (int i = 1; i <= vRows; i++)
27 {
28 str.Append(@"\intbl\clmrg");
29 for (int j = 1; j <= vCols; j++)
30 {
31 str.Append(@"\cell");
32 }
33 str.Append(@"\row");
34 }
35 str.Append("}");
36
37 return str.ToString();
38 }