C# word 操作进阶-03-特殊符号进阶
以对钩符号为例子,没有WordHelper.cs类的请查看前面的文章
一、表格内插入特殊符号
上一篇我们说道表格的动态创建,其中有个知识点就是插入符号,代码如下:
//特殊符号
tb.Cell(i + 2, 3).Range.Font.Name = "Wingdings 2";//设置字体类型
//word中,插入>符号>其他符号>字符代码(十六进制)
tb.Cell(i + 2, 3).Range.Text = dt.Rows[i][1].ToString() == "1" ? "\u0053" : "\u0052";
表格中的符号只需要给单元格设置字体,再录入十六进制的字符代码即可
二、文档中文字中间插入特殊符号
示例效果图,要求根据实际数据选择勾选其中一条
word模板中
实现代码
WordHelper.cs中的代码
string s100="1";//紫外光强度100的选择状态
object replacearea = word.WdReplace.wdReplaceAll;
object replacekey = "$紫外光强度100$";
object replacevalue = s100== "1" ? "\u0052" : "\u00A3";
wapp.Selection.Find.Replacement.Font.Name = "Wingdings 2";//这里设置字体类型
wapp.Selection.Find.Execute(ref replacekey, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replacevalue, ref replacearea, ref missing, ref missing,
ref missing, ref missing);
其中变量s100是客户实际数据,根据此变量所以勾选了紫外光强度100
备注:其实插入特殊符号在代码中可以不设置字体,但是word模板中把要插入符号那里,提前设置字体,其实不如直接在代码中设置方便,而且模板中定义了字体,后台代码设置字符代码时,还必须为十进制才有效。
NPOI:同理,word模板中,提前设置好字体,直接插入编码(例如\u0053)即可。