1.我们数据一般常用的有SharedPreferences以键值对数据形式保存到本地xml里面,对于一些大量字段的数据,就不能直观看到数据了。

-- 我们也可以根据自己的需求,使用适合自己的版本的表格

2.添加jxl.jar包,导入到自己项目

链接:https://pan.baidu.com/s/1QSIwXDHVrfasW9pWbHzAaQ 
提取码:051l 
复制这段内容后打开百度网盘手机App,操作更方便哦

3.自己定义数据类:

package com.example.test_01.excel;public class Userinfo {private int id;private String name;private String sex;private String phone;private String email;public Userinfo() {}public Userinfo(int id, String name, String sex, String phone, String email) {this.id = id;this.name = name;this.sex = sex;this.phone = phone;this.email = email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "{" +"id=" + id +", name='" + name + '\'' +", sex='" + sex + '\'' +", phone='" + phone + '\'' +", email='" + email + '\'' +'}';}
}

4.把数据导进去excel表格:

 private static final String TAG = "ExcelActivity";private String excel_save;private List<Userinfo> list;
       excel_save = getApplication().getExternalCacheDir() + File.separator + "TestExcel";//新增三个用户信息list=new ArrayList<>();list.add(new Userinfo(1,"小明","男","18123456789","jk3232@qq.com"));list.add(new Userinfo(2,"小花","女","18123456789","jk5656@qq.com"));list.add(new Userinfo(3,"小南","男","18123456789","jk9898@qq.com"));Log.i(TAG, "onCreate: list="+list.toString());

调用init_SaveExcel(),把数据保存

/*** 增加Excel保存数据*/private void init_SaveExcel() {// 准备设置excel工作表的标题String[] title = {"id", "name", "sex", "phone", "email"};File BuildDir = new File(getApplication().getExternalCacheDir(), "TestExcel");   //打开UHFData目录,如不存在则生成if (BuildDir.exists() == false) BuildDir.mkdirs();// 创建Excel工作薄WritableWorkbook wwb;// 在SD卡中,新建立一个jxl文件,并写入数据try {wwb = Workbook.createWorkbook(new File(excel_save + File.separator + "userinfo.xls"));Log.i(TAG, "init_veinSaveExcel: 创建文件成功!");// 添加第一个工作表并设置第一个Sheet的名字WritableSheet sheet = wwb.createSheet("UserData", 0);Label label;for (int i = 0; i < title.length; i++) {label = new Label(i, 0, title[i]);// 将定义好的单元格添加到工作表中try {sheet.addCell(label);} catch (WriteException e) {e.printStackTrace();}}//查找测试的数据if (list.isEmpty()) {Log.i(TAG, "init_veinExcel: ls_user 数据为null");} else {Log.i(TAG, "init_veinExcel: ls_user 数据不为null" + list.toString());for (int i = 0; i < list.size(); i++) {/** 保存数字到单元格,需要使用jxl.write.Number 必须使用其完整路径,否则会出现错误*///添加用户idlabel = new Label(0, i + 1, String.valueOf(list.get(i).getId()));sheet.addCell(label);//添加用户名label = new Label(1, i + 1, list.get(i).getName());sheet.addCell(label);//添加性别label = new Label(2, i + 1, list.get(i).getSex());sheet.addCell(label);//添加电话label = new Label(3, i + 1, list.get(i).getPhone());sheet.addCell(label);//添加邮箱label = new Label(4, i + 1, list.get(i).getEmail());sheet.addCell(label);}}wwb.write(); //写入数据wwb.close(); //关闭文件} catch (IOException e) {e.printStackTrace();} catch (RowsExceededException e) {e.printStackTrace();} catch (WriteException e) {e.printStackTrace();}}

最终生成表格保存

我这边没有软件打不开,直接把文件复制到电脑打开

打开excel表

5.读取excel数据:

    private void init_ReadExcel() {String id = null, name = null, sex = null, phone = null, email = null;Workbook book = null;try {book = Workbook.getWorkbook(new File(excel_save + File.separator + "userinfo.xls"));} catch (IOException e) {e.printStackTrace();} catch (BiffException e) {e.printStackTrace();}//获得第一个工作表对象Sheet sheet = book.getSheet("UserData");int rows = sheet.getRows();int cols = sheet.getColumns();System.out.println("总列数:" + cols);System.out.println("总行数:" + rows);System.out.println("----------------------------");//循环读取数据for (int j = 1; j < rows; j++) {for (int i = 0; i < cols; i++) {System.out.println("第" + j + "行,第" + i + "列为:" + sheet.getCell(i, j).getContents());//如果用户名和用户组好相同,则不插入,否则就插入switch (i) {case 0:id = sheet.getCell(i, j).getContents();break;case 1:name = sheet.getCell(i, j).getContents();break;case 2:sex = sheet.getCell(i, j).getContents();break;case 3:phone = sheet.getCell(i, j).getContents();break;case 4:email = sheet.getCell(i, j).getContents();break;default:Log.i(TAG, "init_veinReadExcel: 未知参数!");break;}}Log.i(TAG, "Excel:第" + j + "条信息={" + "id=" + id + ",name=" + name + ",sex=" + sex + ",phone=" + phone + ",email=" + email + "}");}}

看输出结果

到这里基本是创建数据表格和读取指定表格的数据,就实现了,就可以把这些数据单独分离出来,结合自己的需求来实现自己的功能啦!如果文章有问题,可以评论留言,修改不足和交流学习!

Android Excel(xls,xlsx)表格数据简单生成和读取尝试相关推荐

  1. 腾讯云文字识别API提取表格数据并生成Excel文件

    腾讯云文字识别API提取表格数据并生成Excel文件 本文主要介绍了利用腾讯云表格文字识别API提取图片表格数据并生成Excel文件.主要涉及的知识点有:腾讯云API的调用.json文件的处理以及Ex ...

  2. 读取excel中的表格数据到字典dict中--python

    读取excel中的表格数据到字典dict中--python: 工作中需要把excel表格中的数据读取出来放到字典中,便于检索和数据处理 主要有两种常用方式: 1.表头在第一行,其他行都是数据 2.表头 ...

  3. 如何使用matlab读取excel中的表格数据

    如何使用matlab读取excel中的表格数据? 设备系统:win10. 操作软件:matlab2020b. 1.首先打开matlab软件,点击[新建]-[脚本]. 2.在脚本中输入代码 A=xlsr ...

  4. 将excel(xls/xlsx)转换成csv文件

    将excel(xls/xlsx)转换成csv文件 首先pom.xml 需要引进的包如下: <dependency><groupId>net.sourceforge.jexcel ...

  5. 在线TSV转Excel(xls/xlsx)

    在线TSV转Excel(xls/xlsx) 在线TSV转Excel(xls/xlsx) TSV To Excel Converter 可将 TSV 转换为 Excel,在线打开或导入 TSV 文件到 ...

  6. R语言提取PDF表格数据#简单!!!

    R语言提取PDF表格数据#简单!!! #需要用到pdftables包以及api号,api需要从https://pdftables.com网站注册申请api,一般申请后可以免费转50页pdf insta ...

  7. excel两张表格数据整合

    今天跟大家分享一下excel两张表格数据整合 1.首先我们打开excel文件,然后点击如下图选项 2.点击[汇总拆分]选择[合并多表] 3.将[表头行数]设置为2 4.勾选[合并后,标注源工作表],并 ...

  8. python读excel表格数据绘制图表_Python读取Excel数据生成图表 v2.0

    原博文 2020-06-15 15:09 − ## Python读取Excel数据生成图表 v2.0 ## 一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用 ...

  9. java下载文件excel格式错乱,excel获取文件表格数据格式化-excel表格里的文件突然格式全部乱了,怎么恢复?...

    JAVA实现EXCEL表格文件(.xls格式)的读取.修改.... 在excel中,找打开按钮,选择文件格式为 .csv的,然后选择你要导入的CSV文件,会自动弹出文本导入向导,选择数据的分隔符,可以 ...

最新文章

  1. 区分 欧几里得距离 曼哈坦距离 明考斯基距离
  2. 腾讯云数据库副总监:图数据库好在哪?该用在哪?
  3. LINQ中的延迟查询特性
  4. PJSIP UA分析(1)--PJSUA主函数
  5. 任正非:华为鸿蒙将比安卓快 60%;小米已官方回应侵权偷图事件;博通正考虑收购软件公司,其中Tibco和赛门铁克为重点目标……...
  6. go和python性能对比_Go和Python Web服务器性能对比
  7. Linux下samba服务器的搭建与配置
  8. python画彩色螺旋线_Python turtle 绘制彩色螺旋线
  9. Know your weapons Ⅱ
  10. 软工网络15团队作业4——Alpha阶段敏捷冲刺-3
  11. 管理感悟:怎样给程序找好的思路
  12. django1.6 mysql_如何在Django1.6结合Python3.4版本中使用MySql
  13. HDMI 2.0高速电平转换芯片——LK361S20
  14. Flutter String 常用方法
  15. html label 背景图片,Qt添加窗口背景图片、Label图片显示、、Label文字显示
  16. 如何利用DW快速编写一个简单网页
  17. Linux大神进阶二十:Mariadb服务管理
  18. 架构师接龙:岳旭强 VS. 杨卫华
  19. cmake-检测处理器体系结构(32位或64位)
  20. Eclipse集成properties插件-unicode码转化成中文

热门文章

  1. python爬虫探索原神世界(角色篇)
  2. MATLAB软件基础学习篇——003
  3. 微电子电路——与非门或非门异或门
  4. USB电路EMC设计标准电路详解
  5. android计算器设计步骤,Android Studio的简易计算器界面设计
  6. [Xcode]自己常用的Code Snippets、Xcode插件、文件目录
  7. 【笔记】nginx - 上:安装、配置(基础、rewrite 重写、proxy_pass 代理、ssl)
  8. 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
  9. 华为虚拟一键部署服务器,服务器一键部署
  10. 服务器读取本地文件,如何在云服务器上打开本地文件