当前位置:文档之家› java生成excel图表

java生成excel图表

java生成excel图表
java生成excel图表

package Excel.tools;

import java.awt.Color;

import java.awt.Font;

import java.io.File;

import java.io.FileOutputStream;

import java.text.DecimalFormat;

import java.text.NumberFormat;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.CategoryAxis;

import org.jfree.chart.axis.CategoryLabelPositions;

import org.jfree.chart.axis.NumberAxis;

import org.jfree.chart.axis.V alueAxis;

import https://www.doczj.com/doc/912866839.html,bels.StandardCategoryItemLabelGenerator; import https://www.doczj.com/doc/912866839.html,bels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.CategoryPlot;

import org.jfree.chart.plot.PiePlot3D;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.renderer.category.BarRenderer;

import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.chart.renderer.category.StackedBarRenderer;

import org.jfree.chart.title.TextTitle;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.general.DatasetUtilities;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

/**

* 实际取色的时候一定要16位的,这样比较准确

*

* @author new

*/

public class CreateChartServiceImpl {

private static final String CHART_PATH = "E:/test/";

public static void main(String[] args) {

// TODO Auto-generated method stub

CreateChartServiceImpl pm = new CreateChartServiceImpl();

// 生成饼状图

pm.makePieChart();

// 生成单组柱状图

pm.makeBarChart();

// 生成多组柱状图

pm.makeBarGroupChart();

// 生成堆积柱状图

pm.makeStackedBarChart();

// 生成折线图

pm.makeLineAndShapeChart();

}

/**

* 生成折线图

*/

public void makeLineAndShapeChart() {

double[][] data = new double[][] { { 672, 766, 223, 540, 126 },

{ 325, 521, 210, 340, 106 }, { 332, 256, 523, 240, 526 } };

String[] rowKeys = { "苹果", "梨子", "葡萄" };

String[] columnKeys = { "北京", "上海", "广州", "成都", "深圳" };

CategoryDataset dataset = getBarData(data, rowKeys, columnKeys);

createTimeXYChar("折线图", "x轴", "y轴", dataset, "lineAndShap.jpg"); }

/**

* 生成分组的柱状图

*/

public void makeBarGroupChart() {

double[][] data = new double[][] { { 672, 766, 223, 540, 126 },

{ 325, 521, 210, 340, 106 }, { 332, 256, 523, 240, 526 } };

String[] rowKeys = { "苹果", "梨子", "葡萄" };

String[] columnKeys = { "北京", "上海", "广州", "成都", "深圳" };

CategoryDataset dataset = getBarData(data, rowKeys, columnKeys);

createBarChart(dataset, "x坐标", "y坐标", "柱状图", "barGroup.png"); }

/**

* 生成柱状图

*/

public void makeBarChart() {

double[][] data = new double[][] { { 672, 766, 223, 540, 126 } };

String[] rowKeys = { "苹果" };

String[] columnKeys = { "北京", "上海", "广州", "成都", "深圳" };

CategoryDataset dataset = getBarData(data, rowKeys, columnKeys);

createBarChart(dataset, "x坐标", "y坐标", "柱状图", "bar.png");

}

/**

* 生成堆栈柱状图

*/

public void makeStackedBarChart() {

double[][] data = new double[][] { { 0.21, 0.66, 0.23, 0.40, 0.26 },

{ 0.25, 0.21, 0.10, 0.40, 0.16 } };

String[] rowKeys = { "苹果", "梨子" };

String[] columnKeys = { "北京", "上海", "广州", "成都", "深圳" };

CategoryDataset dataset = getBarData(data, rowKeys, columnKeys);

createStackedBarChart(dataset, "x坐标", "y坐标", "柱状图", "stsckedBar.png"); }

/**

* 生成饼状图

*/

public void makePieChart() {

double[] data = { 9, 91 };

String[] keys = { "失败率", "成功率" };

createValidityComparePimChar(getDataPieSetByUtil(data, keys), "饼状图", "pie2.png", keys);

}

// 柱状图,折线图数据集

public CategoryDataset getBarData(double[][] data, String[] rowKeys,

String[] columnKeys) {

return DatasetUtilities

.createCategoryDataset(rowKeys, columnKeys, data);

}

// 饼状图数据集

public PieDataset getDataPieSetByUtil(double[] data,

String[] datadescription) {

if (data != null && datadescription != null) {

if (data.length == datadescription.length) {

DefaultPieDataset dataset = new DefaultPieDataset();

for (int i = 0; i < data.length; i++) {

dataset.setValue(datadescription[i], data[i]);

}

return dataset;

}

}

return null;

}

/**

* 柱状图

*

*@param dataset

* 数据集

* @param xName

* x轴的说明(如种类,时间等)

* @param yName

* y轴的说明(如速度,时间等)

* @param chartTitle

* 图标题

* @param charName

* 生成图片的名字

* @return

*/

public String createBarChart(CategoryDataset dataset, String xName,

String yName, String chartTitle, String charName) {

JFreeChart chart = ChartFactory.createBarChart(chartTitle, // 图表标题

xName, // 目录轴的显示标签

yName, // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);

/*

* VALUE_TEXT_ANTIALIAS_OFF表示将文字的抗锯齿关闭,

* 使用的关闭抗锯齿后,字体尽量选择12到14号的宋体字,这样文字最清晰好看

*/

//

chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.V ALUE_TEXT_ANTIALIAS_OFF);

chart.setTextAntiAlias(false);

chart.setBackgroundPaint(Color.white);

// create plot

CategoryPlot plot = chart.getCategoryPlot();

// 设置横虚线可见

plot.setRangeGridlinesVisible(true);

// 虚线色彩

plot.setRangeGridlinePaint(Color.gray);

// 数据轴精度

NumberAxis vn = (NumberAxis) plot.getRangeAxis();

// vn.setAutoRangeIncludesZero(true);

DecimalFormat df = new DecimalFormat("#0.00");

vn.setNumberFormatOverride(df); // 数据轴数据标签的显示格式

// x轴设置

CategoryAxis domainAxis = plot.getDomainAxis();

domainAxis.setLabelFont(labelFont);// 轴标题

domainAxis.setTickLabelFont(labelFont);// 轴数值

// Lable(Math.PI/3.0)度倾斜

// domainAxis.setCategoryLabelPositions(CategoryLabelPositions

// .createUpRotationLabelPositions(Math.PI / 3.0));

domainAxis.setMaximumCategoryLabelWidthRatio(0.6f);// 横轴上的Lable 是否完整显示

// 设置距离图片左端距离

domainAxis.setLowerMargin(0.1);

// 设置距离图片右端距离

domainAxis.setUpperMargin(0.1);

// 设置columnKey 是否间隔显示

// domainAxis.setSkipCategoryLabelsToFit(true);

plot.setDomainAxis(domainAxis);

// 设置柱图背景色(注意,系统取色的时候要使用16位的模式来查看颜色编码,这样比较准确)

plot.setBackgroundPaint(new Color(255, 255, 204));

// y轴设置

ValueAxis rangeAxis = plot.getRangeAxis();

rangeAxis.setLabelFont(labelFont);

rangeAxis.setTickLabelFont(labelFont);

// 设置最高的一个Item 与图片顶端的距离

rangeAxis.setUpperMargin(0.15);

// 设置最低的一个Item 与图片底端的距离

rangeAxis.setLowerMargin(0.15);

plot.setRangeAxis(rangeAxis);

BarRenderer renderer = new BarRenderer();

// 设置柱子宽度

renderer.setMaximumBarWidth(0.05);

// 设置柱子高度

renderer.setMinimumBarLength(0.2);

// 设置柱子边框颜色

renderer.setBaseOutlinePaint(Color.BLACK);

// 设置柱子边框可见

renderer.setDrawBarOutline(true);

// // 设置柱的颜色

renderer.setSeriesPaint(0, new Color(204, 255, 255));

renderer.setSeriesPaint(1, new Color(153, 204, 255));

renderer.setSeriesPaint(2, new Color(51, 204, 204));

// 设置每个地区所包含的平行柱的之间距离

renderer.setItemMargin(0.0);

// 显示每个柱的数值,并修改该数值的字体属性

renderer.setIncludeBaseInRange(true);

renderer

.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true);

plot.setRenderer(renderer);

// 设置柱的透明度

plot.setForegroundAlpha(1.0f);

FileOutputStream fos_jpg = null;

try {

isChartPathExist(CHART_PATH);

String chartName = CHART_PA TH + charName;

fos_jpg = new FileOutputStream(chartName);

ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 500, true, 10);

return chartName;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

fos_jpg.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

/**

* 横向图

*

* @param dataset

* 数据集

* @param xName

* x轴的说明(如种类,时间等)

* @param yName

* y轴的说明(如速度,时间等)

* @param chartTitle

* 图标题

* @param charName

* 生成图片的名字

* @return

*/

public String createHorizontalBarChart(CategoryDataset dataset,

String xName, String yName, String chartTitle, String charName) { JFreeChart chart = ChartFactory.createBarChart(chartTitle, // 图表标题

xName, // 目录轴的显示标签

yName, // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

CategoryPlot plot = chart.getCategoryPlot();

// 数据轴精度

NumberAxis vn = (NumberAxis) plot.getRangeAxis();

// 设置刻度必须从0开始

// vn.setAutoRangeIncludesZero(true);

DecimalFormat df = new DecimalFormat("#0.00");

vn.setNumberFormatOverride(df); // 数据轴数据标签的显示格式

CategoryAxis domainAxis = plot.getDomainAxis();

domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的// Lable

Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);

domainAxis.setLabelFont(labelFont);// 轴标题

domainAxis.setTickLabelFont(labelFont);// 轴数值

domainAxis.setMaximumCategoryLabelWidthRatio(0.8f);// 横轴上的Lable 是否完整显示

// domainAxis.setVerticalCategoryLabels(false);

plot.setDomainAxis(domainAxis);

ValueAxis rangeAxis = plot.getRangeAxis();

// 设置最高的一个Item 与图片顶端的距离

rangeAxis.setUpperMargin(0.15);

// 设置最低的一个Item 与图片底端的距离

rangeAxis.setLowerMargin(0.15);

plot.setRangeAxis(rangeAxis);

BarRenderer renderer = new BarRenderer();

// 设置柱子宽度

renderer.setMaximumBarWidth(0.03);

// 设置柱子高度

renderer.setMinimumBarLength(30);

renderer.setBaseOutlinePaint(Color.BLACK);

// 设置柱的颜色

renderer.setSeriesPaint(0, Color.GREEN);

renderer.setSeriesPaint(1, new Color(0, 0, 255));

// 设置每个地区所包含的平行柱的之间距离

renderer.setItemMargin(0.5);

// 显示每个柱的数值,并修改该数值的字体属性

renderer

.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());

// 设置柱的数值可见

renderer.setBaseItemLabelsVisible(true);

plot.setRenderer(renderer);

// 设置柱的透明度

plot.setForegroundAlpha(0.6f);

FileOutputStream fos_jpg = null;

try {

isChartPathExist(CHART_PATH);

String chartName = CHART_PA TH + charName;

fos_jpg = new FileOutputStream(chartName);

ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 500, true, 10);

return chartName;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

fos_jpg.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

/**

* 饼状图

*

* @param dataset

* 数据集

* @param chartTitle

* 图标题

* @param charName

* 生成图的名字

* @param pieKeys

* 分饼的名字集

* @return

*/

public String createValidityComparePimChar(PieDataset dataset,

String chartTitle, String charName, String[] pieKeys) {

JFreeChart chart = ChartFactory.createPieChart3D(chartTitle, // chart

// title

dataset,// data

true,// include legend

true, false);

// 使下说明标签字体清晰,去锯齿类似于

//

chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.V ALUE_TEXT_ANTIALIAS_OFF);的效果

chart.setTextAntiAlias(false);

// 图片背景色

chart.setBackgroundPaint(Color.white);

// 设置图标题的字体重新设置title

Font font = new Font("隶书", Font.BOLD, 25);

TextTitle title = new TextTitle(chartTitle);

title.setFont(font);

chart.setTitle(title);

PiePlot3D plot = (PiePlot3D) chart.getPlot();

// 图片中显示百分比:默认方式

// 指定饼图轮廓线的颜色

// plot.setBaseSectionOutlinePaint(Color.BLACK);

// plot.setBaseSectionPaint(Color.BLACK);

// 设置无数据时的信息

plot.setNoDataMessage("无对应的数据,请重新查询。");

// 设置无数据时的信息显示颜色

plot.setNoDataMessagePaint(Color.red);

// 图片中显示百分比:自定义方式,{0} 表示选项,{1} 表示数值,{2} 表示所占比例,小数点后两位

plot.setLabelGenerator(new StandardPieSectionLabelGenerator(

"{0}={1}({2})", NumberFormat.getNumberInstance(),

new DecimalFormat("0.00%")));

// 图例显示百分比:自定义方式,{0} 表示选项,{1} 表示数值,{2} 表示所占比例

plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(

"{0}={1}({2})"));

plot.setLabelFont(new Font("SansSerif", Font.TRUETYPE_FONT, 12));

// 指定图片的透明度(0.0-1.0)

plot.setForegroundAlpha(0.65f);

// 指定显示的饼图上圆形(false)还椭圆形(true)

plot.setCircular(false, true);

// 设置第一个饼块section 的开始位置,默认是12点钟方向

plot.setStartAngle(90);

// // 设置分饼颜色

plot.setSectionPaint(pieKeys[0], new Color(244, 194, 144));

plot.setSectionPaint(pieKeys[1], new Color(144, 233, 144));

FileOutputStream fos_jpg = null;

try {

// 文件夹不存在则创建

isChartPathExist(CHART_PATH);

String chartName = CHART_PA TH + charName;

fos_jpg = new FileOutputStream(chartName);

// 高宽的设置影响椭圆饼图的形状

ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 230);

return chartName;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

fos_jpg.close();

System.out.println("create pie-chart.");

} catch (Exception e) {

e.printStackTrace();

}

}

}

/**

* 判断文件夹是否存在,如果不存在则新建

*

* @param chartPath

*/

private void isChartPathExist(String chartPath) {

File file = new File(chartPath);

if (!file.exists()) {

file.mkdirs();

// https://www.doczj.com/doc/912866839.html,("CHART_PATH="+CHART_PATH+"create.");

}

}

/**

* 折线图

*

* @param chartTitle

* @param x

* @param y

* @param xyDataset

* @param charName

* @return

*/

public String createTimeXYChar(String chartTitle, String x, String y, CategoryDataset xyDataset, String charName) {

JFreeChart chart = ChartFactory.createLineChart(chartTitle, x, y,

xyDataset, PlotOrientation.VERTICAL, true, true, false);

chart.setTextAntiAlias(false);

chart.setBackgroundPaint(Color.WHITE);

// 设置图标题的字体重新设置title

Font font = new Font("隶书", Font.BOLD, 25);

TextTitle title = new TextTitle(chartTitle);

title.setFont(font);

chart.setTitle(title);

// 设置面板字体

Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);

chart.setBackgroundPaint(Color.WHITE);

CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();

// x轴// 分类轴网格是否可见

categoryplot.setDomainGridlinesVisible(true);

// y轴//数据轴网格是否可见

categoryplot.setRangeGridlinesVisible(true);

categoryplot.setRangeGridlinePaint(Color.WHITE);// 虚线色彩

categoryplot.setDomainGridlinePaint(Color.WHITE);// 虚线色彩

categoryplot.setBackgroundPaint(Color.lightGray);

// 设置轴和面板之间的距离

// categoryplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D)); CategoryAxis domainAxis = categoryplot.getDomainAxis();

domainAxis.setLabelFont(labelFont);// 轴标题

domainAxis.setTickLabelFont(labelFont);// 轴数值

domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的// Lable

// 45度倾斜

// 设置距离图片左端距离

domainAxis.setLowerMargin(0.0);

// 设置距离图片右端距离

domainAxis.setUpperMargin(0.0);

NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();

numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

numberaxis.setAutoRangeIncludesZero(true);

// 获得renderer 注意这里是下嗍造型到lineandshaperenderer!!

LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot .getRenderer();

lineandshaperenderer.setBaseShapesVisible(true); // series 点(即数据点)可见

lineandshaperenderer.setBaseLinesVisible(true); // series 点(即数据点)间有连线可见

// 显示折点数据

// lineandshaperenderer.setBaseItemLabelGenerator(new

// StandardCategoryItemLabelGenerator());

// lineandshaperenderer.setBaseItemLabelsVisible(true);

FileOutputStream fos_jpg = null;

try {

isChartPathExist(CHART_PATH);

String chartName = CHART_PA TH + charName;

fos_jpg = new FileOutputStream(chartName);

// 将报表保存为png文件

ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 510);

return chartName;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

fos_jpg.close();

System.out.println("create time-createTimeXYChar.");

} catch (Exception e) {

e.printStackTrace();

}

}

}

/**

* 堆栈柱状图

*

* @param dataset

* @param xName

* @param yName

* @param chartTitle

* @param charName

* @return

*/

public String createStackedBarChart(CategoryDataset dataset, String xName, String yName, String chartTitle, String charName) {

// 1:得到CategoryDataset

// 2:JFreeChart对象

JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // 图表标题xName, // 目录轴的显示标签

yName, // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

// 图例字体清晰

chart.setTextAntiAlias(false);

chart.setBackgroundPaint(Color.WHITE);

// 2 .2 主标题对象主标题对象是TextTitle 类型

chart

.setTitle(new TextTitle(chartTitle, new Font("隶书", Font.BOLD,

25)));

// 2 .2.1:设置中文

// x,y轴坐标字体

Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);

// 2 .3 Plot 对象Plot 对象是图形的绘制结构对象

CategoryPlot plot = chart.getCategoryPlot();

// 设置横虚线可见

plot.setRangeGridlinesVisible(true);

// 虚线色彩

plot.setRangeGridlinePaint(Color.gray);

// 数据轴精度

NumberAxis vn = (NumberAxis) plot.getRangeAxis();

// 设置最大值是1

vn.setUpperBound(1);

// 设置数据轴坐标从0开始

// vn.setAutoRangeIncludesZero(true);

// 数据显示格式是百分比

DecimalFormat df = new DecimalFormat("0.00%");

vn.setNumberFormatOverride(df); // 数据轴数据标签的显示格式

// DomainAxis (区域轴,相当于x 轴),RangeAxis (范围轴,相当于y 轴)

CategoryAxis domainAxis = plot.getDomainAxis();

domainAxis.setLabelFont(labelFont);// 轴标题

domainAxis.setTickLabelFont(labelFont);// 轴数值

// x轴坐标太长,建议设置倾斜,如下两种方式选其一,两种效果相同

// 倾斜(1)横轴上的Lable 45度倾斜

// domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);

// 倾斜(2)Lable(Math.PI 3.0)度倾斜

// domainAxis.setCategoryLabelPositions(CategoryLabelPositions

// .createUpRotationLabelPositions(Math.PI / 3.0));

domainAxis.setMaximumCategoryLabelWidthRatio(0.6f);// 横轴上的Lable 是否完整显示

plot.setDomainAxis(domainAxis);

// y轴设置

ValueAxis rangeAxis = plot.getRangeAxis();

rangeAxis.setLabelFont(labelFont);

rangeAxis.setTickLabelFont(labelFont);

// 设置最高的一个Item 与图片顶端的距离

rangeAxis.setUpperMargin(0.15);

// 设置最低的一个Item 与图片底端的距离

rangeAxis.setLowerMargin(0.15);

plot.setRangeAxis(rangeAxis);

// Renderer 对象是图形的绘制单元

StackedBarRenderer renderer = new StackedBarRenderer();

// 设置柱子宽度

renderer.setMaximumBarWidth(0.05);

// 设置柱子高度

renderer.setMinimumBarLength(0.1);

// 设置柱的边框颜色

renderer.setBaseOutlinePaint(Color.BLACK);

// 设置柱的边框可见

renderer.setDrawBarOutline(true);

// // 设置柱的颜色(可设定也可默认)

renderer.setSeriesPaint(0, new Color(204, 255, 204));

renderer.setSeriesPaint(1, new Color(255, 204, 153));

// 设置每个地区所包含的平行柱的之间距离

renderer.setItemMargin(0.4);

plot.setRenderer(renderer);

// 设置柱的透明度(如果是3D的必须设置才能达到立体效果,如果是2D的设置则使颜色变淡)

// plot.setForegroundAlpha(0.65f);

FileOutputStream fos_jpg = null;

try {

isChartPathExist(CHART_PATH);

String chartName = CHART_PA TH + charName;

fos_jpg = new FileOutputStream(chartName);

ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 500, true, 10);

return chartName;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

try {

fos_jpg.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

java导入导出excel操作

java导入导出excel操作(jxl) Java解释Excel数据(包的使用) 关键字: java excel 包 下载地址: 真实下载地址: 网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java 的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel 文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: Java代码 /* * Created on Dec 30, 2007 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package ; import .*; import jxl.*; import .*;

/** * @author Ken * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = (new File("d:/")); 0 means this is 1st page. WritableSheet sheet = ("Sheet_1", 0); value is "test". Label label = new Label(0, 0, "test"); (label); WARN:necessarily use integrated package-path, otherwise will be throws path -error. value is . number = new0, ; (number); (); (); } catch (Exception e) { (); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

Excel图表生成技巧

?首先,将光标放在表格数据单元格中,按Ctrl+A选中全部表格(有数据内容的表格); ?在表格右下角可以找到一个小方块,切换到【图表】选项卡; ?选择你需要的图表类型就可以自动生成图表了。 02如何复制图表格式 ?光标选中已经生成的图表绘图区并复制; ?选中想要复制的图表绘图区域; ?点击【选择性粘贴】-【格式】,就可以将复制的图表格式粘贴到指定图表中啦。

当我们想要修改图例时,请先选中图例,然后在顶部编辑栏,修改并编辑需要修改的内容即可。 04如何创建动态图表 ?选中已经生成图例的表格; ?点击【插入】-【筛选器】-【切片器】; ?生成切片栏后,点击相关内容,图表即可随着切换。

?在Excel工作表,在数据表格中添加一个平均值的辅助列; ?在辅助系列单元格中输入average函数计算出平均值,下拉平均值单元格得到数据; ?然后选中全部数据,插入柱状图,在图表中选择“平均值系列”; ?选择“更改图表类型”,将辅助列图形改为折线图,点击“确定”就可以完成绘制啦! 06如何调整标签位置 ?在Excel软件中打开制作好图表的工作簿; ?右键调出【设置数据标签格式】选项卡,然后调整数据标签所在的位置即可。

?选中折线图,鼠标右键调出菜单栏,然后选择【设置数据系列格式】; ?在弹出的对话框中,左侧勾选【线型】; ?右侧勾选【平滑线】; ?点击【关闭】窗口,图表的折现样式就转变为了平滑线样式。 08Excel如何快速添加标题 ?选中图表标题,显示标题; ?在单元格内修改标题,图表内的标题也会随之改变; ?按住Ctrl键,选中图表和图表标题,点击【图片工具】-【组合】,将图表标题与图表组合在一起就好了。

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.doczj.com/doc/912866839.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

intouch 通过Excel 生成报表

1、自动生成需要的标记名 在intouch开发环境中,将向导库中/趋势/历史向导(HistData)放入窗口,这将自动生成若干标记名(如下)。有关标记名以HDW开头,加上他们的DDE的Item命名。 标记名说明如下: HDWDataDir 消息型历史数据文件的目录的路径名,可用函数赋值。 例如:HDWDataDir = HTGetLogDirectory(); HDWDBDir 消息型intouch标记名字典的目录的路径名,可用函数赋值。 例如:HDWDBDir = InfoInTouchAppDir(); HDWStratDate 消息型与$DataString 相同格式的数据采样开始日期。 例如: HDWStartTime 消息型使用24小时时钟的HH:MM:SS 格式的数据采样开始时间 例如:09:45:33 HDWDuration 消息型数据时间长度(报表时间总长度) 可以用星期,天,时,分,秒,等来表示。下面是有效的 字符:W 星期,D 天,H 小时;M 分,S 秒。允许使用 小数值例如:表示500毫秒;若只需要一个样本,请将Duration 设为零。 HDWInterval 消息型采样间隔的时间长度 可以用星期,日,小时,分,秒来表示例如1W 表示一 星期。允许使用小数值例如:.25d 来表示6小时。有效字 符与HDWDuration相同;注意Duration 和Interval允许的最打

时间长度为6周,这适用于所有请求类型日,秒,等。例如如 果使用日则最大值为42, 7天*6周=42天。 HDWTags 消息型历史数据的标记名列表(报表中需要的标记名) 以taga,tagb;tagz格式输入,此外采样日期或时间可以通过使用 内部系统标记$Date和$Time来请求。 HDWFileName 消息型规定生成的.CSV文件的路径和名称。 例如:E:\111\ HDWWriteFile 整形当设置为1时,HistData 会将请求数据写入由FileName项目 名指定的文件,当文件更新完成后WriteFile 会自动重置为0 Status 离散型显示最后一次操作的状态 1 表示成功,0 表示出错 Error 消息型包含上次错误说明的字符串,如Status 为1 则表示无,如Status 为0 则表示错误消息字符串。 例如:下面脚本生成一个日期由StartData1规定,但包含两个标记名PI-101;TI-101,日报表。可以复制在脚本中,修改一下就可以形成所需的.CSV文件。 HDWStartDate=StartDate1; HDWStartTime=”00:00:00”; HDWDBDir=InfoIntouchAppDir(); HDWDataDir=HTGetLogDirectory(); HDWFilename=” E:\111\”; HDWTags=”$Date,$Time, PI-101,TI-101”; HDWInterval=”1H”; HDWDuration=”1D”; HDWWritefile=1; 例如:设计一个按钮,当按下按钮时,生成一个.CSV表格。生成表格的起始日期,和起始时间可调,表格时间间隔也可调。 新建内存型标签,标签数据类型为消息型:startdate 消息型;starttime 消息型

excel数据图表练习题

数据图表、数据筛选、分类汇总1、以下关于图表的说法中,不正确的是( )A 、图表可单独打印B 、内嵌图表不能单独打印,只能和工作表一起打印C 、通常独立图表中的图像大小不是实际大小D 、双击图表可以激活该图表2、Excel 2003下的购图书记表中,要选择所有价格在25至40元之间(含边界),出版社为文艺出版社或教育出版社,且页数大于500页的记录,若使用高级筛选,其条件区域的写法应为( ) (2010年高考) A B .价格价格出版社页数>=25<=40文艺出版社>500>=25 <=40教育出版社>500 C.价格出版社页数>=25价格价格出版社出版社页数>=25<=40文艺出版社教育出版社>500、管路敷设技术通过管线敷设技术不仅可以解决吊顶层配置不规范高中资料试卷问题,而且,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.doczj.com/doc/912866839.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

Excel图表:创建基本图表

Excel图表:创建基本图表 前面我们在Excel实例系列中学习了很多基础知识和技能,包括图解Excel入门、Excel数据的输入、Excel公式与函数的使用等等。接下来我们将继续通过实例的形式学习一个非常有趣的内容,即Excel图表的制作。 Excel图表可以将数据图形化,更直观的显示数据,使数据的比较或趋势变得一目了然,从而更容易表达我们的观点。 本课我们将通过“图表向导”创建最基本的图表。为了方便想一起进行下面操作的读者朋友,文章末尾提供了原文件供大家下载参考,朋友们可以先下载它到本地电脑,然后打开它和下面的步骤一同操作。 实例背景:小张是一名销售主管,他负责管理三个部门,快到年终了,为了用Excel 统计分析销售情况,他把三个部门2004年第四季度的销售业绩输入到了Excel工作表中(图1)。 为了让三个部门的业绩情况更直观的表显示,他将通过Excel“图表向导”,将数据转化为图表。 思路分析:利用“图表向导”制作图表,首要的一步是选择生成图表的数据区域,接下来根据“图表向导”的提示一步一步操作即可快速生成基本的图表。 操作步骤: 一、创建图表 1. 打开“创建基本的图表(原始文件)”工作薄文件,进入“练习”工作表,选中需要生成图表的数据区域“A1:D4”。 2. 单击“常用”工具栏上的“图表向导”按钮(图2)。或者选择菜单“插入→图表”命令。打开“图表向导”对话框。

3. 默认“图表类型”为“柱形图”和子图表类型(图3),单击下方的“按下不放可查看示例”按钮,可以看到将得到的图表外观的预览。 4. 直接单击“完成”按钮,将在当前工作表中得到生成的图表(图4)。

JAVA导出EXCEL类(TSV格式)

package com.bear.util; import java.io.*; import javax.swing.*; import javax.swing.table.*; public class ExcelUtil { public void exportTable(JTable table,String title) throws IOException { TableModel model = table.getModel(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File("."));//设置当前目录 fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File file) { if (file.isDirectory()) return true; return (file.getName().indexOf("xls") != -1); } public String getDescription() { return "Microsoft Excel文件(*.xls)"; } }); //fileChooser.showSaveDialog(null); int returnVal =fileChooser.showSaveDialog(fileChooser); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file.exists()) { int copy = JOptionPane.showConfirmDialog(null,"是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if (copy == JOptionPane.YES_OPTION) fileChooser.approveSelection(); else return; } else fileChooser.approveSelection(); FileWriter out = new FileWriter(file); out.write(title + "\n\n"); for(int i=0; i < model.getColumnCount(); i++) out.write(model.getColumnName(i) + "\t"); out.write("\n"); for(int i=0; i< model.getRowCount(); i++) {

Excel数据处理技巧:PowerQuery插件一键生成报表.doc

Excel 数据处理技巧:Power Query 插件一键生成报表 每个月月底,财务小王都要汇总全国各地区的销售数据做数 据分析。之前他采用的方法就是把各个工作表的数据复制再 粘贴到一个工作表里,然后进行数据透视表分析。可是全国 有那么多城市,复制粘贴太费时间,而且如果中间数据有变 动怎么办?现在不用担心了,今天给大家介绍一个EXCEL 很好用的技能 Power Query,帮助大家实现动态获取多工作表 数据。 一、初识 Power Query 如下图,在这个工作簿里,各个工作表分别列举了全国各个 地区的销售数据,这里为了举例,只列举四个城市的基本数 据。 首先,打开数据选项卡下,在[ 获取与转换 ]组中,新建查询---从文件 --- 从工作簿。

Power Query 本来是 EXCEL 的一个插件,在EXCEL2016 以前版本都需要另外下载,但是在 Excel2016 中,这项技能已经内置在数据选项卡 [ 获取与转换 ] 组中,以供大家直接使用。由此 足以可见 Power Query 的重要性。这里就推荐大家升级到最新的EXCEL 版本, EXCEL2016 以前的版本呢,大家可以自行百度下载安装这个插件。 在弹出的窗口中找到工作簿,导入。 在弹出的导航器界面,勾选“选择多项”,把这几个需要合 并的工作表全部选中,再选择右下角的“编辑”。 这样就进入了POWER QUERY 编辑器界面。 这个界面就是我们进行 Power Query 操作的主要界面,可以看到,上面的菜单栏跟 EXCEL 菜单栏很相似,左侧的查询窗口 显示的是打开的四个工作表,右侧查询设置界面是类似于 PS 一样的可以进行操作的记录和返回。中间区域则显示了表格的 内容。 二、使用 Power Query 汇总数据 点击开始选项卡下[ 组合 ] 组里面的追加查询。

【VIP专享】java 导出excel 增量写入同一sheet

sheetAct=createExcelHead(sheetAct,writer,excelHead,title+num); } list=agentService .queryExportData(map); if (j<5){ findExcelData(j*limit,list,sheetAct); }else { int num=j/5; findExcelData((j-num*5)*limit,list,sheetAct); } } writer.write();}catch (Exception e){ LOGGER .error("Exception:", e.fillInStackTrace()); } finally { if (null != writer) { writer.close(); } } return out.toByteArray(); } findExcelData 方法: private void findExcelData(int start,List list,ExcelWriter.Sheet sheetAct){ StudioSeriesPrice detail=null ;/*拼装excel 内容*/ for (int i=0;i

Eexcel生成图表教案

Eexcel生成图表教案 一、教学内容设计背景与教学对象分析 本课采北师大版信息技术初中第二册第一单元《用电子表格处理数据》第五课《生成图表》为教学依据。在本课教学中,将数学课有关知识融入到信息技术课中来,通过观察、思考、想象,提高学生的信息技术素养。本课的教学对象初三年级学生在学习Excel图表的过程中,我发现图表可以直观地反映各数据的分布变化情况及对比关系,而学生在数学课(初二)《统计的初步认识》一章中学会如何用统计图表示各部分数量的大小、百分比结构、变化趋势和规律等知识,因此,我利用Excel的创建图表功能来快速地绘制出各种类型图表,帮助学生分析处理数据,做出合理的决策。这样把学科知识的学习和能力的培养与其它学科的教学紧密结合起来,使学生在解决各种问题的过程中学习并掌握信息技术,同时也使信息技术潜移默化地融入学生的知识结构中去。 二、教学目标 1、认知目标:结合教学统计图的知识,能学会利用Excel创建图表的方法;能掌握各种图表类型的特点。 2、技能目标:运用信息技术的基本知识,解决数学知识; 能选用合理的图表类型分析数据,做出合理决策。 3、情感目标:培养学生严谨的科学态度及用于创新的精神。 三、教学重点和难点 1、根据实际问题选择适当的图标类型 2、创建图表的源数据的选择 四、教学策略 以主体教育理论为指导,在教学中以学生的学习为本,贯穿学生自主学习、主动探索、合作学习的教学要求,发挥学生的主动性、能动性和创造性,同时要发挥教师的引导、辅导、组织参与、评价等主导作用。培养学生运用信息技术的基本知识,解决数学知识。整个教学可按照以下模式进行:教师示范引导——学生实践反馈——教师评价分析——学生巩固、提高练习。 五、教学媒体 教师:计算机、多媒体教学系统的配合使用 学生:计算机的配合使用 六、教学课时数 1课时 七、教学过程 (一)引入 在数学《统计的初步认识》一章中同学们已经学习了根据统计的数据表,画出合适的统计图,来直观形象地反映数据,帮助我们分析数据,做出合理的决策,但是画统计图比较繁琐,Excel 可以快速地帮我们创建图表,不信吗?那我们来试一试吧。 [分析]引发学生好奇心、探究心,激发学生的求知欲望,进而揭示本课学习内容,调动学生的学习兴趣。 (二)示范引导学习 利用“我的成绩表”创建图表,分析自己各科的学习状况。 1、图表向导4步骤:思考两个问题为什么要用折线图?如何选择不连续的数据区域? 2、利用图表分析数据 3、使用批注:插入——批注 [分析]教师用多媒体控制平台同步演示学生直观学习,发挥教师的主导作用,对新知识进行

Intouch报表-EXCEL报表制作教程

用EXCEL打印报表 1.原理 首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。 通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。 如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。 大致步骤如下:

2.生成.CSV文件 Step1: 自动生成需要的标记名 在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。这将自动形成若干标记名(Tag)。有关标记名以HDW开头加上它们的DDE的ITEM命名。 这些标记名说明如下: HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值 例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值 例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度) 可以用星期,天时,分,秒,等来表示下面是有效的字 符:w 星期,d 天,h 小时,m 分,s 秒。允许使用 小数值例如扩.5s 表示500 毫秒若只需一个样本请 将DURATION 设为0 零 HDWINTERVAL 消息型采样间隔的时间长度 可以用星期日小时分和秒来表示例如1W 表示一星期 允许使用小数值例如用.25d 来表示6小时 有效字符与HDDURATION相同 注意DURATION 和INTERVAL 允许的最大时间长 度均为6 周这适用于所有请求类型日秒等例如如果 使用日则最大值为42,7 天x 6 周= 42

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.doczj.com/doc/912866839.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFCell; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFCellStyle; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFRow; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFSheet; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

3.5 在Excel中创建图表

3.5 在Excel中创建图表 3.5.1.Excel中创建图表 Excel 2010图标类型丰富、创建灵活、功能全面、作用强大,可以把不同数据之间的关系更加形象的表示出来,方便用户更加容易的观察到数据的变化。 1.图表的类型 Excel 2010提供了以下几大类图表,其中每个大类中又包含很多子类型,如表3-3所示。 表3-3 Excel的图表类型 2.图表的组成 下面以柱形图为例介绍图表的组成,如图3-61所示。

图3-61 图表的组成 各项功能如表3-4所示。 表3-4 图表组成及功能 3.创建图表 下面以素材文件夹中的“电子产品季度销量表.xlsx”为例,对如何创建图表进行详细讲

解。 步骤1:首先新建一个工作簿,并输入相关的数据,此处打开随书附带光盘中的CDROM|素材|第3章|电子产品季度销量表.xlsx。 说明:对于创建图表所需要的数据,应按照行或列的形式进行组织排列,并在数据的左侧和上方设置相应标题,标题最好是以文本的形式出现。 步骤2:选择需要创建图表的单元格区域,此处选择A2:E7单元格区域。 步骤3:在【插入】|【图表】组中选择一种图表类型,然后在其下拉列表中选择该图表类型的子类型。用户也可以在【图表】选项组中单击对话框启动器按钮,即可打开如图3-62所示的“插入图表”对话框,可以从中选择一种合适的图表类型。此处选择“柱形图”中的“簇状柱形图”。单击“确定”按钮,即可将图表插入表中。 图3-62 选择图表的类型 步骤4 :移动图表位置:光标移动到图表的空白位置,当光标变为时,按着鼠标左键拖动到合适的位置即可。 步骤5:改变图表大小:将光标移动到图表外边框上的四边或四个角的控制点位置,当鼠标指针变为或时,按着鼠标左键拖动调整到合适的大小。 4.将图表移动到新的工作表中 下面介绍如何将插入的图表移动到一个新的工作表中,其具体操作步骤如下:

java实现excel导入导出

Java数据导入Excel package com.bossy.base; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.doczj.com/doc/912866839.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFCell; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFCellStyle; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFRow; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFSheet; import https://www.doczj.com/doc/912866839.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem;

Excel自动生成员工简历表

Excel自动生成员工简历表 我们可以用Excel自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表……[编者]前面我们介绍了《Excel常用函数的功能和使用方法》,现在我们学以致用,介绍一系列用这些函数实现的数据统计实例解析。今天我们介绍用Excel自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表。 朋友在做人事工作,常常要打印指定员工的简历表,由于“员工基本情况登记表”是用Excel制作的,我们可以用Excel来自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表,十分方便。文章末尾提供.xls文件供大家下载参考。 本文涉及的Excel函数如下,点击可查看详细信息: 1、IF (Logical,Value_if_true,Value_if_false) 2、ISERROR (value) 3、VLOOKUP (lookup_value,table_array,col_index_num,range_lookup) 应用过程: 1、启动Excel2003(其他版本请仿照操作),打开“员工基本情况登记表”工作簿(如图1)。 2、切换到Sheet2工作表中,仿照图2的样式制作好简历表的框架。

3、分别选中需要填写内容的单元格(除B2单元格外,如D2、F2等),输入公式:=IF(ISERROR(VLOOKUP(B2,简历!A3:K12,*,FALSE)),"",VLOOKUP(B2,简 历!A3:K12,*,FALSE))。 注意:①上述公式中的“*”号,表示“简历”表中,相应的数据所对应的列数:如“出生时间”在第“5”列(参见图1),在J2单元格中输入公式时,将“*”修改为“5”,即: =IF(ISERROR(VLOOKUP(B2,简历!A3:K12,5,FALSE)),"",VLOOKUP(B2,简 历!A3:K12,5,FALSE))。 ②公式的含义是:如果公式“VLOOKUP(B2,简历!A3:K12,5,FALSE)”返回错误(ISERROR),则有显示“空”(""),反之显示公式的返回结果。 4、选中J2单元格,再按住Ctrl键,点击C3单元格,同时选中J2和C3单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图3),在“数字”标签中,选中“分类”下面的“日期”选项,然后在右侧选定一种日期类型,确定返回。

Excel如何设置自动生成分页报表

Excel如何设置自动生成分页报表 篇一:exceL表格分页技巧 经常在excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格。但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许多朋友都是重建新工作簿,再将表格一个一个的剪切到新工作簿中,每个工作簿里面放一个表格,最后再一个个的打印出来。虽说这种方法可以实现,但是操作比较繁琐。其实有更好更简单的方法,利用excel中的分页功能,在一个工作簿中打印出多个表格,每张纸上面打印一个表格。 excel中如何设置手动分页打印 现在工作簿中有4个表格,我希望每张纸上面打印一个表格,分别用4张纸打印出来。 ①进入视图选项卡,单击工作簿视图选项组中的分页预览; ②上图分页预览中只有2页,分别是第1页和第2页。我们将光标移动右下角边框处,当鼠标变成双箭头时,按住左键不放,拖动边框,直到看见第3页和第4页的时候就放开鼠标;(如下图) ③现在excel就可以打印4个页面出来了,但我们还需要将上面两个表格剪切到下面来才行,剪切完成如下图: 好了,现在分页已经完成了,打印工作簿的话,会打印4张纸,每张

纸上面一个表格,下面再来说说如何自动分页打印! excel中自动分页页面设置 纵向/横向设置:单击页面布局选项卡,单击页边距,选中最下面的自定义边距,在弹出的页面设置中可以选中纵向或横向; 分页的页边距设置:然后进入页边距设置上、下、左、右的边距大小; 所以页面的页眉页脚设置:你也可以自定义页任意设置眉和页脚。excel中快速插入分页符和删除分页符 先将光标定位到需要加分页的位置,然后单击页面布局选项卡中的分隔符,选中插入分 页符或者删除分页符。如果想重新设置所以的分页效果,可以选中重设所有分页符。 篇二:如何设置电子表格分页相同的标题行 如何设置电子表格分页相同的标题行 20XX-07-0209:49:49|分类:|标签:|字号大中小订阅要想电子表格每而显示和第一页相同的标题,用以下方法: 页面设置——工作表——顶端标题行——输入第一页标题行的代码。如A2:D2如果是两行标题:用(A1:D1):(A2:D2)格式。 注意中间用冒号。 篇三:excel小计自动分页打印的方法 excel小计自动分页打印的方法 在使用excel处理数据的时候,我们常常遇到小计的问题;即:间断性的对部分数据进行合计;

EXCEL如何制作图表详细图文教程

EXCEL如何制作图表详细图文教程 Microsoft Excel 2000在企业办公、数据处理等方面具有强大的功能。但是,对于如何根据Excel工作表中的数据来创建图表及生成链接,许多人却知之甚少。下面我们以某工厂1990年至1995年的工业年生产总值为例,来说明柱形图表的生成与链接过程。 制作图表 Microsoft Excel 2000的图表模板很多,在生产和销售中,经常用柱形图来描述,这样,有利于看出并分析其变化趋势。制作图表的步骤如下: 1、选定年份和生产总值两行数值,单击[图表向导],如图1。在图表向导对话框中图表类型选择柱形图,子图表类型选择簇状柱形图,单击[下一步]。 图1 2、在图表源数据的数据区域中出现“=Sheet1!$A$3:$G$4”,“系列产生在”选择“行” ,在系列中的分类X轴标志中填入“=Sheet1!$B$3:$G $3”,系列对话框中删除“年份”,单击[下一步],如图2。 图2 3、在图表选项中填入图表标题,X轴和Y轴的名称,单击[下一步]。 4、在图表位置的“作为其中的对象插入”中填入“Sheet1”,单击[完成]即可生成图表,如图3所示。

图3 为图表美容 图表生成以后,中间的图形太小,周围的文字又太大,看起来很不舒服,我们可以加以修饰,使其美观大方。具体做法如下: 1、单击鼠标右键,弹出对话框,选中[图表区格式],弹出图表区格式对话框,首先显示的是图案选项卡,选中[阴影(D)]。单击[填充效果]按钮,在填充效果对话框中您可以选择您喜欢的背景效果,我们在过渡选项卡中选择“单色”、“浅绿色”,将颜色调到合适的深度,如图4,再选择默认的底纹样式“横向”,单击[确定]。 图4 2、以同样的方式修饰绘图区和数据系列区。 3、现在,图表中的文字有些大,绘图区又小。单击图表的纵轴,在字号栏中选择小一点的字体,或双击纵轴对其进行多项修饰如字体、字号、加粗、刻度等。然后以同样的方法修饰横轴。 4、对图表标题和图例进行修饰,修改字体、字号以及填充效果等,基本和

相关主题
文本预览
相关文档 最新文档