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

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38
