Java后台读取excel表格返回至Web前端
如果是做连接数据库的话,系统难度就降低了不少;
这次本人也算是体会到数据库的方便了吧(不过以后云储存好像会更受欢迎些);
比如说查询列出所有数据吧:
数据库每个表每一列都有列名,正常的做法是遍历数据库表,dao层利用list储存实体对象集,
数据库表中每一行记录一个实体的各个属性:
public List<Account> list() {
String sql = "select * from account";
List<Account> list = new ArrayList<>();
Connection conn = Shujuku.conn();
Statement state = null;
ResultSet rs = null; try {
state = conn.createStatement();
rs = state.executeQuery(sql);
Account bean = null;
while (rs.next()) { String a = rs.getString("name");//name为数据库列名
String b = rs.getString("amount");
String c = rs.getString("money");
String d = rs.getString("time");
bean = new Account(a,b,c,d);//每一行创建一个实体
list.add(bean);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Shujuku.close(rs, state, conn);
} return list;
}
连接excel表,同理:因为没有列名,所以直接定义一个即可;(前提假设本人直到表的构造)
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; import entity.Bus; public class ExcelTest {
public static void main(String[] args) throws IOException{ /**
* 读取表格
* 输出至前端
*/
Bus bus=null;
List<Bus> list = new ArrayList<>();
String filePath="D://dns.xls";
InputStream input = new FileInputStream(filePath);
Workbook wb = null;
wb = new HSSFWorkbook(input);
//得到一个工作表对象;
Sheet sheet = wb.getSheetAt(0);
int rsRows = sheet.getLastRowNum();// 获取sheet表中的总行数 // 遍历行
//每一行成一个bus对象
for (int i=0;i<=rsRows;i++) {
Row row = sheet.getRow(i);
int id=0;
String name=null;
//遍历行单元格,已知有两列;第一列int型id,第二列String型name
Cell cell1 = row.getCell(0);
Cell cell2 = row.getCell(1);
//一定要检验是否为空
if(cell1==null||cell1.equals(null)||cell1.getCellType()==CellType.BLANK){
break;
}else {
//数值型
id=(int) cell1.getNumericCellValue();
}
if(cell2==null||cell2.equals(null)||cell2.getCellType()==CellType.BLANK){
break;
}else {
//字符串型
name= cell2.getStringCellValue();
} bus=new Bus(id,name);
list.add(bus);
System.out.print(id);
System.out.println(name);
}
wb.close();//记得关闭
}
}
运行截图:(这里将读取表格的函数放入dao层,稍加改动)
记录一下过程小错:
提示空指针异常,也就是出现了为空的地方,可以理解为参数未传递成功问题,看提示:
意思像是它读不懂以下包:
声明:我之前已经给项目配置了路径;
但是,任需要将jar包存入lib下如图:
Java后台读取excel表格返回至Web前端的更多相关文章
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- java后台读取excel模板数据
/** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...
- Java读取excel表格
Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...
- java利用poi来读取execl表格返回对象
利用poi来读取execl表格,返回一个对象(可能有点不完善,但是应该能满足平常的所用),用到了反射等等; 使用的jar包有: commons-collections4-4.1.jar poi-3.1 ...
- C#读取Excel表格中数据并返回datatable
在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...
- 读取Excel表格日期类型数据的时候
用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel 2.Excel数据处理: Excel存储日期.时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再进行判断转化 1 ...
- 使用NPOI读取Excel表格内容并进行修改
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...
- Python读取Excel表格
前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法. 一.准备工作: 1.安装Python3.7.0(官网下载安装包) 2.安装Pycharm(官网 ...
- 读取Excel表格中数据原型
写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...
随机推荐
- sparksql读取hive数据报错:java.lang.RuntimeException: serious problem
问题: Caused by: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: ...
- Error creating bean with name 'XXX' defined in file
这个错误是我在之前操作时,错将另一个dubbo服务器也加载到了该dubbo服务器上(pom.xml),所以出现了Error creating bean with name 'XXX' defined ...
- [HNOI2012]矿场搭建 (点双连通)
题目 [HNOI2012]矿场搭建 解析 这个题做的我十分自闭.. 没看出这个是个点双,然后一晚上+半上午.. 一看肯定和割点有关,我们找到所有的点双,会发现有这么几种情况 连通块中一个割点也没有,这 ...
- P1108 低价购买 (DP)
题目 P1108 低价购买 解析 这题做的我身心俱惫,差点自闭. 当我WA了N发后,终于明白了这句话的意思 当二种方案"看起来一样"时(就是说它们构成的价格队列一样的时候),这2种 ...
- InheritedWidget and screen
self: import 'package:flutter/material.dart'; class GrantScreen { static double _width, _height; sta ...
- 练习bloc , 动画
有点意思, import 'package:flutter/material.dart'; import 'package:rxdart/rxdart.dart'; main()=>runApp ...
- 【开发笔记】- yum离线安装
本方案基本思路是在一个可以联网的系统中下载rpm安装包,然后传到无法联网的目标操作系统,建立安装源,进行安装.为了减少不必要的麻烦,在本地用虚拟机安装一个和目标操作系统一模一样的但是没有安装任何额外软 ...
- 学习笔记之大数据(Big Data)
300 秒带你吃透大数据! https://mp.weixin.qq.com/s/VWaqRig6_JBNYC1NX7NQ-Q 手把手教你入门Hadoop(附代码&资源) https://mp ...
- Java开发环境之Solr
查看更多Java开发环境配置,请点击<Java开发环境配置大全> 玖章:Solr安装教程 1)官网下载Solr安装包 http://lucene.apache.org/solr/downl ...
- Spring 重定向(Redirect)指南
原文:Hacking the IntegerCache in Java 9? 链接:https://dzone.com/articles/hacking-the-integercache-in-jav ...