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导入数据库.那么开发的工作量也将比較大,项目产品化过程中,将这么一个类似的功能进行封装合并也是必要的.封装好的代码仅仅 ...
随机推荐
- 查看和设置Oracle数据库字符集
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * from nls_inst ...
- Cannot execute request on any known server
1.com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: c ...
- random模块/string模块
一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...
- CSS3新增的伪类选择器
伪类选择器的作用:对已有选择器做进一步的限制,对已有选择器能匹配的元素做进一步的过滤.CSS 3提供的伪类选择器主要分为以下三类: 结构性伪类选择器 UI元素状态伪类选择器 其他伪类选择器 1.结构性 ...
- em和px区别
附:(http://www.cnblogs.com/leejersey/p/3662612.html) em单位说明 1em指的是一个字体的大小,它会继承父级元素的字体大小,因此并不是一个固定的值.任 ...
- 利用actionscript访问wfs服务
以后整理……</> private function search_clickHandler():void{ op="search"; var urlLoader:UR ...
- Java的输入/输出操作
Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受 ...
- Flexviewer使用Google地图作为底图
Flexviewer使用Google地图作为底图: 在使用google地图作底图前提是你需要在Flex中实现加载google地图的代码(网上一大堆,随便找), 在只加载google地图的情况下,成功显 ...
- EBS登陆界面IE显示异常
使用在IE浏览登陆EBS时: 在登陆界面,登录和取消的按钮显示异常: 在进入HOME界面时,显示的职责全为undefined. 原因: 由于IE版本的兼容性. 解决方法: 浏览器 菜单->工具- ...
- zookeeper的JavaAPI
org.apache.zookeeper.Zookeeper Zookeeper 是在 Java 中客户端主类,负责建立与 zookeeper 集群的会话,并提供方法进行操作. org.apache. ...