`
zhenping
  • 浏览: 85981 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

POI导出图片到Excel 用的Jar包是POI3.10 & JFreechart1.0.17

 
阅读更多
package test.peter.main;

import java.awt.Font;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;

/**      
* 项目名称: Test 
* 类名称:    JfreeChartTest3   
* 类描述:    POI导出图片到Excel 用的Jar包是POI3.10 & JFreechart1.0.17
* 创建人:    Peter.Qiu   
* 创建时间:2014-3-18 下午03:50:09   
* 修改人:    Peter.Qiu   
* 修改时间:2014-3-18 下午03:50:09   
* 修改备注:     
*/
public class JfreeChartTest3 {
	private static FileOutputStream fileOut = null;
	private static BufferedImage bufferImg = null;
	//图片生成的路径
	private static String pathOfPicture = "D:/program.jpeg";
	//Excel生成的路径
	private static String pathOfExcel = "D:/test.xls";
	public static void main(String[] args) {
		//JFreeChart画图
		JFreeChart chart = ChartFactory.createPieChart3D("编程语言分布图", getDataset(), true, false, false);
		chart.setTitle(new TextTitle("编程语言分布图", new Font("仿宋", Font.BOLD, 20)));
		LegendTitle legend = chart.getLegend(0);
		legend.setItemFont(new Font("隶书", Font.TYPE1_FONT, 16));
		PiePlot plot = (PiePlot) chart.getPlot();
		plot.setLabelFont(new Font("宋体", Font.HANGING_BASELINE, 12));
		try {
			OutputStream os = new FileOutputStream(pathOfPicture);
			//OutputStream osExl = new FileOutputStream("测试.xls");
			try {
				// 由ChartUtilities生成文件到一个体outputStream中去
				ChartUtilities.writeChartAsJPEG(os, chart, 800, 600);
				//ChartUtilities.writeChartAsJPEG(osExl, chart, 100, 80);
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		//处理图片文件,以便产生ByteArray
		ByteArrayOutputStream handlePicture = new ByteArrayOutputStream();
		handlePicture = handlePicture(pathOfPicture);
		//创建一个工作簿
		HSSFWorkbook wb = new HSSFWorkbook();
		HSSFSheet sheet = wb.createSheet("picture sheet");
		HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
		HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 100, 50, (short) 0, 0, (short) 15, 30);
		//插入图片
		patriarch.createPicture(anchor, wb.addPicture(handlePicture.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
		//写入excel文件
		try {
			fileOut = new FileOutputStream(pathOfExcel);
			wb.write(fileOut);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (fileOut != null) {
				try {
					fileOut.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
	private static ByteArrayOutputStream handlePicture(String pathOfPicture) {
		ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
		try {
			bufferImg = ImageIO.read(new File(pathOfPicture));
			ImageIO.write(bufferImg, "jpeg", byteArrayOut);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return byteArrayOut;
	}
	private static DefaultPieDataset getDataset() {
		DefaultPieDataset dpd = new DefaultPieDataset();
		dpd.setValue("Java", 55);
		dpd.setValue("C/C++", 30);
		dpd.setValue("PHP", 10);
		dpd.setValue("其它", 15);
		return dpd;
	}
}

分享到:
评论

相关推荐

    java导出excel POI jar包

    本篇文章将深入讲解如何使用POI库在Java中实现Excel的导出功能,以及涉及到的相关jar包及其作用。 首先,`poi-ooxml-schemas-3.15-beta1.jar`是POI库中的XML schema定义,用于解析和创建符合Office Open XML标准的...

    poi方式导出excel需要的3个jar包

    本篇文章将详细探讨使用Apache POI库通过Java导出Excel所需的三个关键JAR包。 首先,我们来了解Apache POI项目。它是一个开源项目,主要由Apache软件基金会维护,其目标是提供一套API,使得开发者可以使用Java处理...

    java poi导出图片到excel示例代码

    Java POI导出图片到Excel示例代码,标题表明了本文的主要内容,即使用Java POI将图片导出到Excel中。 描述解释 描述中提到了本文的主要内容,即使用Java POI将图片导出到Excel中,并提供了详细的示例代码,对大家的...

    POI操作excel的所有jar包(3.7-3.10)+dom4j.jar+xmlbean.jar

    在标题和描述中提到的"POI操作excel的所有jar包(3.7-3.10)+dom4j.jar+xmlbean.jar"是使用POI库进行Excel操作所需的核心依赖。 首先,让我们逐一了解这些jar包的作用: 1. **poi-3.7.jar, poi-3.8.jar, poi-3.9.jar...

    导出excel文档所需要的poi的jar包

    标题提到的"导出excel文档所需要的poi的jar包"正是指这个功能。 Apache POI的版本3.8是较早的一个稳定版本,尽管现在已经有更新的版本,但3.8版本仍然广泛使用。这里提到了三个核心的jar包: 1. poi-3.8.jar:这是...

    java导出excel及POI3.10jar包

    1. **引入依赖**:在项目中引入Apache POI 3.10的jar包,通常通过Maven或Gradle进行管理。 2. **创建Workbook对象**:根据需要导出的Excel格式,创建HSSFWorkbook(.xls)或XSSFWorkbook(.xlsx)对象。 3. **创建...

    poi(java导出excel表jar包)

    标题中的"poi(java导出excel表jar包)"指的就是使用Apache POI库来实现Java程序导出数据到Excel(xls格式)的功能。描述中提到的"必需的jar包"是指为了使用Apache POI进行Excel操作,我们需要引入一系列的库文件,...

    POI poi相关所有jar包 poi jar包 poi最全jar包

    导入这些jar包后,开发者可以使用Apache POI API创建、修改和读取Office文件。例如,可以创建新的Excel工作簿,添加工作表,插入公式,设置单元格样式,读取数据,甚至处理图表和图片。对于Word文档,可以添加文本、...

    POI导出带图片的excel

    在本文中,我们将深入探讨如何使用POI库将图片插入到Excel文档中,以便创建包含图像的丰富报告。 首先,让我们理解POI的基本概念。Apache POI提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet ...

    使用poi生成Excel所需要的jar包

    在这个场景中,"使用poi生成Excel所需要的jar包"指的是利用Apache POI库来生成Excel文件。POI-3.9.jar是Apache POI项目的一个版本,包含了所有必要的类和方法,让我们可以处理Excel的XLS和XLSX格式。 首先,Apache ...

    导出Excel所需的jar包

    本篇将详细介绍如何使用Apache POI库导出Excel,并讨论与之相关的知识点。 首先,Apache POI提供了HSSF和XSSF两个主要组件,分别用于处理老版的BIFF8格式(.xls)和新版的OOXML格式(.xlsx)。这两个组件提供了API...

    poi 导入导出Excel相关jar包

    例如,你可以使用POI读取Excel数据,然后用dim4j进行数据预处理,最后再用POI将处理后的结果写回Excel。 在实际项目中,为了简化POI的使用,通常会封装一些工具类或者服务,提供简单的接口供其他模块调用,如批量...

    使用POI,实现excel文件导出,图片url导出文件,图片和excel文件导出压缩包

    本文将深入探讨如何使用POI库来实现Excel文件的导出,以及如何将图片URL转换为图片文件并与其他文件一起打包成压缩包。 首先,让我们了解一下Apache POI。POI是Java开发者的开源API,它允许程序创建、修改和显示...

    poi导出word和excel,附带jar包

    在本例中,"poi导出word和excel"是一个使用Java POI组件实现的示例,通过main方法演示了如何操作Excel和Word文档的生成。 首先,让我们详细了解一下Java POI库在Excel导出中的应用。在Excel处理中,POI提供了一个...

    poi3.9 poi3.10 poi3.15 dom4j综合jar包

    4. **使用场景**:这些jar包通常用于Web应用中生成动态Excel报表,例如在线数据分析系统导出数据、批量数据导入导出、报表生成等。通过结合POI和DOM4J,开发者能够创建复杂的工作簿结构,设置单元格样式,处理公式和...

    springboot+poi导出指定格式Excel模板

    springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...

    android poi解析Excel 的三个jar包

    "android poi解析Excel 的三个jar包" 提供了实现这一目标所需的Java库。这些库使得Android应用可以与Excel文件进行交互,而无需依赖Microsoft Office或任何桌面环境。让我们详细探讨这三个关键的jar包以及它们在...

    poi导出excel需要的jar

    "poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...

    JAVA实现数据库数据导入导出到Excel(POI)所需jar包

    在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件导入数据到数据库。Apache POI是一个流行的API,专为处理Microsoft Office格式的文件,如Excel(.xlsx, .xls)。本教程将详细介绍如何...

    poi3.8.jar poi3.9.jar poi3.10.jar 3.8版3.9版3.10版所有jar包

    里面包含了3.8版3.9版3.10版的所有的poi的jar包 这只是3.9版的 poi-3.9.jar poi-ooxml-3.9.jar dom4j-1.6.1.jar poi-ooxml-schemas-3.9.jar xmlbeans-2.3.0.jar poi-ooxml-3.9-sources.jar

Global site tag (gtag.js) - Google Analytics