博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Excel导数据到数据库
阅读量:4880 次
发布时间:2019-06-11

本文共 1845 字,大约阅读时间需要 6 分钟。

public static void main(String[] args) throws IOException {

List<ProProduct> list = readXls();
for (ProProduct product : list){
ProProductClient.updateByProduct(product);
}

}

private static List<ProProduct> readXls() throws IOException {

InputStream is = new FileInputStream("/Users/wuzixin/work/meiliwan/trunk/product.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
ProProduct xlsDto = null;
List<ProProduct> list = new ArrayList<ProProduct>();
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;
}
xlsDto = new ProProduct();
// 循环列Cell
// 0学号 1姓名 2学院 3课程名 4 成绩
HSSFCell proId = hssfRow.getCell(0);
if (proId == null) {
continue;
}
xlsDto.setProId(Integer.valueOf(String.format("%.0f",Double.parseDouble(getValue(proId)))));

HSSFCell status = hssfRow.getCell(3);

if (status == null) {
continue;
}else {
if (getValue(status).equals("下架")){
xlsDto.setState((short)1);
}
}
HSSFCell mlwPrice = hssfRow.getCell(8);
if (mlwPrice == null) {
continue;
}
xlsDto.setMlwPrice(new BigDecimal(getValue(mlwPrice)));
list.add(xlsDto);
}
}
return list;
}

@SuppressWarnings("static-access")

private static String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
// 返回布尔类型的值
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
// 返回数值类型的值
return String.valueOf(String.format("%.2f",hssfCell.getNumericCellValue()));
} else {
// 返回字符串类型的值
return String.valueOf(hssfCell.getStringCellValue());
}
}

转载于:https://www.cnblogs.com/blogszixin/p/excel.html

你可能感兴趣的文章
HTTP协议详解(三)
查看>>
Android零基础入门第84节:引入Fragment原来是这么回事
查看>>
解析SQL Server之任务调度
查看>>
参考资料地址
查看>>
08.路由规则中定义参数
查看>>
Pandas截取列部分字符,并据此修改另一列的数据
查看>>
java.lang.IllegalArgumentException
查看>>
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
查看>>
接口实现观察者模式
查看>>
四则运算完结篇
查看>>
Objective-C中的类目,延展,协议
查看>>
Python标准模块--Iterators和Generators
查看>>
Introduction Sockets to Programming in C using TCP/IP
查看>>
PHP 简单实现webSocket
查看>>
zookeeper部署搭建
查看>>
navigationController pop回之前控制器
查看>>
汇编语言实验一
查看>>
Web.config配置文件详解(新手必看)
查看>>
selenide总结
查看>>
selenium--控制浏览器和简单元素操作
查看>>