Topic: 请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文

  Print this page

1.请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-16 14:53

HSSFHeader header = sheet.getHeader();
    
    header.setCenter( "中间标题" );
    header.setLeft ( "left title" );
    header.setRight( HSSFHeader.font( "Stencil-Normal" , "Italic") + HSSFHeader.fontSize( (short)16 ) + "Right" );

英文显示正常,中文不行,请问哪个函数可以设置这个?或是其他方法。

2.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-17 12:04

大家没感兴趣的吗?
今天又想了一下,其它的单元格都得先设成setEncoding(HSSFCell.ENCODING_UTF_16);估计Unicode无法显示。

3.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: sctom123
Posted on: 2004-09-17 12:05

请参考:HSSFCell cell = row.createCell((short) i);
      //因为默认的设置编码是不支持中文的,你必须在setCellValue之前先这样
      cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
      
      cell.setCellStyle(cellStyle);
      cell.setCellType(HSSFCell.CELL_TYPE_STRING);
      cell.setCellValue(columnHeader[i].toString());

4.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: sctom123
Posted on: 2004-09-17 12:06

呵呵

5.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-18 10:17

谢谢sctom123 。
但是HSSFHeader没有这个函数。
今天又试了一下,从gbk到Unicode没有问题,但好像必须再编码成utf 在Excel中才能正常显示,想不明白了。

6.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-18 10:30

不好意思,再问一个问题。

row = HSSFCellUtil.getRow( i , m_Sheet );
上面这句tomcat提示错误:
java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil

但其他网友和POI资料上都可以使用这句,而且我用和它同一个包的HSSFRegionUtil就可以,我刚从apache的网站下了POI 2.5.1 也不行。

不知道是什么原因。

7.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: sctom123
Posted on: 2004-09-19 10:43

java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil
是不是说明没有这个类,你查一下包里是不是有这个类?

8.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-20 17:59

在API docs里有这个类
org.apache.poi.hssf.usermodel.contrib.HSSFCellUtil

我用sheet.getRow 和 row.getCell来代替了,凑合着先用吧。

9.Re:请教:用POI把数据写入Excel表,用HSSFHeader时无法显示中文 [Re: vssivl] Copy to clipboard
Posted by: vssivl
Posted on: 2004-09-20 18:16

现在想的方法是做一个Excel模板文件,事先设置好header,第一巷,最后一行和边框,然后只管往里填数据就可以了。但是现在遇到一个问题就是标题是动态的,不能静态写入,埃,不管了,我看八成是霉国人忘了给Header设计这个函数了,


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923