CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

用POI读取excel时,如果sheet名为中文名则不能取得sheet,怎么解决?

楼主eLove8(悠悠我心)2003-08-01 14:59:11 在 Java / Web 开发 提问

try{  
          FileInputStream   fis   =   new   FileInputStream("foo.xls");  
          HSSFWorkbook   wb   =   new   HSSFWorkbook(fis);  
          HSSFSheet   s   =   wb.getSheet("统计表");//不能取得sheet  
          System.out.println(new   String(wb.getSheetName(0).getBytes("UTF-8"),"GBK"));//显示为乱码  
          fis.close();  
            }catch(Exception   e)  
            {  
              System.out.println(e.getMessage());                              
              } 问题点数:50、回复次数:5Top

1 楼eLove8(悠悠我心)回复于 2003-08-03 16:15:18 得分 0

没高手乎?Top

2 楼bruni(不如你)回复于 2003-08-03 17:20:40 得分 0

try   to   print   all   sheet   names.  
    System.out.println(new   String(wb.getSheetName(0).getBytes("iso-8859-1"),"GBK"));Top

3 楼newman0708(nch)回复于 2003-08-03 19:01:45 得分 50

在设置时用:set   Sheet   Name  
          wb.setSheetName(0,   "Matrix");//   set   the   name   of   the   first   sheet  
          解决中文问题  
          String   str1="矩阵";          
          wb.setSheetName(0,str1,wb.ENCODING_UTF_16);//   set   the   name   of   the   first   sheet  
   
  在读取时用如下:  
          sheet=wb.getSheet("公式测试");//get   chinese   sheetname  
   
  应该可以了。Top

4 楼eLove8(悠悠我心)回复于 2003-08-04 09:02:08 得分 0

to   bruni:用你的方法显示的仍为乱码。  
   
  to:newman0708:wb.ENCODING_UTF_16   没有这个属性,这个属性应该是cell的属性。另外如果用以下代码:  
  HSSFWorkbook   wb   =   new   HSSFWorkbook();  
  FileOutputStream   fos   =   new   FileOutputStream("foo.xls");  
  HSSFSheet   s   =   wb.createSheet();  
  String   temp   =   "计量单位表"  
  String   zhMeasureUnit   =   new   String(temp.getBytes("UTF-8"),"UTF-8");  
  wb.setSheetName(0,temp);  
  则在excel中显示不正常。foo.xls中第一个sheet会显示为乱码,或者有错误。Top

5 楼eLove8(悠悠我心)回复于 2003-09-09 09:48:59 得分 0

//   set   the   sheet   name   in   Unicode  
  wb.setSheetName(0,   "\u0422\u0435\u0441\u0442\u043E\u0432\u0430\u044F   "   +    
                                        "\u0421\u0442\u0440\u0430\u043D\u0438\u0447\u043A\u0430",    
                                  HSSFWorkbook.ENCODING_UTF_16   );  
  //   in   case   of   compressed   Unicode  
  //   wb.setSheetName(0,   "HSSF   Test",   HSSFWorkbook.ENCODING_COMPRESSED_UNICODE   );Top

相关问题

  • POI读取EXCEL问题
  • 如果读取excel中sheet的问题
  • 如何读取Excel中的sheet名称?
  • 使用poi读取excel文件时碰到的问题
  • POI读取Excel文件的日期型数据有问题
  • 急救:用POI读取excel日期的问题!
  • php读取EXCEL
  • 读取excel
  • 怎样读取通过Excel组件读取某个Excel的中某个sheet的某个cell的值啊!
  • 请问怎么样读取excel里未知sheet的数据?

关键词

  • 乱码
  • 属性
  • wb
  • sheet
  • setsheetname
  • hssfworkbook
  • utf
  • getbytes
  • 显示
  • xls

得分解答快速导航

  • 帖主:eLove8
  • newman0708

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo