通過rtf字串往richTextBox中新增帶有文字的表格
在做一個試卷生成系統的時候遇到了一個需求,需要往richTextBox中新增帶有固定格式的表格,表格中還有文字,明顯用報表只能實現表格的動態新增,無法動態往表格裡新增文字,於是乎就只能通過rtf編碼來實現。下面粘出程式碼,及提示,給需要的人一點幫助!
string str = "{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134";
str += "\\'cb\\'ce\\'cc\\'e5;}{\\f1\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\\viewkind4\\uc1\\trowd\\trgaph108\\trleft-108";
str += "\\trbrdrt\\brdrs\\brdrw10 \\trbrdrl\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 ";
//下面幾行是表格的列 以及寬度 寬度有一定規律:比如只有三行,最後一行為4000,第二行為2000,第一行為1000,那麼 第三行的寬度為2000 第二和第一為1000。這個規律是試出來的。
str += "\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx1000";
str += "\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx2000";
str += "\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx3000";
str += "\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx4000";
str += "\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx10000";
//下面的cell 表示單元格 有幾row就有幾行 能新增文字
str += "\\pard\\intbl\\kerning2\\f0\\fs29 河粉\\cell 資料\\cell 電風扇\\cell 傳送到\\cell 傳送到\\row\\intbl\\cell\\cell\\cell\\row\\intbl\\cell\\cell\\cell\\cell 傳送到\\row\\pard\\lang2052\\kerning0\\f1\\fs18\\par}";
richTextBox1.rtf=str.ToString();
這些編碼都是除錯好了的 ,拿去看看規律直接就能用。