- 浏览: 131336 次
- 性别:
- 来自: 上海
-
最新评论
-
一叶之源:
总结一下eclipse中的Job机制 -
xinxinlong:
lAnchor.getDy1() 是什么意思
操作excel--稍后整理 -
defrag_sly:
3.7是好用的,只是再mac下面不支持,mac不支持的效果还有 ...
swt下如何做出一个反向展开效果的tree -
defrag_sly:
eclipse3.7不好用了。谁知道给补充一下。
swt下如何做出一个反向展开效果的tree -
hamlzf:
好文!mark!
基于 OSGi 的面向服务的组件编程
OfficeDrawingWithGraphics
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.HSSFShapeGroup;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class Line {
/**
* @param args
*/
public static void main(String[] args) {
FileOutputStream fileOut = null;
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
// HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0,
(short) 10, 10, (short) 20, 20);
HSSFShapeGroup g = patriarch.createGroup(anchor);
g.setCoordinates(0, 0, 100, 100);
HSSFChildAnchor lAnchor = new HSSFChildAnchor(0, 100, 100, 0);
g.createShape(lAnchor);
int length = 6;
Math.abs(lAnchor.getDy1() - Math.sin(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx1() - Math.cos(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy1() - Math.sin(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx1() - Math.cos(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy2() - Math.sin(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx2() - Math.cos(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy2() - Math.sin(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx2() - Math.cos(60 * Math.PI / 180) * length);
// Math.sin(60 * Math.PI / 180)*length;
// Math.cos(60 * Math.PI / 180)*length;
HSSFChildAnchor al = new HSSFChildAnchor(lAnchor.getDx1(), lAnchor
.getDy1(), (int) Math.abs(lAnchor.getDx1()
- Math.cos(30 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy1() - Math.sin(30 * Math.PI / 180)
* length));
HSSFChildAnchor ar = new HSSFChildAnchor(lAnchor.getDx1(), lAnchor
.getDy1(), (int) Math.abs(lAnchor.getDx1()
- Math.cos(60 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy1() - Math.sin(60 * Math.PI / 180)
* length));
HSSFChildAnchor atl = new HSSFChildAnchor(lAnchor.getDx2(), lAnchor
.getDy2(), (int) Math.abs(lAnchor.getDx2()
- Math.cos(30 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy2() - Math.sin(30 * Math.PI / 180)
* length));
HSSFChildAnchor atr = new HSSFChildAnchor(lAnchor.getDx2(), lAnchor
.getDy2(), (int) Math.abs(lAnchor.getDx2()
- Math.cos(60 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy2() - Math.sin(60 * Math.PI / 180)
* length));
g.createShape(al);
g.createShape(ar);
g.createShape(atl);
g.createShape(atr);
fileOut = new FileOutputStream("d:/workbook.xls");
wb.write(fileOut);
fileOut.close();
} catch (IOException io) {
io.printStackTrace();
System.out.println("io erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
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.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFTextbox;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
;
public class TestPOI {
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
BufferedImage bufferImg1 = null;
try {
// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("d:/Control_Treeview.jpg"));
bufferImg1 = ImageIO.read(new File("d:/Control_Treeview.jpg"));
ImageIO.write(bufferImg, "jpg", byteArrayOut);
ImageIO.write(bufferImg1, "jpg", byteArrayOut1);
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
// HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor3 = new HSSFClientAnchor(0, 0, 512, 255,
(short) 1, 1, (short) 10, 20);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0, 0, 512, 255,
(short) 2, 30, (short) 10, 60);
anchor1.setAnchorType(2);
// HSSFClientAnchor anchor3 = new
// HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);
// 插入图片
patriarch.createPicture(anchor3, wb.addPicture(byteArrayOut
.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
patriarch.createPicture(anchor3, wb.addPicture(byteArrayOut1
.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
HSSFTextbox createComment = patriarch.createTextbox(anchor3);
createComment.setString(new HSSFRichTextString("aaaaaaaaa"));
patriarch.createSimpleShape(anchor3);
fileOut = new FileOutputStream("d:/workbook.xls");
// 写入excel文件
wb.write(fileOut);
fileOut.close();
} catch (IOException io) {
io.printStackTrace();
System.out.println("io erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
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.HSSFShapeGroup;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class Line {
/**
* @param args
*/
public static void main(String[] args) {
FileOutputStream fileOut = null;
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
// HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0,
(short) 10, 10, (short) 20, 20);
HSSFShapeGroup g = patriarch.createGroup(anchor);
g.setCoordinates(0, 0, 100, 100);
HSSFChildAnchor lAnchor = new HSSFChildAnchor(0, 100, 100, 0);
g.createShape(lAnchor);
int length = 6;
Math.abs(lAnchor.getDy1() - Math.sin(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx1() - Math.cos(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy1() - Math.sin(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx1() - Math.cos(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy2() - Math.sin(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx2() - Math.cos(30 * Math.PI / 180) * length);
Math.abs(lAnchor.getDy2() - Math.sin(60 * Math.PI / 180) * length);
Math.abs(lAnchor.getDx2() - Math.cos(60 * Math.PI / 180) * length);
// Math.sin(60 * Math.PI / 180)*length;
// Math.cos(60 * Math.PI / 180)*length;
HSSFChildAnchor al = new HSSFChildAnchor(lAnchor.getDx1(), lAnchor
.getDy1(), (int) Math.abs(lAnchor.getDx1()
- Math.cos(30 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy1() - Math.sin(30 * Math.PI / 180)
* length));
HSSFChildAnchor ar = new HSSFChildAnchor(lAnchor.getDx1(), lAnchor
.getDy1(), (int) Math.abs(lAnchor.getDx1()
- Math.cos(60 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy1() - Math.sin(60 * Math.PI / 180)
* length));
HSSFChildAnchor atl = new HSSFChildAnchor(lAnchor.getDx2(), lAnchor
.getDy2(), (int) Math.abs(lAnchor.getDx2()
- Math.cos(30 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy2() - Math.sin(30 * Math.PI / 180)
* length));
HSSFChildAnchor atr = new HSSFChildAnchor(lAnchor.getDx2(), lAnchor
.getDy2(), (int) Math.abs(lAnchor.getDx2()
- Math.cos(60 * Math.PI / 180) * length), (int) Math
.abs(lAnchor.getDy2() - Math.sin(60 * Math.PI / 180)
* length));
g.createShape(al);
g.createShape(ar);
g.createShape(atl);
g.createShape(atr);
fileOut = new FileOutputStream("d:/workbook.xls");
wb.write(fileOut);
fileOut.close();
} catch (IOException io) {
io.printStackTrace();
System.out.println("io erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
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.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFTextbox;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
;
public class TestPOI {
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
BufferedImage bufferImg1 = null;
try {
// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("d:/Control_Treeview.jpg"));
bufferImg1 = ImageIO.read(new File("d:/Control_Treeview.jpg"));
ImageIO.write(bufferImg, "jpg", byteArrayOut);
ImageIO.write(bufferImg1, "jpg", byteArrayOut1);
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
// HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor3 = new HSSFClientAnchor(0, 0, 512, 255,
(short) 1, 1, (short) 10, 20);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0, 0, 512, 255,
(short) 2, 30, (short) 10, 60);
anchor1.setAnchorType(2);
// HSSFClientAnchor anchor3 = new
// HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);
// 插入图片
patriarch.createPicture(anchor3, wb.addPicture(byteArrayOut
.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
patriarch.createPicture(anchor3, wb.addPicture(byteArrayOut1
.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
HSSFTextbox createComment = patriarch.createTextbox(anchor3);
createComment.setString(new HSSFRichTextString("aaaaaaaaa"));
patriarch.createSimpleShape(anchor3);
fileOut = new FileOutputStream("d:/workbook.xls");
// 写入excel文件
wb.write(fileOut);
fileOut.close();
} catch (IOException io) {
io.printStackTrace();
System.out.println("io erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
- examples.rar (54.8 KB)
- 下载次数: 4
发表评论
-
在线native2ascii。方便很多
2011-04-09 15:27 1393http://www.00bug.com/native2asc ... -
Resin eclipse 插件无法下载问题临时解决方案
2011-03-10 13:32 3109resin主页上关于插件没有明确的下载地址,给了一个eclip ... -
javabean与xml互转工具wutka
2011-02-11 14:59 2064wutka这个东西太好了,拿出来与大家分享。 publi ... -
String split
2009-12-02 16:15 952错误:split(".") 正确:spli ... -
收藏两个地址
2009-10-16 15:29 909http://www.riawork.org/opentopi ... -
程序的安全性包括哪些方面?是什么原因让我们不去考虑程序的安全性,程序又运行的相对安全???
2009-03-20 15:01 1261如题,欢迎大家讨论。 -
读深入jvm笔记
2009-03-20 11:21 10401、类加载器分为,root和用户,root级的属于jvm的一部 ... -
JavaFX初体验
2009-03-05 18:16 1613利用下班前的2小时,体验了一把javaFX。看着网上热热闹闹的 ... -
一个计算tree层次的方法,请大家多提意见
2009-02-24 18:03 1066private int getTreeLevel(Tree ... -
我关注的几个java事件
2009-02-12 16:50 1700JWebPane : 解析html时或 ... -
高性能网页开发新20条规则详解
2008-12-18 17:39 1095Yahoo!优异性能(Yahoo!'s E ... -
url---〉image(1)
2008-11-18 12:20 12251、协议支持简单 2、不支持css 3、http协议需要改进 ... -
关于垃圾收集的一些话
2008-11-07 14:07 920“很难相信Java居然能和C++一样快,甚至还能更快一些。” ... -
关于java的性能
2008-11-07 14:06 910Java语言特别强调准确性,但可靠的行为要以性能作为代价。这一 ... -
多线程,等待和通知
2008-11-07 11:15 12233. 等待和通知 通过前两个例子的实践,我们知道无论sleep ... -
移位运算符
2008-10-14 12:07 1488移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整 ... -
按位运算符
2008-10-14 11:09 1374按位运算符允许我们操作一个整数主数据类型中的单个“比特”,即二 ... -
Java的数组
2008-10-13 14:31 822Java的一项主要设计目标就是安全性。所以在C和C++里困扰程 ... -
对象保存到什么地方
2008-10-13 14:02 1064程序运行时,我们最好 ...
相关推荐
本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,又能利用本作品提高效率。 结构紧凑,界面简洁 本作品工作表个数极少,分别是总表、表册、设置。你可以先在总表输入、...
1. **准备工作**: 首先,你需要整理好数据,确保数据已经按照你想要展示的方式排列在 Excel 工作表的不同列中。双向条形图通常会有一列共享的分类轴,而两列数值数据分别对应正向和负向的条形。 2. **选中工作区域*...
本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,又能利用本作品提高效率。 2、 结构紧凑,界面简洁 本作品工作表个数极少,分别是总表、表册、设置。你可以先在总表...
**Link Saver-crx插件详解** Link Saver是一款针对Chrome浏览器设计的扩展程序,它主要功能是帮助用户管理和保存网页链接。...通过它的简单操作,用户可以更有效地整理和利用网络资源,提升工作和学习的效率。
包括计算机应用、网络安全、多媒体技术、网络设备、搜索引擎技巧、电子邮件管理、计算机硬件历史、操作系统功能、计算机系统结构、数字转换、病毒行为、信息表示、Word编辑操作、键盘快捷键、Excel格式对齐、安全...
总的来说,Apache POI的使用能够帮助Java开发者高效地处理和操作Office文档,而将Word文档合并成PDF则是一种常见的需求,特别是在需要整理和汇总信息的场合。这个压缩包提供的资源可能就是一个完整的解决方案,包括...