JAVA 는 POI 를 이용 하여 엑셀 에 그림 을 그립 니 다.
package cn.chn.chen.tacticmap.action;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
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.hssf.util.HSSFColor;
import cn.chn.chen.base.action.BaseAction;
/**
* <p>
* PoiiAction -java Poi excel .
* </p>
* <p>
* 2010-6-21 - 08:27:29
* </p>
* <p>
* copyright cd**** 2010-2011, all rights reserved.
* </p>
*
* @author IT
* @since 1.0
* @version 1.0
*/
public class PoiiAction extends BaseAction {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* <p>
* excel -Poi excel .
* </p>
* <p>
* IT 2010-6-21 - 08:26:17
* </p>
* @return
* @throws IOException
*/
public String excel() throws IOException {
String savePath = "**.xls";
OutputStream os = new FileOutputStream(savePath);
//
HSSFWorkbook workbook = new HSSFWorkbook();
//
HSSFSheet sheet = workbook.createSheet("java excel ");
//
HSSFCellStyle style = workbook.createCellStyle();
//
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//
HSSFFont font=workbook.createFont();
font.setColor(HSSFColor.VIOLET.index);
font.setFontHeightInPoints((short)16);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//
style.setFont(font);
//
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
/**
* dx1: x , 255 A1 ;
* dy1: y , 125 A1 ;
* dx2: x , 1023 C3 ;
* dy2: y , 150 C3 ;
* colFrom: , 0 ;
* rowFrom: , 0 , col1=0,row1=0 A1;
* colTo: , 0 ;
* rowTo: , 0 , col2=2,row2=2 C3;
*/
// default
int dx1 = 0, dy1 = 0, dx2 = 1023, dy2 = 255;
int colFrom = 0, rowFrom = 0, colTo = 5, rowTo = 5;
HSSFClientAnchor bigValueAnchorShape = new HSSFClientAnchor(dx1, dy1, dx2, dy2, (short)(colFrom), rowFrom, (short)(colTo), rowTo);
HSSFSimpleShape bigValueShape = patriarch.createSimpleShape(bigValueAnchorShape);
bigValueShape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);// HSSFSimpleShape.OBJECT_TYPE_LINE
bigValueShape.setFillColor(180, 200, 160);
HSSFClientAnchor bigValueAnchorTextBox = new HSSFClientAnchor(dx1, dy1, dx2, dy2, (short)(colFrom+1), rowFrom+1, (short)(colTo-1), rowTo-1);
HSSFTextbox bigValueTextbox = patriarch.createTextbox(bigValueAnchorTextBox);
bigValueTextbox.setString(new HSSFRichTextString(" "));
bigValueTextbox.setLineStyle(HSSFSimpleShape.LINESTYLE_NONE);
bigValueTextbox.setFillColor(180, 205, 160);
workbook.write(os);
os.close();
return "excel";
}
// // ,
// private static void insertImage(HSSFWorkbook wb,HSSFPatriarch pa,byte[] data,int row,int column,int index){
// int x1=index*250;
// int y1=0;
// int x2=x1+255;
// int y2=255;
// HSSFClientAnchor anchor = new HSSFClientAnchor(x1,y1,x2,y2,(short)column,row,(short)column,row);
// anchor.setAnchorType(2);
// pa.createPicture(anchor , wb.addPicture(data,HSSFWorkbook.PICTURE_TYPE_JPEG));
// }
// //
// private static byte[] getImageData(BufferedImage bi){
// try{
// ByteArrayOutputStream bout=new ByteArrayOutputStream();
// ImageIO.write(bi,"PNG",bout);
// return bout.toByteArray();
// }catch(Exception exe){
// exe.printStackTrace();
// return null;
// }
// }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.