如果是做连接数据库的话,系统难度就降低了不少;
这次本人也算是体会到数据库的方便了吧(不过以后云储存好像会更受欢迎些);
比如说查询列出所有数据吧:
数据库每个表每一列都有列名,正常的做法是遍历数据库表,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前端的更多相关文章

  1. postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库

    最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...

  2. java后台读取excel模板数据

    /** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...

  3. Java读取excel表格

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  4. java利用poi来读取execl表格返回对象

    利用poi来读取execl表格,返回一个对象(可能有点不完善,但是应该能满足平常的所用),用到了反射等等; 使用的jar包有: commons-collections4-4.1.jar poi-3.1 ...

  5. C#读取Excel表格中数据并返回datatable

    在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...

  6. 读取Excel表格日期类型数据的时候

    用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel 2.Excel数据处理: Excel存储日期.时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再进行判断转化 1 ...

  7. 使用NPOI读取Excel表格内容并进行修改

    前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...

  8. Python读取Excel表格

    前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法. 一.准备工作: 1.安装Python3.7.0(官网下载安装包) 2.安装Pycharm(官网 ...

  9. 读取Excel表格中数据原型

    写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...

随机推荐

  1. MySQL路线

    一 数据库简介与安装 二 库操作 三 表操作 四 数据操作 五 索引原理与慢查询优化 六 数据备份与慢查询优化 七 视图.触发器.事务.存储过程.函数

  2. Ext下载文件

    项目中前台用的是Ext JS,要从数据库中查询数据并导出为Excel表格 对此研究了下,代码如下: 前台代码: /** * 进行下载文件(form方式) */ _downloadDraft:funct ...

  3. 【转】Vue.js——60分钟组件快速入门(上篇)

    文章作者:keepfool 文章出处:http://www.cnblogs.com/keepfool/ 组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的 ...

  4. python学习之os模块

    1 window下的路径分隔符和mac上的一样吗 在win下用\做路径分隔符,mac里用/ 2.如何查看当前工作目录 import os os.getcwd() 3.如何切换当前工作目录 import ...

  5. Windows VNC远程连接用法

    VNC (Virtual Network Console)是虚拟网络控制台 被控端 被控端需要打开服务,等待主控端连接 服务端已经启动成功,右下角有小图标 主控端 打开主控端,连接被控端 输入被控端i ...

  6. Java JAR包

    JAR文件全称 Java Archive File,意为Java档案文件.JAR文件是一种压缩文件,也被成为JAR包. 运行程序时,JVM会自动在内存中解压要用的JAR包. 使用JAR包的优点:1.安 ...

  7. Implement CGLIB in ABAP

    What is cglib?A Byte Code Generation Library which is high level API to generate and transform Java ...

  8. idea安装与注册码破解

    idea安装与注册码破解 https://www.cnblogs.com/jajian/p/7989032.html

  9. 深入理解JVM-hotspot虚拟机对象探秘

    1.背景与大纲 在我们了解了java虚拟机的运行时数据区后,我们大概知道了虚拟机内存的概况,但是我们还是不清楚具体怎么存放的访问的: 接下来,我们将深入探讨HotSport虚拟机在java堆中对象的分 ...

  10. js 动态创建 全局变量(转载)

    转载来源 https://blog.csdn.net/stevenzhong900610/article/details/40857087 https://www.jb51.net/article/8 ...