java:Echarts,POI

1.Echarts:

  demo.js:  

function demo(selector){

    var myEcharts=echarts.init(selector);
    var  option = {
    title : {
        text: ‘某站点用户访问来源‘,
        subtext: ‘纯属虚构‘,
        x:‘center‘
    },
    tooltip : {
        trigger: ‘item‘,
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
        orient: ‘vertical‘,
        left: ‘left‘,
        data: [‘直接访问‘,‘邮件营销‘,‘联盟广告‘,‘视频广告‘,‘搜索引擎‘]
    },
    series : [
        {
            name: ‘访问来源‘,
            type: ‘pie‘,
            radius : ‘55%‘,
            center: [‘50%‘, ‘60%‘],
            data:[
                {value:335, name:‘直接访问‘},
                {value:310, name:‘邮件营销‘},
                {value:234, name:‘联盟广告‘},
                {value:135, name:‘视频广告‘},
                {value:1548, name:‘搜索引擎‘}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: ‘rgba(0, 0, 0, 0.5)‘
                }
            }
        }
    ]
};
    myEcharts.setOption(option);
}

  echarts.html:

  

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"></meta>
        <title></title>
        <script type="text/javascript" src="echarts.common.min.js"></script>
        <script type="text/javascript" src="demo.js"></script>
        <script type="text/javascript">
            function test(){

                demo(document.getElementById("d"));

            }
        </script>
    </head>
    <body>
        <input type="button" id="test" value="测试" onclick="test()"/>
        <div id="d" style="border:1px; height:500px; width:500px"></div>
    </body>
</html>

2.POI:

    

   POIDemo1.java:

package com.zzsxt.lee.poi.demo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 * @description 写入并创建xls文档
 * @author Seven Lee
 * @date 2017年11月7日 下午1:41:25
 *
 */
public class POIDemo1 {

    public static void main(String[] args) {
        // 指定目标路径和文件名
        // windows的路径和linux以及mac的路径是不一样
        // C:\\test\test.xls
        // 一般情况下可以使用File.separator-->\,/
        File file = new File("D:/123/kuang.xls");
        try {
            // 创建输出流(写入本地磁盘)
            OutputStream outputStream = new FileOutputStream(file);
            /**
             * poi提供
             */
            // 在目标路径创建目标名称的excel文件
            // HSSFWorkbook:操作excel表格的
            // 通过file的路径信息和文件名称,在目标路径创建出目标名称的excel文件
            HSSFWorkbook workBook = new HSSFWorkbook();
            // 创建excel工作表,并创建该工作页的主题名
            // 创建表格的一个工作薄,并起名字为user
            HSSFSheet sheet = workBook.createSheet("user");

            // 从数据库中查询出了数据List<>
            List<User> userList = new ArrayList<User>();
            for (int j = 0; j < 10; j++) {
                User user = new User("zhangsan" + j, "123456" + j);
                userList.add(user);
            }
            User user = new User();
            for (int i = -1; i < userList.size(); i++) {
                /**
                 * 第一次for循环:
                 *     i--> -1
                 * 第二次循环:
                 *     i--> 0
                 */
                // sheet.createRow(i+1):创建第一行
                // sheet.createRow(i+1):创建第二行
                HSSFRow row = sheet.createRow(i+1);
                for(int k = 0; k < user.getClass().getDeclaredFields().length; k++) {
                    if(i == -1) {
                        if(k == 0) {
                            continue;
                        }
                        row.createCell(k-1).setCellValue((user.getClass().getDeclaredFields()[k]).getName());
                        continue;
                    }
                    if(((user.getClass().getDeclaredFields()[k]).getName()).equals("serialVersionUID")) {
                        continue;
                    }
                    Field f = userList.get(i).getClass().getDeclaredFields()[k];
                    f.setAccessible(true);
                    row.createCell(k-1).setCellValue((String)f.get(userList.get(i)));
                }
            }

//            // 为工作表新增加一行(第一行)
//            HSSFRow row1 = sheet.createRow(0);
//            // 在指定的行上增加两个单元格
//            row1.createCell(0).setCellValue("name");
//            row1.createCell(1).setCellValue("password");
//
//            // 为工作表新增加一行(第二行)
//            HSSFRow row2 = sheet.createRow(1);
//            row2.createCell(0).setCellValue("zhangsan");
//            row2.createCell(1).setCellValue("123456");

            // 调用输出流把excel表格写入硬盘中
            workBook.write(outputStream);
            // 关闭输出流
            outputStream.close();
            System.out.println("生成excel成功");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

  POIDemo2.java:

package com.zzsxt.lee.poi.demo;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Field;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
 * @description 通过java程序来从xls文档中读取出数据
 * @author Seven Lee
 * @date 2017年11月7日 下午3:50:18
 *
 */
public class POIDemo2 {

    public static void main(String[] args) {

        try {
            // 创建输入流,从磁盘中获取该文件的流信息
            InputStream inputStream = new FileInputStream("D:/123/kuang.xls");
            /**
             * poi提供
             */
            // 把从磁盘中读取出的流信息保存进缓冲区
            BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
            // 创建POIFSFileSystem,对该文件进行解析
            // 对该文件的流进行解析
            POIFSFileSystem fileSystem = new POIFSFileSystem(bufferedInputStream);
            // 从目标路径的目标名称获取excel的文件信息-->通过fileSystem进行获取
            HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileSystem);
            // 根据工作薄的name获取到目标的excel信息
            HSSFSheet sheet = hssfWorkbook.getSheet("user");
            User user = new User();
            for (int i = 0;; i++) {
                if (i == 0) {
                    continue;
                }
                HSSFRow row = sheet.getRow(i);// 获取行信息
                if (row != null) {
                    // 需要把所有的数据从excel中取出来
                    // getLastCellNum():excel表中有效单元格的列数
                    for (int j = 0; j < row.getLastCellNum(); j++) {
                        String excelValue = row.getCell(j).getStringCellValue();
                        Field[] fields = user.getClass().getDeclaredFields();
                        fields[j].setAccessible(true);
                        fields[j].set(user, excelValue);
                    }
                    bufferedInputStream.close();
                } else {
                    bufferedInputStream.close();
                    return;
                }
                System.out.println(user);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

  ReadDocFile.java:

package com.zzsxt.lee.poi.demo;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.apache.poi.hwpf.extractor.WordExtractor;

public class ReadDocFile {

    public static String readWord(String pathAndName) {

        FileInputStream in;
        String text = null;
        try {
            in = new FileInputStream(pathAndName);
            WordExtractor extractor = new WordExtractor(in);
            text = extractor.getText();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return text;
    }

}

  User.java:

package com.zzsxt.lee.poi.demo;

import java.io.Serializable;

public class User implements Serializable {

     private static final long serialVersionUID = 5157419433803033003L;

    private String name;
    private String password;

    public User() {

    }

    public User(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User [name=" + name + ", password=" + password + "]";
    }

}

  pom.xml:

  

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.zzsxt.lee.poi.demo</groupId>
    <artifactId>excel_demo</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>excel_demo Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- 操作excel -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <!-- 操作work和ppt -->
        <dependency>
            <groupId>poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.1-FINAL</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>excel_demo</finalName>
    </build>
</project>
时间: 2024-11-06 07:25:43

java:Echarts,POI的相关文章

java:装饰模式,节点流和处理流

接口: interface Worker { public void dowork(); } 清洁工:被装饰者,节点流 class Clean implements Worker { public void dowork(){ System.out.println("搞清洁"); } } A公司:装饰者,处理流 class Aworker implements Worker { private Worker worker; //传进来的对象是woker的实现类 public Awork

Java:集合,Collection接口框架图

Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合,代表一种队列集合实现. Java集合框架主要由Collection和Map两个根接口及其子接口.实现类组成.本文仅探讨Collection接口及其子接口.实现类. 目录 1. Collection接口继承树2. Collection接口基本操作3. Collection的遍历4. Set子接口 4.

java:堆栈,队列,枚举,链表

Stack类 栈:(水杯喝水,先进后出) 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表.他按照先进后出的原则存储数据 Enumeration(枚举) 1,hasMoreElements()    测试此枚举是否包含更多的元素 2,nextElements()    如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素 ----------------------------- 代码演示: package day07; import java.util.Date; impor

Java:多线程,线程池,使用CompletionService通过Future来处理Callable的返回结果

1. 背景 在Java5的多线程中,可以使用Callable接口来实现具有返回值的线程.使用线程池的submit方法提交Callable任务,利用submit方法返回的Future存根,调用此存根的get方法来获取整个线程池中所有任务的运行结果. 方法一:如果是自己写代码,应该是自己维护一个Collection保存submit方法返回的Future存根,然后在主线程中遍历这个Collection并调用Future存根的get()方法取到线程的返回值. 方法二:使用CompletionServic

Java:构造器,构造代码块,静态代码块的执行顺序

1.构造器:与类同名且没有返回值,用来初始化类属性: 构造器又分为无参构造器和有参构造器 1.1:无参构造器 public class Contruction{ ...属性... public Contruction(){}//无参构造器,不写,系统会自动添加 } 1.2:有参构造器 public class Contruction { private int i; public Contruction( int i){/*有参构造器,如果你定义了一个有参数的构造器,那么你在实例化对象的时候必须

Java:集合,Collections工具类用法

参考: http://www.cnblogs.com/nayitian/p/3269585.html public static void main(String[] args) { // TODO Auto-generated method stub List<Integer> pokerList = new ArrayList<Integer>(); pokerList.add(13); pokerList.add(14); pokerList.add(3); System.o

IOS ARC 与 JAVA 垃圾回收,

相同: 1,最后结果都是 释放不需要的空间, 不同: assign(weak):直接赋值 retain(strong):+1,引用一次 调用一次 retain release:-1 copy:两个变量不共享内存,各有各的内存 atomic:原子操作(多线程时使用) nonatomic:非原子操作 @autorelease pool:维护一个引用池 a.先建立一个autorelease poolb.对象从这个autorelease pool里面生成.c.对象生成 之后调用autorelease函数

百度推出的echarts,制表折线图柱状图饼图等的超级工具

一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts的简介: ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRen

Java 操作 Excel (读取Excel2007,Poi实现)

关于Java读取Excel2007的文章在Google.百度上搜索一下,没有太好的例子,实现的也不算太好.查看了一下Poi,最新的 POI 3.5 beta 4 支持读写 Excel2007和PPT2007(XLSX and PPTX),自己来实现Java读取Excel2007了. 1,下载 POI 3.5 beta 4 解压,把其中的jar包导入项目文件.以我的读取为例,导入了以下jar包.  没有配置 log4j,测试时报告警报信息,应该为加载顺序导致的初始化问题造成(暂时没有找原因). 2