当前位置: 首页 > news >正文

佛山网站建设设计公司哪家好生意网官网

佛山网站建设设计公司哪家好,生意网官网,asp做网站主要技术,网站开发 平台在现代的移动应用开发中,数据的处理和管理是至关重要的一环。有时候,我们需要从外部文件(如Excel文件)中导入数据,以便在应用程序中使用。本文将介绍如何在Android应用中使用Java代码从一个Excel文件中导入数据到SQLit…

在现代的移动应用开发中,数据的处理和管理是至关重要的一环。有时候,我们需要从外部文件(如Excel文件)中导入数据,以便在应用程序中使用。本文将介绍如何在Android应用中使用Java代码从一个Excel文件中导入数据到SQLite数据库。

首先,我们需要定义一个方法importFromExcelFile(),这个方法将负责从指定的Excel文件中读取数据,并将其插入到SQLite数据库中。以下是这个方法的详细实现
implementation ‘org.apache.poi:poi:5.2.3’
implementation ‘org.apache.poi:poi-ooxml:5.2.3’

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;private void importFromExcelFile() {// 获取下载目录File downloadsDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);// 指定Excel文件的名称(此处为inventory.xls)File file = new File(downloadsDir, "inventory.xls"); // Replace with your XLS file name// 检查文件是否存在if (file.exists()) {try (FileInputStream fis = new FileInputStream(file)) {// 使用HSSFWorkbook读取Excel文件(适用于.xls格式)Workbook workbook = new HSSFWorkbook(fis);// 获取第一个工作表Sheet sheet = workbook.getSheetAt(0);// 遍历工作表中的每一行for (Row row : sheet) {// 跳过标题行if (row.getRowNum() == 0) {continue;}// 从单元格中读取数据String id = getCellStringValue(row.getCell(0));String itemName = getCellStringValue(row.getCell(1));String category = getCellStringValue(row.getCell(2));String description = getCellStringValue(row.getCell(3));int quantity = (int) getCellNumericValue(row.getCell(4));double costPrice = getCellNumericValue(row.getCell(5));double sellingPrice = getCellNumericValue(row.getCell(6));// 准备数据插入到SQLite数据库ContentValues cv = new ContentValues();cv.put("id", id);cv.put("itemname", itemName);cv.put("category", category);cv.put("description", description);cv.put("quantity", quantity);cv.put("costprice", costPrice);cv.put("sellingprice", sellingPrice);// 插入数据到数据库db.insert("inventory", null, cv);}// 提示用户数据已成功导入Toast.makeText(this, "数据已成功导入数据库", Toast.LENGTH_SHORT).show();// 刷新库存数据ids.clear();loadInventoryData();} catch (IOException e) {// 记录错误日志Log.e("ImportError", "Error reading Excel file", e);// 提示用户读取Excel文件时出错Toast.makeText(this, "读取Excel文件时出错", Toast.LENGTH_SHORT).show();}} else {// 提示用户找不到Excel文件Toast.makeText(this, "找不到Excel文件", Toast.LENGTH_SHORT).show();}
}private void loadInventoryData() {ids.clear(); // Ensure the ids list is cleared before loading datatry {Cursor c = db.rawQuery("SELECT id FROM inventory;", null);if (c != null) {while (c.moveToNext()) {ids.add(c.getString(0));}c.close();} else {Log.e("loadInventoryData", "Cursor is null");}inventoryAdapter = new inventoryAdapter(ids, db, this);recyclerView.setAdapter(inventoryAdapter);} catch (Exception e) {Log.e("loadInventoryData", "Error loading inventory data", e);Toast.makeText(inventory.this, "Error loading inventory data: " + e.getMessage(), Toast.LENGTH_LONG).show();}}

代码解析
获取下载目录和文件路径:
使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)获取设备的下载目录。
创建一个指向inventory.xls文件的File对象。
检查文件是否存在:
使用file.exists()方法检查文件是否存在。
读取Excel文件:
使用FileInputStream读取Excel文件。
使用HSSFWorkbook(适用于.xls格式)读取Excel文件内容。
获取第一个工作表(Sheet)。
遍历工作表中的数据:
使用for (Row row : sheet)遍历工作表中的每一行。
跳过第一行(标题行)。
使用自定义方法getCellStringValue和getCellNumericValue从单元格中读取字符串和数字值。
将数据插入SQLite数据库:
使用ContentValues对象准备要插入的数据。
使用db.insert(“inventory”, null, cv)将数据插入到数据库的inventory表中。
提示用户操作结果:
使用Toast提示用户数据已成功导入或读取文件时出错。
刷新库存数据:
清除ids列表(假设这是一个用于缓存数据的列表)。
调用loadInventoryData()方法刷新库存数据。
注意事项
本示例使用HSSFWorkbook读取.xls格式的Excel文件。如果需要读取.xlsx格式的文件,应使用XSSFWorkbook。
需要在AndroidManifest.xml中申请读取外部存储的权限(READ_EXTERNAL_STORAGE)。
在实际开发中,可能需要更复杂的错误处理和用户交互逻辑。

http://www.yayakq.cn/news/757919/

相关文章:

  • 做网站需要了解什么广州知名网站建设性价比高
  • 虚拟会员商城网站分销微信公众号用什么开发
  • 广州海珠做网站网投网站怎样建
  • 免费网站建设绑定域名网站设计包含哪些技术
  • 图书馆建设网站需要哪些费用网站域名不想实名认证
  • 县城乡建设局网站用asp做网站视频
  • 新乡网站seo网站推广的资源合作推广
  • 宜宾市住房和城乡建设局网站邢台专业网站建设推荐
  • 做网站卖什么东西好推广公司有哪些
  • 建企业网站价格vr 网站怎么做的
  • 大型网站开发php框架网站建设 本溪红海传媒
  • 校园类网站建设联想粒子云可以做网站
  • android手机网站开发wordpress get_page_link
  • 自己做网络主播的网站影视传媒宣传片
  • 国外网站如何搭建网页亦庄开发区建设局网站
  • ip分享网站为什么需要网站开发
  • 电脑版传奇网站服务器公司网站
  • 网站服务器设置北京营销策划公司
  • 番禺建设网站企业软件项目管理期末考试
  • 做什么网站开发好c mvc 网站开发
  • 班级网站建设策划书什么网站可以帮人做ppt赚钱
  • 网站培训机构网络工程是做什么的
  • 做物流网站的多少钱济源网站建设的公司
  • 外贸社交网站排名哪里有网站开发平台
  • 重庆潼南网站建设价格国人原创wordpress cms模板:hcms
  • 青岛住房和城乡建设部网站网站建设丨找王科杰信誉
  • 上海教育网站前置审批总全设计装饰有限公司官网
  • 南通建设信息网站软件开发公司好的有哪些
  • 车辆管理网站开发wordpress可以连微信
  • 网站建设的后台登录开业时网站可以做哪些活动