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>

 POIDemo3:创建excel   2007 xls格式

package com.zskj;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.ss.usermodel.Font; public class Test {
public static void main(String[] args) { Set <String> set = new HashSet<String>();
set.add("123");
set.add("456");
set.add("789");
set.add("666");
set.add("777");
createExcel("D:\\test\\", "aa.xls","测试",set); }
/**
*
* @param path 文件存放路径
* @param fileName 文件名称
* @param sheetName 表名称
* @param set 数据
*/
public static void createExcel(String path, String fileName,String sheetName,Set<String> set) {
// 第一步创建workbook
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步创建sheet
HSSFSheet sheet = wb.createSheet(sheetName);
// 第三步创建行row:添加表头0行
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
HSSFFont hssfFont = wb.createFont();
// 设置字体颜色
//hssfFont.setColor(HSSFColor.BLUE.index);
//字体大小
hssfFont.setFontHeightInPoints((short)11);
//字体
hssfFont.setFontName("宋体");
//粗体
hssfFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
style.setFont(hssfFont);
//居中
// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 第四步创建单元格
HSSFCell cell = row.createCell(0); // 第一个单元格
cell.setCellValue("姓名");
cell.setCellStyle(style); cell = row.createCell(1); // 第二个单元格
cell.setCellValue("年龄");
cell.setCellStyle(style); // 第五步插入数据
Iterator<String> is = set.iterator();
int count = 1;
while(is.hasNext()){
        //此处注意分开写
row = sheet.createRow(count);
HSSFCell hc = orow.createCell(0);
       hc.setCellValue(is.next());
count++;
} // 第六步将生成excel文件保存到指定路径下
try {
FileOutputStream fout = new FileOutputStream(path + fileName);
wb.write(fout);
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Excel文件生成成功...");
}
}

 POIDemo4:创建excel   xlsx格式:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; /**
*
* @param path 文件存放路径
* @param fileName 文件名称
* @param sheetName 表名称
* @param set 数据
*/
public static void createExcel(String fileName,String path,Set<String>set,String sheetName){
//创建工作簿
XSSFWorkbook xw = new XSSFWorkbook();
//创建表
XSSFSheet xf = xw.createSheet(sheetName);
//创建字体
XSSFFont xft = xw.createFont();
//设置字体
xft.setFontName("微软雅黑");
//创建样式
XSSFCellStyle xcs = xw.createCellStyle();
//第一行设置为列名
XSSFRow xr = xf.createRow(0);
XSSFCell xc = xr.createCell(0);
xc.setCellValue("姓名");
xcs.setFont(xft);
xc.setCellStyle(xcs);
Iterator<String> is = set.iterator();
int count = 1;
while(is.hasNext()){
xr = xf.createRow(count);
xc = xr.createCell(0);
xc.setCellValue(is.next());
xc.setCellStyle(xcs);
count++;
}
//合并单元格 参数说明:1:开始行 2:结束行 3:开始列 4:结束列
xf.addMergedRegion(new CellRangeAddress(count+2,count+2,0,100));
XSSFRow count2 = xf.createRow(count+2);
count2.createCell(0).setCellValue("总计"+(count-1));
File f = new File("D:\\test\\fontstyle.xlsx");
try {
FileOutputStream fos = new FileOutputStream(f);
xw.write(fos);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Excel创建完成......"); }

 POIDemo4:读取excel   xls格式:

import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; // 读取,全部sheet表及数据
public static void showExcel() throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File("D:/test/t1.xls")));
HSSFSheet sheet = null;
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 获取每个Sheet表
sheet = workbook.getSheetAt(i);
for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标
HSSFRow row = sheet.getRow(j);
if (row != null) {
for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个
if (row.getCell(k) != null) { // getCell 获取单元格数据
System.out.print(row.getCell(k) + "\t");
} else {
System.out.print("\t");
}
}
}
System.out.println(""); // 读完一行后换行
}
System.out.println("读取sheet表:" + workbook.getSheetName(i) + " 完成");
}
} // 读取,指定sheet表及数据 public static void showExcel2() throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File("D:/test/t1.xls")));
HSSFSheet sheet = null;
int i = workbook.getSheetIndex("xt"); // sheet表名
sheet = workbook.getSheetAt(i);
for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum
// 获取最后一行的行标
HSSFRow row = sheet.getRow(j);
if (row != null) {
for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum
// 是获取最后一个不为空的列是第几个
if (row.getCell(k) != null) { // getCell 获取单元格数据
System.out.print(row.getCell(k) + "\t");
} else {
System.out.print("\t");
}
}
}
System.out.println("");
}
}

java:Echarts,POI的更多相关文章

  1. Java:集合,Map接口框架图

    Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合, ...

  2. Java:集合,Collection接口框架图

    Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合, ...

  3. Java:多线程,java.util.concurrent.atomic包之AtomicInteger/AtomicLong用法

    1. 背景 java.util.concurrent.atomic这个包是非常实用,解决了我们以前自己写一个同步方法来实现类似于自增长字段的问题. 在Java语言中,增量操作符(++)不是原子的,也就 ...

  4. Java:多线程,线程同步,同步锁(Lock)的使用(ReentrantLock、ReentrantReadWriteLock)

    关于线程的同步,可以使用synchronized关键字,或者是使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象.本文探讨Lock对象. synchronize ...

  5. Java:多线程,使用同步锁(Lock)时利用Condition类实现线程间通信

    如果程序不使用synchronized关键字来保证同步,而是直接使用Lock对象来保证同步,则系统中不存在隐式的同步监视器,也就不能用wait().notify().notifyAll()方法进行线程 ...

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

    1. 背景 在Java5的多线程中,可以使用Callable接口来实现具有返回值的线程.使用线程池的submit方法提交Callable任务,利用submit方法返回的Future存根,调用此存根的g ...

  7. Java:集合,Arrays工具类用法

    1. 描述 Arrays工具类提供了针对数组(Array)的一些操作,比如排序.搜索.将数组(Array)转换列表(List)等等,都为静态(static)方法: binarySearch - 使用二 ...

  8. Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法

    1. 要求 对列表(List)中的自定义对象,要求能够按照对象的属性(字段)进行排序(正序.倒序). 如:用户对象(Member)有用户名(username).级别(level).出生日期(birth ...

  9. Java:多线程,CountDownLatch同步器

    1. 背景 CountDownLatch类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown( ...

随机推荐

  1. JS 循环的两种方式

    // 1.for循环 for (var i = 0; i <= 10; ++ i) { console.log(i); } // 2.while循环 var i = 0; while (i &l ...

  2. ogg中断处理

    ogg因为网络问题导致中断无法启动,需要重新抽取数据: --前滚抽取进程生成新的trail文件 alter extract ext147 etrollover alter ext147 extseqn ...

  3. 一款强大的Visual Studio插件!CodeRush v19.1.9全新来袭

    CodeRush是一个强大的Visual Studio® .NET 插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验.CodeRush能帮助你以极高的效率创建和维护源代码.Consume ...

  4. PHP swoole websocket协议上机指南

    这一上机实验的开发环境用的是jetbrain公司的phpstorm 上级步骤如下: 创建websocket服务端 <?php $server = ); function onopen($serv ...

  5. JProfiler集成在eclipse中(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sinat_38259539/articl ...

  6. What is a Digital Signature? 理解数字签名与数字证书

    What is a Digital Signature?An introduction to Digital Signatures, by David Youd Bob (Bob's public k ...

  7. redis异步处理

    $reids = new Redis; $redis->connect('localhost',6379); $redis->auth(''); //将数组转换成字符串再存到redis中 ...

  8. Ubuntu:系统信息查询

    造冰箱的大熊猫@cnblog 2018/3/14 1.查询系统信息(uname) uname命令返回与系统相关的信息,如下所示. $ uname -a Linux IBM-T60 4.13.0-36- ...

  9. 2019牛客暑期多校训练营(第一场)H 线性基+计算贡献

    题意 给n个整数,求满足子集异或和为0的子集大小之和. 分析 将问题转化为求每个元素的贡献次数之和. 先对n个数求线性基,设线性基大小为r,即插入线性基的数字个数为r,可以分别计算线性基内数的贡献和线 ...

  10. 创建docker静态化IP

    配置桥接网络 桥接本地物理网络的目的,是为了局域网内用户方便访问 docker 实例中服务,不需要各种端口映射即可访问服务. 但是这样做,又违背了 docker 容器的安全隔离的原则,工作中辩证的选择 ...