前两天接了个私活,需求方给了一个Excel表格,需要使用到里面的7000+条数据进行查询,最开始以为7000条一条条加入数据库也还好,以下是其中一部分数据:

但当我添加了20多条的时候突然发现这样的方式太蠢了,所以想着既然文件可以读取,那是否可以将Excel文件里的数据读取导入数据库呢?上网查了下资料,发现确实是可行的。

准备工作

我们要将Excel导入SQLite数据库,需要使用JXL API(Java Excel API),所以我们需要在gradle文件中导入jxl的maven库:

jxl maven 仓库地址

// https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl

compile group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12'

由于我只用到了Sheet表格的读取功能,所以在需要使用api的java代码中导入以下几个jxl包:

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

使用

我将excel文件放到了assets包下,具体对excel表格进行操作的代码如下:

private void importSheet() {

try {

// 1

InputStream is = getResources().getAssets().open("vipdb.xls");

// 2

Workbook book = Workbook.getWorkbook(is);

// 3

Sheet sheet = book.getSheet(0);

// 4

for (int j = 0; j < sheet.getRows(); ++j) {

// 5

initDataInfo(sheet.getCell(0, j).getContents(), sheet.getCell(1, j).getContents());

}

book.close();

} catch (IOException | BiffException e) {

e.printStackTrace();

}

}

//这个方法是写在SQLiteOpenHelper子类里的,为了方便查看这里拿出来了

public void initDataInfo(String code, String value) {

SQLiteDatabase db = getWritableDatabase();

ContentValues cv = new ContentValues();

cv.put("code", code);

cv.put("value", value);

db.insert(DATA_TABLE, null, cv);

}

通过sheet对象就可以对excel表格进行操作了

1. 打开excel文件,我的excel文件放在了Assets包下,你也可以将文件放在SD卡下,只要路径正确就行

2. 获取Workbook对象,通过查看Workbook源码可以看到,这是个抽象类,里面包含了很多对于Sheet表格访问的方法

3. 获取第一页的Sheet表对象

4. sheet.getRows()可以获取行数,sheet.getColumns()获取列数

5. sheet.getCell(0, j).getContents()可以获得第j行第一列的内容,同理sheet.getCell(1, j).getContents()可以获取第j行第二列的内容

注意

如果excel文件中含有中文,在进行操作的时候,jxl会自动将xls文件转成csv文件格式,而在转换后会将中文默认转成”_”下划线,如我贴的第一张图中的数据第二列的“01期08”则会转成“01_08”,如果你想在存入数据库使用中文存入,只需要将字符”_”替换成”期”即可

sqlite java excel,Android将Excel表数据导入SQLite数据库相关推荐

  1. sqlbulkcopy mysql_c# SqlBulkCopy实现批量从数据集中把数据导入到数据库中

    今天遇到了一个导入类第一次见 SqlBulkCopy 可以实现从一个数据集导入到数据库中的表中 本来想从数据集中一条条遍历insert到库中 有了这个后发现: 只在把表与数据集的列做一下对应关系,再走 ...

  2. mysql外部表不是预期格式_批量Excel数据导入Oracle数据库 导入excel错误:外部表不是预期的格式 解决方案...

    在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错 ...

  3. mysql数据库导入到excel表格数据_[转载]将EXCEL表格中的数据导入mysql数据库表中(两种方法)...

    今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...

  4. php中怎么连接数据库中的表,php 连接 excel表格数据库数据-php中如何将execl的数据导入到数据库中...

    php中如何将execl的数据导入到数据库中 php导出大量数据的Excel: PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题 Excel可以支持100万行记录,Ex ...

  5. 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...

    今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...

  6. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

  7. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

  8. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 "我的面试感悟"有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结 ...

  9. 导入excel表格到数据库、导入excel表格到数据库代码、根据excel表格路径将数据导入到数据库、验证要导入的excel表格数据、根据路径获取MultipartFile、FileItem文件

    导入excel表格到数据库.根据路径导入excel表格到数据库代码.根据excel表格路径将数据导入到数据库.验证要导入的excel表格数据.根据路径获取MultipartFile.FileItem文 ...

最新文章

  1. ONAP — 边缘自动化方案
  2. 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的
  3. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例
  4. java整型和浮点型_Java基本的程序结构设计 整形和浮点型
  5. textarea中插入标签_HTMLCSS学习笔记(二)-- HTML表单标签
  6. raid硬盘序列号_磁盘阵列出现坏盘,如何正确更换硬盘?
  7. java挑战题_Java试题,你敢来挑战吗?
  8. 蚂蚁课堂视频笔记+笔记对应源码+思维导图下载地址
  9. 二叉平衡树的旋转操作
  10. 食堂刷卡消费系统服务器,食堂一卡通消费系统如何使用
  11. 【Java代码之美】 -- Java11新特性解读
  12. 社会化统计工具分享之Google分析、cnzz、51la、百度统计和Js比较
  13. 群论基础速成(3):拉格朗日定理、直积与半直积
  14. 解读华为的流程与 IT 管理部门
  15. android定时上传视频,【安卓按键精灵】定时执行指定任务
  16. FFmpeg教程【转】
  17. 视图的概念、特点及使用
  18. CMD命令——拷贝文件夹
  19. 【快速入门大数据】Hadoop项目实战-用户行为日志
  20. EXCEL公式查找重复和去重

热门文章

  1. 在线作图|2分钟画一张堆叠面积图
  2. Linux学习(2)-命令基础背景+命令使用帮助获取
  3. FastQC结果解读
  4. 不想被英文文献烧脑的时候, 如何轻松掌握行业最新进展?
  5. 微生物基因组分类数据库GTDB和软件GTDB-Tk
  6. Science:又一明星菌群可以调控肠道免疫?
  7. 这个能快速发表Cell,Nature,Molecular cell的分析技术你要错过吗?
  8. Nature Commun. | 假单胞和芽孢杆菌互作共存于寄主的机制,为生物防治提供新思路...
  9. 宏基因组分析实战教程1. 背景知识
  10. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(主题模式配置、色彩设置)实战