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按钮,用户点击这个按钮,会弹出打 ...
随机推荐
- Win 10 无法锁屏,快捷键win+L失效
快捷键win+L 一直在使用,忽然之间不知道按错了什么 Win 10 无法锁屏,快捷键win+L失效,按win+L后出来的是输入法 应该是键盘的Windows键锁住了,按Fn+windows键解锁
- spring boot 集成 sitemesh
一.Sitemesh简介 Sitemesh是由一个基于Web页面布局.装饰及与现存Web应用整合的框架,是一个装饰器.它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条.一致 ...
- linux修改当前用户环境变量永久生效
在linux环境中,修改当前用户环境变量,且永久生效的方法如下. 1,编辑~/.bash_profile文件 1 2 3 # Get the aliases and functions 4 if [ ...
- OAuth 2.0 的一个简单解释
OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据. 这个标准比较抽象,使用了很多术语,初学者不容易理解.其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,O ...
- mysql性能优化之服务器参数配置-内存配置
MySQL服务器参数介绍 MySQL获取配置信息路径 命令行参数 mysqld_safe --datadir=/data/sql_data 配置文件 mysqld --help --verbose | ...
- docker 常见问题处理汇总
问题一: docker执行docker info出现如下警告WARNING: bridge-nf-call-iptables is disabledWARNING: bridge-nf-call-ip ...
- MSSQL-反弹注入
工具:香港云免费云服务器:http://www.webweb.com 注册使用匿名邮箱:https://bccto.me/ 香港云服务器搭建MSSQL数据库,并建表admin,字段数要大于等于我们想要 ...
- Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks(知识图谱)
本文作者:杨昆霖,2015级本科生,目前研究方向为知识图谱,推荐系统,来自中国人民大学大数据管理与分析方法研究北京市重点实验室. 引言 经常上购物网站时,注意力会被首页上的推荐吸引过去,往往本来只想买 ...
- 对 Jenkins+ANT+Jmeter 接口测试的实践
转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...
- 微信小程序中padding-right和margin-right无效
在小程序中遇到样式padding-right和margin-right无效,调试发现设置了padding后,宽度已经大于页面的实际宽度,除了设置float:right之外,找不到办法让右侧paddin ...