0基础用android做一个excel表查询器(2):编写程序
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):编写程序相关推荐
- asp做一个excel导入到access的功能
因为一个客户要用asp做一个excel导入到access的功能,最近查找了一下相关的文章,现总结了一下精华部分! 其实这个功能的原理很简单,因为excel本身就可以当做数据库的,所以只需要将excel ...
- excel几个表合成一张_快速将多个excel表合并成一个excel表
应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...
- 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
本文大纲 我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取.但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做很多事儿,这对于后续的数据处理都是极其有帮助. r ...
- pandas 读取某一单元格的值_一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!...
建议文末获取练习素材 一个个操作一遍 本文大纲 我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取.但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做很多事儿,这 ...
- excel如何把多张表合并成一个表_如何快速把多个excel表格合并成一个excel表
如何快速把多个excel表格合并成一个excel表呢? 首先,我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel文件. 用microsoft excel打开新建的e ...
- 快速将多个excel表合并成一个excel表
应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...
- 如何快速把多个excel表合并成一个excel表(不熟悉vba及公式的人)
对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 对于Excel的合并,很多需要通过vba变成,但对于不熟悉vba编程的人,如何合并呢?给大家推荐 ...
- matlab sheet名字,MATLAB得到excel多个非默认sheet名_怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?...
如何用matlab读取一个excel表格中的若干个工作表 如果数字: xlsread('e:/shiyanshuju/shiyanbiaoge','sheet1','B1:D1440') 最好个表格放 ...
- MySQL小练习——做一个User表
做一个User表: Id username password roleId 能够实现对User表的持久化操作 进行 增 删 改 查操作 CURD 使用 mybatis Jdbc state ...
最新文章
- 程序员和产品经理的恩怨情仇 | 每日趣闻
- Restore IP Addresses leetcode java
- Ubuntu连接WiFi
- Linux 2.6内核中新的锁机制--RCU [转]
- 彩票抽奖(洛谷P2550题题解,Java语言描述)
- 【AI视野·今日CV 计算机视觉论文速览 第151期 part2】Tue, 6 Aug 2019
- 2005.2.21 至 2005.8.8
- Java新职篇:多态性、封装性与继承性相互作用是什么?
- C++的类型强制转换,static_cast,dynamic_cast,const_cast,reinterpret_cast
- 微软全球MVP教你如何由程序员到CTO
- SpringBoot整合mybatis 配置文件备份
- C语言画爱心代码分析
- 软件测试面试题:和用户共同测试(UAT测试)的注意点有哪些?
- 新形势下电力监控系统网络安全风险分析与防护对策
- 长江课堂作业答案_长江作业本答案
- Easy CHM软件使用方法【申明:来源于网络】
- 新手初用mybatis
- JS监听安卓软键盘删除键
- 计算机用户名含有中文,安装软件的时候,计算机用户名是中文名的解决办法
- 【自学】张量、维度、多维矩阵、dim、torch.argmax()
热门文章
- JDK各版本资源下载(1.7以及以上版本)
- AI+影像赛道开启,美图在人工智能领域如何「名利双收」?【楚才国科】
- C#随手笔记——获取mp4文件属性(时长)
- 在window 10 x64下Apache24的下载、安装及虚拟主机配置(以wordpress为例)
- Go 每日一库之 fyne
- Flask 学习-28.flask_jwt_extended插件 JWT 中存储额外数据(additional_claims)
- 90后和80后的八大区别
- golang实现httphttps代理服务器
- 字节跳动开源其云原生数据仓库 ByConity
- JavaWeb 新闻系统分页操作