最近在做.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);
ApplyFont(0,1,font1)这句话就是让“R主要负责人”这个字符串中的第一个字母设成font1字体,方法参数是:ApplyFont(int startIndex,int endIndex,Font font)
然后获得excel中的某个单元格,设置其值为此富文本对象,就会输出
其他特殊符号,都可以这样做