excel导入到java/导出到excel
package com.test.order.config; import com.test.order.domain.HavalDO;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.*; import java.io.*;
import java.util.ArrayList;
import java.util.List; /**
* @program: TestDemo
* @Date: 2018/8/19 12:55
* @Author: Mr.Niu
* @Description:
*/
public class ExcelHelper { public List<HavalDO> excleIn() {
List<HavalDO> list = new ArrayList<HavalDO>();
HavalDO havalDO = null;
try {
InputStream is = new FileInputStream("E:\\bzk.xlsx");
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
// 获取选项卡对象 第0个选项卡 , 因为们这里只有一个选项卡,如果你每个选项卡的内容是一样,可以通过循环取出
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);
// 循环取出每行的值
for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
XSSFRow xssfRow = xssfSheet.getRow(rowNum);
havalDO = new HavalDO();
//注意Poi读取的内容是有类型的,处理起来也jxl有所不同
String str = null;
if(xssfRow.getCell(0)!=null){
xssfRow.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
str = xssfRow.getCell(0).getStringCellValue();
}
String [] strs=str.split("-");
String append = null;
for (String s1 :strs){
append+=s1;
}
String strss = append.substring(4,append.length());
havalDO.setOem(strss);
havalDO.setName(xssfRow.getCell(1).getStringCellValue());
havalDO.setPrice(xssfRow.getCell(2).getNumericCellValue());
list.add(havalDO);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
} /**
* 针对Book类进行导出的操作
*
* @param list
*/
public void excleOut(List<HavalDO> list) {
// 创建Excel文档
XSSFWorkbook hwb = new XSSFWorkbook();
// 通过excle对象创建一个选项卡对象
XSSFSheet sheet = hwb.createSheet("sheet1");
HavalDO havalDO = null;
// 循环list创建行
// 新建一行
XSSFRow row = sheet.createRow(0);
// 设置i+1行第0列的数据
row.createCell(0).setCellValue("oem");
// 设置i+1行第1列的数据
row.createCell(1).setCellValue("name");
// 设置i+1行第2列的数据
row.createCell(2).setCellValue("price_4s");
//
for (int i = 1; i < list.size(); i++) {
// 新建一行
row = sheet.createRow(i);
havalDO = list.get(i);
// 设置i+1行第0列的数据
row.createCell(0).setCellValue(havalDO.getOem());
// 设置i+1行第1列的数据
row.createCell(1).setCellValue(havalDO.getName());
// 设置i+1行第2列的数据
row.createCell(2).setCellValue(havalDO.getPrice());
}
OutputStream out = null;
try {
out = new FileOutputStream("E:/bookPoi1.xlsx");
hwb.write(out);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
ExcelHelper eh = new ExcelHelper();
List<HavalDO> lh = eh.excleIn();
Integer i = 0;
for (HavalDO hd : lh) {
i++;
System.out.println("第" + i + "行数据:" + hd.toString());
}
eh.excleOut(lh);
}
}
excel导入到java/导出到excel的更多相关文章
- java导出数据EXCEL的工具类(以spring-webmvc-4.0.4jar为基础)
1.本工具类继承于 spring-webmvc-4.0.4jar文件心中的一个类 AbstractExcelView 2.代码如下 package com.skjd.util; import j ...
- 记一次 Java 导出大批量 Excel 优化
常用的excel导出方案,详情见Spring Boot 入门(十二):报表导出,对比poi.jxl和esayExcel的效率,其中jxl.esayEscel 底层都是基于 poi,它们仅仅是对 poi ...
- winform excel导入--自带office.interop.excel方式
用npoi方式,遇到一个问题,有的excel用加密软件(盖章,只读等)生成的解析不了,所以换成自带的方式,可以解决. 需要引用系统自带Microsoft.office.interop.excel pu ...
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- 用Java导出为excel表格
导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...
- java导出数据Excel总结
//创建获取到JFileChooser的文件名的JTextField public JTextField getTextField(Container c){ JTextField textField ...
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框(转载)
https://blog.csdn.net/evangel_z/article/details/7332535
- java动态生成带下拉框的Excel导入模板
在实际开发中,由于业务需要,常常需要进行Excel导入导出操作.以前做一些简单的导入时,先准备一个模板,再进行导入,单有十几. 二十几个导入模板时,往往要做十几.二十几个模板.而且,当在模板中需要有下 ...
- 项目产品化——Excel数据库模板化导入(java)
Excel导入可能是代码开发中比較常见的功能,一个项目假设有多个地方须要excel导入数据库.那么开发的工作量也将比較大,项目产品化过程中,将这么一个类似的功能进行封装合并也是必要的.封装好的代码仅仅 ...
随机推荐
- 05.File类的学习
File 是文件的意思 File类是一个静态类,所以File类是一个工具类 File类是专门操作文件的类 File的常用方法 namespace _16.File类的学习 { class Progr ...
- Java ScheduledExecutorService源码分析
Java 定时任务可以用Timer + TimerTask来做,或者使用ScheduledExecutorService,使用ScheduledExecutorService有两个好处: 1. 如果任 ...
- 使用Anaconda管理环境
Anaconda指的是一个开源的python发行版本,其包含了conda.Python等180多个科学包及其依赖项. Anaconda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软 ...
- 不定宽高的文字在div中垂直居中
本人在面试的时候被问到:如何使一段不定宽高的文字垂直居中呢? 现在来总结一下: 在body中写入结构 <div id="main"> <div id=&qu ...
- linux注册服务教程
该说明是项目完成很久之后,整理资料时的偶然发现,当时所操作的linux为中标麒麟,需要对项目进行开机自启,对llinux还不熟悉,找不到linux中的服务自启设置.辗转多次才找到了解决方案.记录以供参 ...
- Sde各类命令详解(sdemon 、sdelayer、sdeservice、sdetable、sdeconfig、SdeExport_SdeImport)
Sdemon命令详解: http://wenku.baidu.com/view/3b53e8ec0975f46527d3e1c2.html 1.重建空间索引 D:\Program Fi ...
- dl +rec
AutoEncoder http://blog.csdn.net/studyless/article/details/70880829
- jboss安全配置规范
https://wenku.baidu.com/view/aad157a4f242336c1fb95ed5.html https://wenku.baidu.com/view/ac227281ec3a ...
- SQL转Linq工具的使用——Linqer
官方下载网站:http://www.sqltolinq.com/ 本文介绍版本为Linqer 4.5.7 第一步:下载下来,解压,双击安装.exe文件,运行界面如下. 第二步:建立与数据库的连接 点击 ...
- Oracle权限相关查询
Oracle权限相关查询着实视图有点多,记录下常用的语句,方便查询:1.查看所有用户: select * from dba_users; select * from all_users; sel ...