richTextBox 中插入表格
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
}
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
}

浙公网安备 33010602011771号