/**矩形框**/
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 255,    
               (short) 1, 1, (short) 2, 2);
HSSFSimpleShape shaple = patriarch.createSimpleShape(a);
shaple.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
/**写入文字**/
HSSFTextbox textbox1 = patriarch.createTextbox( new HSSFClientAnchor(0, 0, 1023, 255, (short) 1, 1, (short) 2, 2));
//测试中发现上面的HSSFTextbox方法不支持excel2003没有打sp3补丁的版本;想请问一下还有别的方法能实现这功能吗?
textbox1.setString(new HSSFRichTextString("ffff"));

解决方案 »

  1.   

    强烈建议HSSF和XSSF一些语法,apache官方会有的
    http://poi.apache.org/spreadsheet/quick-guide.html
    看这里:
    Text boxes are created using a different call:     HSSFTextbox textbox1 = patriarch.createTextbox(
                new HSSFClientAnchor(0,0,0,0,(short)1,1,(short)2,2));
        textbox1.setString(new HSSFRichTextString("This is a test") );
      It's possible to use different fonts to style parts of the text in the textbox. Here's how:     HSSFFont font = wb.createFont();
        font.setItalic(true);
        font.setUnderline(HSSFFont.U_DOUBLE);
        HSSFRichTextString string = new HSSFRichTextString("Woo!!!");
        string.applyFont(2,5,font);
        textbox.setString(string );你应该了解了吧,HSSFRichTextString 也可以实现写入文字目的的,或许它会比HSSFTextbox 更加详细、具体
      

  2.   

    你说的HSSFRichTextString我到是可以理解,但是最后他还必须要通过HSSFTextbox对象来指定文字写入的区域;
    我测试过程中就是发现就是HSSFTextbox textbox1 = patriarch.createTextbox()不支持没有excel2003没有打补丁的版本;如果不通过HSSFTextbox对性怎么来生成文字的指定区域?
    谢谢