package com.bonc.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream; public class CopyExcelTest { /**
* 复制单个文件
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public static void copyFile(String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File("D:/aa/modul2.xls");
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream("D:/aa/modul2.xls"); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
fs.write(buffer, 0, byteread);
}
inStream.close();
fs.close();
}
} catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
} public static void main(String[] args) {
copyFile("D:/aa/new2.xls");
} }
package com.bonc.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
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;
import com.bonc.bean.Huzhu;
import com.bonc.bean.Person; /**
* 操作Excel表格的功能类
*/
public class ExcelReader { public static List<Huzhu> showExcel(String path) throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(path)));
HSSFSheet sheet = null; List<Huzhu> huzhuList = new ArrayList<>();
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) {
if (row.getCell(1).toString().equals("a户主")){
Huzhu huzhu = new Huzhu(row.getCell(0).toString(), row.getCell(1).toString(),
row.getCell(2).toString(), row.getCell(3).toString(),
row.getCell(4).toString()+row.getCell(5).toString(),j);
huzhuList.add(huzhu);
}
}
//System.out.println(""); // 读完一行后换行
}
//System.out.println(sheet.getLastRowNum());
//System.out.println("读取sheet表:" + workbook.getSheetName(i) + " 完成");
} return huzhuList;
} public static List<Huzhu> getPerson(List<Huzhu> huzhuLists,String path) throws FileNotFoundException, IOException{ HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(path)));
HSSFSheet sheet = null;
sheet = workbook.getSheetAt(0); int size = huzhuLists.size();
int []nums = new int[size+1];
for (int i = 0; i < nums.length - 1; i++) {
Huzhu huzhu = huzhuLists.get(i);
nums[i] = huzhu.getIndex();
}
nums[size] = sheet.getLastRowNum();
int[] sumTotle = sumTotle(nums);
// System.out.println("共户:" + size);
// System.out.println("计算出:" + sumTotle.length);
List<Huzhu> huzhuListAndPerson = new ArrayList<>();
for (int i = 0; i < size; i++) {
List<Person> personList = new ArrayList<>();
Huzhu huzhu = huzhuLists.get(i);
int huzhuIndex = huzhu.getIndex();
int personNum = sumTotle[i];
for (int j = 1; j <= personNum; j++) {
HSSFRow row = sheet.getRow(huzhuIndex + j);
Person person = new Person(row.getCell(1).toString(), row.getCell(2).toString(),
row.getCell(3).toString(), row.getCell(4).toString()+row.getCell(5).toString());
personList.add(person);
}
huzhu.setPerson(personList);
huzhuListAndPerson.add(huzhu);
}
return huzhuListAndPerson;
} private static int[] sumTotle(int[] s){ int []temp = new int[s.length-1];
for (int i = 0; i < s.length - 1; i++) {
temp[i] = s[i+1] - s[i] - 1;
}
return temp; } public static void main(String[] args) throws IOException { int []temp = new int[3];
temp[0] = 2;
temp[1] = 48;
temp[2] = 1851;
int[] is = sumTotle(temp);
System.out.println(Arrays.toString(is)); }
}
package com.bonc.util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class SetValues { private String path; private HSSFSheet sheet; public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
} private static HSSFWorkbook wb = null; private static FileOutputStream os = null; public SetValues(String path) throws FileNotFoundException, IOException{
this.wb = new HSSFWorkbook(new FileInputStream(path));
this.os = new FileOutputStream(path);
this.sheet = this.wb.getSheetAt(0);
} public static void main(String[] args) throws FileNotFoundException, IOException {
String filePath = "D:\\aa\\new2.xls";
SetValues setValues = new SetValues(filePath);
setValues.setValue( 15, 4, new HSSFRichTextString("汉族1"));
//setValues.setValue( 16, 2, new HSSFRichTextString("汉族"));
//setValues.setValue(filePath, 3, 12, new HSSFRichTextString("高亚伟"));
//new SetValues().setValue(filePath, 14, 5, new HSSFRichTextString("高亚2伟"));
setValues.setValue(4, 1, new HSSFRichTextString("高亚1伟"));
setValues.flush();
setValues.shutDown();
} public HSSFWorkbook getWb() {
return wb;
}
public void setWb(HSSFWorkbook wb) {
SetValues.wb = wb;
} public FileOutputStream getOs() {
return os;
} public void setOs(FileOutputStream os) {
SetValues.os = os;
} public void setValue(int x, int y, HSSFRichTextString val) {
try {
HSSFRow row = sheet.getRow(x);
HSSFCell cell = row.getCell((short) y);
cell.setCellValue(val);
wb.setForceFormulaRecalculation(true);
} catch (Exception e) {
e.printStackTrace();
} }
public void flush(){
try {
wb.write(os);
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
} public void shutDown() throws IOException{
if (os != null) {
os.close();
}
} }

关于excle导数据的一些代码笔记的更多相关文章

  1. 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程

    一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...

  2. 【hadoop代码笔记】hadoop作业提交之汇总

    一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...

  3. 【Hadoop代码笔记】目录

    整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...

  4. <Python Text Processing with NLTK 2.0 Cookbook>代码笔记

    如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...

  5. [学习笔记] SSD代码笔记 + EifficientNet backbone 练习

    SSD代码笔记 + EifficientNet backbone 练习 ssd代码完全ok了,然后用最近性能和速度都非常牛的Eifficient Net做backbone设计了自己的TinySSD网络 ...

  6. DW网页代码笔记

    DW网页代码笔记 1.样式.       class  插入类样式  标签技术(html)解决页面的内容样式技术(css)解决页面的外观脚本技术       解决页面动态交互问题<form> ...

  7. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  8. 资源 | 数十种TensorFlow实现案例汇集:代码+笔记

    选自 Github 机器之心编译 参与:吴攀.李亚洲 这是使用 TensorFlow 实现流行的机器学习算法的教程汇集.本汇集的目标是让读者可以轻松通过案例深入 TensorFlow. 这些案例适合那 ...

  9. 【Hadoop代码笔记】Hadoop作业提交之TaskTracker获取Task

    一.概要描述 在上上一篇博文和上一篇博文中分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobClient提交的作业,并进行初始化.本文着重描述,JobTracker如何选择作业 ...

随机推荐

  1. 常见的springmvc、SpringBoot的注解

    springMvc的常用注解 : @Controller :用于标记在一个类上,使用它标记的类就是一个springmcv Controller对象,分发处理器将会扫描使用了该注解 的类的方法,并检测该 ...

  2. Java九阳真经论述及愿景

    Java九阳真经论述及愿景 “他强由他强,清风拂山冈,他横由他横,明月照大江.” <倚天屠龙记>中张无忌被玄冥二老的玄冥神掌打伤后,体寒难耐,到处求解决之法.一次被韦蝠王打下山谷后,偶遇一 ...

  3. Nodejs中获取参数以及处理参数

    先看题干效果 在这里我们建了一个表单 填入表单需要提交的信息 对两个参数进行获取和一个加法计算 表单html代码 <form action='http://localhost:8080' met ...

  4. TCP/IP初识(一)

    TCP/IP学习记录,如有错误请指正,谢谢!!! 什么是TCP/IP协议? TCP/IP协议族分为四层(另一个名字是Internet协议族(Internet Protocol Suite)):链路层. ...

  5. 20181030noip模拟赛T1

    YY的矩阵 YY有一个大矩阵(N*M), 矩阵的每个格子里都有一个整数权值W[i,j](1<=i<=M,1<=j<=N) 对于这个矩阵YY会有P次询问,每次询问这个大矩阵的一个 ...

  6. Python豆瓣源

    pip install -i https://pypi.doubanio.com/simple/ xxxx

  7. java 异常与捕获

    几乎所有的代码里面都会出现异常,为了保证程序在出现异常之后可以正常执行完毕,就需要进行异常处理. 先来看一下异常的继承类结构: 所有的异常都是由Throwable继承而来,我们来看他下面的两个子类Er ...

  8. 第一章:程序设计和C语言

    一.什么是计算机程序? 所谓程序就是一组计算机能识别和执行的指令.计算机的一切操作都是由程序控制的,本质是程序的机器,程序和指令是计算机系统最基本的概念. 二.什么是计算机语言? 人和计算机交流信息要 ...

  9. python类的多态

    1. 什么是多态     多态指的是同一种/类事物的不同形态   2. 为何要用多态     多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象     多态性的精髓:统一   ...

  10. docker 操作命令

    sudo docker images   查看所有原有docker sudo docker ps  查看已启动的docker sudo docker start 3003 (stop , docker ...