我查看了以前的帖子,好像没有人问到关于header(我称为页眉)的中文乱码问题,有没有人知道怎么解决请指个招,很着急!
另外poi中有没有控制打印方向(横向,纵向)的方法,以及如何控制表格在打印纸张上的对齐方式。

解决方案 »

  1.   

    1.
    HSSFCell c;
    .....
    c.setEncoding(HSSFCell.ENCODING_UTF_16);
    c.setCellValue("测试测试测试测试测试测试测试测试");
    ......
    2.
    打印设置
    import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
    创建打印设置对象
    HSSFPrintSetup hps = hs.getPrintSetup();
    设置A4纸
    hps.setPaperSize((short)9);  
    将页面设置为横向打印模式
    hps.setLandscape(true); 
    设置打印页面为水平居中
    sheet.setHorizontallyCenter(true);   
    设置打印页面为垂直居中
    sheet.setVerticallyCenter(true);
      

  2.   

    :laughsmile(海边的星空) 
    谢谢你的帮助,第2条对我帮助很大。不过我还想问问就是能否设置单元格的长、宽属性;设置的单元格多的话页面不够显示还要使用缩放,或者poi提供了其他什么方法您的第一点建议可以用在cell中,但header却没有这个方法。
      

  3.   

    设置单元格的长、宽属性这个我已经知道了。
    HSSFPrintSetup hps = hs.getPrintSetup();中hs是什么?
      

  4.   

    poi这种laji为什么还有人用阿?
      

  5.   

    好了,就剩下header的中文显示乱码问题了
    我看到有一个地方说,要重写poi中HeaderRecord.java的源代码,可我还没有这个水平,那位有办法请给予指点啊
      

  6.   

    试试在构造器HeaderRecord(short id, short size, byte[] data)中,strDisplay = new String(strDisplay.getBytes("8859_1"), "GBK");//或者utf
    byte[]data= strDisplay.getBytes();
    传入data
      

  7.   

    哈哈,找到了:
    http://blog.itpub.net/post/78/18049
      

  8.   

    特别鸣谢laughsmile(海边的星空) 的大力支持,问题已经解决,现在给分。