形状组HSSFShapeGroup

1.形状组HSSFShapeGroup

public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer{
}

2.实例

package hssf.shape.shapegroup;

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFChildAnchor;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFShape;
import org.apache.poi.hssf.usermodel.HSSFShapeGroup;
import org.apache.poi.hssf.usermodel.HSSFSimpleShape;
import org.apache.poi.hssf.usermodel.HSSFTextbox;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

/**
 * 形状组<br>
 * 创建了一个形状组HSSFShapeGroup, 将形状组看似一个单元格,以形状组左上角为原点,x:[0, 1023], y:[0, 255] <br>
 * 形状组的子形状位置由HSSFChildAnchor(x1, y1, x2, y2)确定<br>
 * 形状组左上角为原点<br>
 * x1: 子形状左上角的横坐标,范围[0,1023]<br>
 * y1: 子形状左上角的纵坐标,范围[0,255]<br>
 * x2: 子形状右下角的横坐标,范围[0,1023]<br>
 * y2: 子形状右下角的纵坐标,范围[0,255]<br>
 * */
public class TestShapeGroup {

	public static void main(String[] args) throws IOException {

		// 创建一个工作博
		Workbook workbook = new HSSFWorkbook();
		// 创建一个sheet
		Sheet sheet = workbook.createSheet();
		// 画图的顶级管理器对象HSSFPatriarch, 一个sheet只能获取一个
		HSSFPatriarch hssfPatriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();

		HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255, (short) 1, 2, (short) 7, 3);
		// 创建一个形状组
		HSSFShapeGroup group = hssfPatriarch.createGroup(anchor);
		System.out.println("形状组横坐标范围 : " + group.getX1() + " - " + group.getX2());
		System.out.println("形状组纵坐标范围 : " + group.getY1() + " - " + group.getY2());
		
		// 创建第一个子形状 - 文本框
		HSSFChildAnchor anchor2 = new HSSFChildAnchor(0, 0, 500, 255);
		HSSFTextbox textbox = group.createTextbox(anchor2);
		textbox.setString(new HSSFRichTextString("hello"));
		textbox.setMarginLeft(HSSFShape.LINEWIDTH_ONE_PT * 5);
		textbox.setVerticalAlignment(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER);
		textbox.setNoFill(true);
		textbox.setLineStyleColor(255, 0, 0);
		
		// 创建第二个子形状 - 文本框
		HSSFChildAnchor anchor3 = new HSSFChildAnchor(500, 0, 1023, 255);
		HSSFSimpleShape textbox1 = group.createShape(anchor3);
		textbox1.setShapeType(HSSFSimpleShape.OBJECT_TYPE_COMMENT);
		textbox1.setString(new HSSFRichTextString("world"));

		FileOutputStream file = new FileOutputStream("C://Users//Administrator//Desktop//test.xls");
		workbook.write(file);
		file.close();

	}

}
结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值