关于excle导数据的一些代码笔记
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导数据的一些代码笔记的更多相关文章
- 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程
一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
- 【Hadoop代码笔记】目录
整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...
- <Python Text Processing with NLTK 2.0 Cookbook>代码笔记
如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...
- [学习笔记] SSD代码笔记 + EifficientNet backbone 练习
SSD代码笔记 + EifficientNet backbone 练习 ssd代码完全ok了,然后用最近性能和速度都非常牛的Eifficient Net做backbone设计了自己的TinySSD网络 ...
- DW网页代码笔记
DW网页代码笔记 1.样式. class 插入类样式 标签技术(html)解决页面的内容样式技术(css)解决页面的外观脚本技术 解决页面动态交互问题<form> ...
- 前端学习:JS(面向对象)代码笔记
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...
- 资源 | 数十种TensorFlow实现案例汇集:代码+笔记
选自 Github 机器之心编译 参与:吴攀.李亚洲 这是使用 TensorFlow 实现流行的机器学习算法的教程汇集.本汇集的目标是让读者可以轻松通过案例深入 TensorFlow. 这些案例适合那 ...
- 【Hadoop代码笔记】Hadoop作业提交之TaskTracker获取Task
一.概要描述 在上上一篇博文和上一篇博文中分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobClient提交的作业,并进行初始化.本文着重描述,JobTracker如何选择作业 ...
随机推荐
- DQL-条件查询
二 :条件查询 语法:select 列表名 from 表名 where 筛选条件 例如: select salary from employees where salary> ...
- 解决Windows10下小娜无法搜索本地应用的问题
适用场景 小娜突然出现各种问题.比如突然无法搜索到本地应用...等其它问题 一般使用下面的方法,将小娜进行重新注册就ok了. 解决方案 1.用管理员权限打开 C:\Windows\System32\W ...
- String.Format() 方法
一 定义 String.Format() 是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项. string p1 = "Jackie"; string ...
- linux安装完jenkins无法访问的问题
jenkins是一个持续集成部署的工具,非常好用,当然,有些细节问题还是需要注意的.当我们兴高采烈的安装完jenkins的时候,然后发现并不能访问,真是气死了. 这个时候就要一步一步检测问题出在哪. ...
- 字符编码ascii、unicode、utf-‐8、gbk 的关系
ASIIC码: 计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码.ASIIC码包括数字大小写字母和常用符号,一共 ...
- Linux 学习第五天
一.重定向.管道符.通配符 1.重定向.管道符使用 重定向: 命令文件 管道符: 命令A:命令B (管道符 | 别称 “任意门”) 二.常用命令 1.ls /etc | wc -l (查看目录 ...
- Ansible实现主备模式的高可用(Keepalived)
前言 Ansible是一款极其简单的IT自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序 ...
- 如何让tomcat服务器运行在80端口,并且无需输入项目名即可访问项目()
这个问题最开始遇到的时候是半年前,自己买了个服务器玩,但是域名解析的时候出了问题,我查了查资料才知道腾讯云是默认解析到80端口,而且还改不了. 首先是修改tomcat运行端口号,默认是8080,但是我 ...
- hadoop学习笔记——用python写wordcount程序
尝试着用3台虚拟机搭建了伪分布式系统,完整的搭建步骤等熟悉了整个分布式框架之后再写,今天写一下用python写wordcount程序(MapReduce任务)的具体步骤. MapReduce任务以来H ...
- QP总体结构
QP是一个基于事件驱动的嵌入式系统软件框架,其总体结构如下图. AO活动对象由事件队列和层次状态机两部分组成,每个AO占有一个优先级: QF量子框架由五个数据结构及操作组成,其数据结构采用了uCOS- ...