原文地址:https://www.cnblogs.com/kejianet/archive/2012/03/04/2379758.html
NPOI(v1.2.4)生成excel超链接地址中文乱码的问题
近日项目中需要把某目录下所有文件信息导出到excel中,并在文件名这一列中设置超链接,点击时可以直接打开该文件。
项目使用NPOI v1.2.4,代码如下:
1 int num = 0;
2 IRow row = this.worksheet.CreateRow(this.excelRowIndex);
3
4 // 链接样式
5 ICellStyle hlink_style = xlsDoc.CreateCellStyle();
6 IFont hlink_font = xlsDoc.CreateFont();
7 hlink_font.Underline = (byte)FontUnderlineType.SINGLE;
8 hlink_font.Color = HSSFColor.BLUE.index;
9 hlink_style.SetFont(hlink_font);
10
11 HSSFHyperlink link = new HSSFHyperlink(HyperlinkType.FILE);
12 link.Address = Path.Combine(fileInfo.FullPath, fileInfo.FileName);
13
14 ICell cell = row.CreateCell(num++);
15 cell.SetCellValue(fileInfo.FileName);
16 cell.CellStyle = hlink_style;
17 cell.Hyperlink = link;
输出excel文件后发现链接地址中的中文全部显示成问号。
上Google、百度等多方查探,无果。
后来想到把HyperlinkType改成其他的试一下, 发现其他各类别都没有乱码出现,遂把HyperlinkType.FILE改成HyperlinkType.URL,问题解决。
这算不算NPOI v1.2.4的一个bug呢?