C#往excel中插入特殊符号——HSSFRichTextString

最近在做.net导出excel文档,客户需要将带方框的和方框带勾的符号也打印出来,网上查阅无数,无果。

后来借助HSSFRichTextString解决问题。

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

这个是导出excel文档所需要的引用。

下述关键部分。

首先情况如下:


就是要导出上面的样子,而且,根据实际情况需要打印出这种符号。

下面就详述步骤(我是以office2010为例):

1.打开excel,点击【插入】——【符号】,找到上述的带勾和不带勾的方框,如下图




2.插入后,excel表格中就出现这两个符号:


这时,分别选中这两个符号,然后改变下字体,比如说宋体,它们就变成了R£,说白了,这些特殊符号都是字母或数字通过改变字体变成的。

3.贴关键代码:

            var a = new HSSFRichTextString("R主要负责人");
            var font1 = (HSSFFont)sheet.Workbook.CreateFont();
            font1.FontName = "Wingdings 2";
            font1.FontHeightInPoints = 14;
            a.ApplyFont(0, 1, font1);
            sheet.GetRow(3).GetCell(1).SetCellValue(a);

上面代码的意思就是利用HSSFRichTextString这个富文本对象,然后定义一个字体,字体类型是“Wingdings 2”,就是我们上面选择符号时对应的字体。

ApplyFont(0,1,font1)这句话就是让“R主要负责人”这个字符串中的第一个字母设成font1字体,方法参数是:ApplyFont(int startIndex,int endIndex,Font font)

然后获得excel中的某个单元格,设置其值为此富文本对象,就会输出



其他特殊符号,都可以这样做

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值