0基础用android做一个Excel表查询器(2):编写程序

编完页面下面就该开始写程序了,首先确定一下思路,很简单,将Excel表写入一个List(或数组)里,然后获取Plain Text中写入的内容,然后与List里的内容进行比对,发现包含关系就输出。
首先是控件程序的编写,编写页面时候每个控件都有一个id,我写的是tv_text和tv_answer1,命名当然是随便了,不过一般会命名为tv 后面跟上具体想实现的功能,首先在程序中对控件进行调用`

question = findViewById(R.id.tv_text);
answer = findViewById(R.id.tv_answer1);

然后你如果需要读取输入的内容,就

question.getText();

而要写内容,就

answer.setText();

好,既然这些都完成了,剩下就读Excel就完了
首先安装jar包,主要用到的就是poi包,安装jar包主有两种方法,第一种就是网上直接下载,然后拖到libs下,然后点击右上角的Project Structure

然后点Dependencies,加号下的Jar Dependency然后加入你的包即可

另一种就是直接点Library Dependency然后查询你要的库(只能全名查找)
载入库后我们开始编写函数,直接new class,写好类名和函数名。
主要用到的是这些函数。

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

第一步就是建一个文件流,说实在的在这走了很多弯路,因为之前没用过java。

FileInputStream input = new FileInputStream(new File("/storage/emulated/0/1/data.xls"));

其中/storage/emulated/0代表手机内存。
建完后新建workbook,其中xlsx是XSSF,xls是HSSF。
getSheet指Excel表的sheet几,从0开始,如果有多个sheet就getNumberOfSheets然后再for一下。

HSSFWorkbook wb = null;
wb = new HSSFWorkbook(input);
HSSFSheet hssfSheet = wb.getSheetAt(0);

之后就是两个for读数据

for (int rowNum =0; rowNum <=hssfSheet.getLastRowNum(); rowNum++) {HSSFRow hssfRow = hssfSheet.getRow(rowNum);if (hssfRow != null) {int minColIx = hssfRow.getFirstCellNum();int maxColIx = hssfRow.getLastCellNum();for (int colIx = minColIx; colIx < maxColIx; colIx++) {HSSFCell cell = hssfRow.getCell(colIx);if (cell!= null) {cell.setCellType(Cell.CELL_TYPE_STRING);String content = cell.getStringCellValue();

cell转String的话也可以直接.toString,然后将数据存到List中就行了,之后就是调用函数以及判断,判断包含关系可以用contains,然后就可以将整行输出,
结果如下(这里网上随便找了一个题库举例):

0基础用android做一个excel表查询器(2):编写程序相关推荐

  1. asp做一个excel导入到access的功能

    因为一个客户要用asp做一个excel导入到access的功能,最近查找了一下相关的文章,现总结了一下精华部分! 其实这个功能的原理很简单,因为excel本身就可以当做数据库的,所以只需要将excel ...

  2. excel几个表合成一张_快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  3. 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!

    本文大纲 我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取.但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做很多事儿,这对于后续的数据处理都是极其有帮助. r ...

  4. pandas 读取某一单元格的值_一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!...

    建议文末获取练习素材 一个个操作一遍 本文大纲 我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取.但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做很多事儿,这 ...

  5. excel如何把多张表合并成一个表_如何快速把多个excel表格合并成一个excel表

    如何快速把多个excel表格合并成一个excel表呢? 首先,我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel文件. 用microsoft excel打开新建的e ...

  6. 快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  7. 如何快速把多个excel表合并成一个excel表(不熟悉vba及公式的人)

    对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 对于Excel的合并,很多需要通过vba变成,但对于不熟悉vba编程的人,如何合并呢?给大家推荐 ...

  8. matlab sheet名字,MATLAB得到excel多个非默认sheet名_怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?...

    如何用matlab读取一个excel表格中的若干个工作表 如果数字: xlsread('e:/shiyanshuju/shiyanbiaoge','sheet1','B1:D1440') 最好个表格放 ...

  9. MySQL小练习——做一个User表

    做一个User表: Id   username   password   roleId 能够实现对User表的持久化操作 进行 增 删 改 查操作 CURD 使用 mybatis Jdbc state ...

最新文章

  1. 程序员和产品经理的恩怨情仇 | 每日趣闻
  2. Restore IP Addresses leetcode java
  3. Ubuntu连接WiFi
  4. Linux 2.6内核中新的锁机制--RCU [转]
  5. 彩票抽奖(洛谷P2550题题解,Java语言描述)
  6. 【AI视野·今日CV 计算机视觉论文速览 第151期 part2】Tue, 6 Aug 2019
  7. 2005.2.21 至 2005.8.8
  8. Java新职篇:多态性、封装性与继承性相互作用是什么?
  9. C++的类型强制转换,static_cast,dynamic_cast,const_cast,reinterpret_cast
  10. 微软全球MVP教你如何由程序员到CTO
  11. SpringBoot整合mybatis 配置文件备份
  12. C语言画爱心代码分析
  13. 软件测试面试题:和用户共同测试(UAT测试)的注意点有哪些?
  14. 新形势下电力监控系统网络安全风险分析与防护对策
  15. 长江课堂作业答案_长江作业本答案
  16. Easy CHM软件使用方法【申明:来源于网络】
  17. 新手初用mybatis
  18. JS监听安卓软键盘删除键
  19. 计算机用户名含有中文,安装软件的时候,计算机用户名是中文名的解决办法
  20. 【自学】张量、维度、多维矩阵、dim、torch.argmax()

热门文章

  1. JDK各版本资源下载(1.7以及以上版本)
  2. AI+影像赛道开启,美图在人工智能领域如何「名利双收」?【楚才国科】
  3. C#随手笔记——获取mp4文件属性(时长)
  4. 在window 10 x64下Apache24的下载、安装及虚拟主机配置(以wordpress为例)
  5. Go 每日一库之 fyne
  6. Flask 学习-28.flask_jwt_extended插件 JWT 中存储额外数据(additional_claims)
  7. 90后和80后的八大区别
  8. golang实现httphttps代理服务器
  9. 字节跳动开源其云原生数据仓库 ByConity
  10. JavaWeb 新闻系统分页操作