最近在做.net導出excel文檔,客戶需要將帶方框的和方框帶勾的符號也打印出來,網上查閱無數,無果。 後來借助HSSFRichTextString解決問題。 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; 這個是導出excel文檔所需要的引用。 下述關鍵部分。 首先情況如下: 就是要導出上面的樣子,而且,根據實際情況需要打印出這種符號。 下面就詳述步驟(我是以office2010為例): 1.打開excel,點擊【插入】——【符號】,找到上述的帶勾和不帶勾的方框,如下圖 2.插入後,excel表格中就出現這兩個符號: 這時,分別選中這兩個符號,然後改變下字體,比如說宋體,它們就變成了R£,說白了,這些特殊符號都是字母或數字通過改變字體變成的。 3.貼關鍵代碼: [csharp] 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); 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中的某個單元格,設置其值為此富文本對象,就會輸出 其他特殊符號,相輸出的話都可以這樣做