NPOI HSSFHyperlink HyperlinkType.File 乱码(??)
来源:互联网 发布:js指定浏览器打开网页 编辑:程序博客网 时间:2024/06/13 05:40
问题现象: 在用NPOI导出Excel文件后,发现用Excel软件打开创建的文件时文件
链接(HyperlinkType.File)路径中的中文是乱码(??) 而URl链接路径中
的中文是正常的.
问题原因: 于是看了NOPI的源码,发现链接类型 HyperlinkType.File 和 HyperlinkType.Url
在将路径序列化的方法是不一样的:
a. HyperlinkType.Url 类型用 StringUtil.PutUnicodeLE 方法以 "UTF-16LE" 编
码的方式写到Excel文件中
b. HyperlinkType.File 类型用 StringUtil.PutCompressedUnicode 方法以
"ISO-8859-1" 编码的方式写到Excel文件中,"ISO-8859-1" 是不能表示中
文的,在将路径转成 "ISO-8859-1" 编码后,原先的内容以改变,在Excel软
就显示为乱码(??)
解决办法: 将原先的代码:HSSFHyperlink link = new HSSFHyperlink(HyperlinkType.File);
string strPath = "\\目录\\文件名.jpg";
link.Address = strPath
改为以下代码:HSSFHyperlink link = new HSSFHyperlink(HyperlinkType.File);
string strPath = "\\目录\\文件名.jpg";
//----------------------------增加的代码------------------------------------
byte[] srcBytes = Encoding.Default.GetBytes(strPath );
string strPath = Encoding.GetEncoding("ISO-8859-1").GetString(srcBytes);
//-------------------------------------------------------------------------------
link.Address = strPath
- NPOI HSSFHyperlink HyperlinkType.File 乱码(??)
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- NPOI
- export的csv file中文显示乱码
- 解决Java读取File乱码问题
- 黑马程序员——乱码打印file
- NPOI简介
- NPOI读取
- NPOI简介
- NPOI连接
- iOS基础之容器
- Android EditText.setError() - 会弹出一个popupwindow,效果很好
- 字符串相似度比较
- 安装 Kali Linux 后需要做的 20 件事
- C++_重载、重写(覆盖)和隐藏的区别:
- NPOI HSSFHyperlink HyperlinkType.File 乱码(??)
- 从linux服务器下载文件
- Java&&接口嵌套
- oracle ebs 12.20 成功安装其过程失败日记及总结(1)
- unix.......shell.......windows?
- PHP 自 5.2 到 5.6 中新增的功能详解
- Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包从上层进入Recovery服务
- 修改MyEclipse内存——-OutOfMemoryError错误
- 计算机视觉、机器学习代码示例集合