一点关于Java导出数据到excel的笔记
这学期我选修了数据挖掘,期末的考核是用爬虫技术爬1万条数据,于是我将目光瞄向了某招聘网,一顿操作,好像还行?好了数据有了,那接下来就是就是导出数据了。于是又去找有关导出数据到excel的技术。进入正题首先贴上代码:
pom.xml引入poi jar包:
org.apache.poi poi-ooxml 3.10-FINAL
创建一个类
package write;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Write {private Sheet sheet;private XSSFRow row;private XSSFWorkbook workbook;private File file;//行号private int i=1;//构造函数,传入一个File对象 public Write(File f) throws Exception{this.file=f;//创建workbook实例workbook=new XSSFWorkbook();//创建sheet实例this.sheet=workbook.createSheet("sheet1"); }//设置表头,传入一个数组public void setHead(String[] args) {//创建第0行row= (XSSFRow) sheet.createRow(0);//遍历数组,根据数据长度创建单元格for(int i=0;i
测试类
package write;
import java.io.File;
import java.util.ArrayList;
import java.util.List;public class Test {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubUser user1=new User("张三",18);User user2=new User("李四",18);User user3=new User("王五",18);User user4=new User("赵六",18);User user5=new User("田七",18);List users=new ArrayList();users.add(user1);users.add(user2);users.add(user3);users.add(user4);users.add(user5);//创建一个表格File file=new File("C:\\Users\\ZhangH\\Documents\\123.xlsx");if(file.exists()) {file.delete();}Write write=new Write(file);write.setHead(new String[] {"姓名","年龄"});for(User user:users) {write.overWrite(user);}System.out.println("写入成功!");}
}
运行截图就不放了,是成功了的。这里只是写出数据的方法,关于读入数据的方式我还没去尝试,而且注意的是这个写出每次执行都会覆盖原表格里面的内容,要想实现追加内容,要获取到原表格的信息,根据表格信息获取到workbook,再根据workbook获取sheet,根据sheet获取到最后一行的行号,后面的操作就和上面的写差不多了,从获取到的行号开始写入就行,具体实现就不多说了,有兴趣的自行了解。
最后大致说下上面的思路,具体细节在代码注释里
- 先new一个workbook实例对象,根据workbook实例创建sheet表
- 在创建的sheet表下创建第0行,这一行主要是设置表头字段的,然后在这行逐个创建单元格,往单元格里塞字段
- 在设置了表头之后就是正式的数据了,同理,创建新的一行,在这行逐个创建单元格,并逐个格子塞数据
- 最后,数据放完了,调用workbook的write方法,将数据写进,write方法要传个OutPutStream类型的参数,自己弄即可。
最最后,学java也有一段时间了,但有些东西总是学了就忘了,好记性不如烂笔头还是真理啊。这些笔记可能会有错,代码也可能写的很糟糕,但不管怎么说这也是自己努力的痕迹,不过还是要说一下,哪里有错的地方请各位前辈指出。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
