读取并创建excel文件(.xls)
1、读取excel文件
try {/*** 后续考虑问题,比如Excel里面的图片以及其他数据类型的读取**/InputStream is = new FileInputStream(path);Workbook book = Workbook.getWorkbook(is);int num = book.getNumberOfSheets();publishProgress("the num of sheets is " + num+ "\n");if (num <2) {return -2;}// 获得第一个工作表对象:时间,电流值Sheet sheet = book.getSheet(0);int Rows = sheet.getRows();int Cols = sheet.getColumns();publishProgress("the name of sheet 1 is " + sheet.getName() + "\n");publishProgress("total rows is " + Rows + "\n");publishProgress("total cols is " + Cols + "\n");if (Cols != 2) {publishProgress("第一个工作表格式错误,第一列为时间(13位时间戳),第二列为电流值,导入停止");return -2;}for (int i = 0; i < Rows; i++) {String str1 = sheet.getCell(0,i).getContents();if (str1 == null || str1.isEmpty() || str1.length()!=13) {continue;}long longStr1 = -1L;try {longStr1 = Long.parseLong(str1);} catch (Exception e) {}String str2 = sheet.getCell(1,i).getContents();if (str2 == null || str2.isEmpty()) {continue;}float floatStr2 = -2F;try {floatStr2 = Float.parseFloat(str2);} catch (Exception e) {}if (longStr1 == -1 || floatStr2 == -2F) {continue;}publishProgress("contents:" + longStr1+","+ floatStr2 + "\n");//插入血糖GlucoseData vData = new GlucoseData();vData.setGlucoseElecValue(floatStr2);vData.setGlucoseTime(new Date(longStr1));vData.setGlucoseValue(-1F);vDataDao.insert(vData);}// 获得第二个工作表对象:时间,血糖值sheet = book.getSheet(1);Rows = sheet.getRows();Cols = sheet.getColumns();publishProgress("the name of sheet 2 is " + sheet.getName() + "\n");publishProgress("total rows is " + Rows + "\n");publishProgress("total cols is " + Cols + "\n");if (Cols != 2) {publishProgress("第二个工作表格式错误,第一列为时间(13位时间戳),第二列为参比血糖值,导入停止");return -2;}for (int i = 0; i < Rows; i++) {String str1 = sheet.getCell(0,i).getContents();if (str1 == null || str1.isEmpty() || str1.length()!=13) {continue;}long longStr1 = -1L;try {longStr1 = Long.parseLong(str1);} catch (Exception e) {}String str2 = sheet.getCell(1,i).getContents();if (str2 == null || str2.isEmpty()) {continue;}float floatStr2 = -2F;try {floatStr2 = Float.parseFloat(str2);} catch (Exception e) {}if (longStr1 == -1 || floatStr2 == -2F) {continue;}publishProgress("contents:" + longStr1+","+ floatStr2 + "\n");//插入血糖GlucoseRefData vData = new GlucoseRefData();vData.setGlucoseRefValue(floatStr2);vData.setGlucoseRefTime(new Date(longStr1));vGlucoseRefData.insert(vData);}book.close();publishProgress("完成数据导入\n");return 0;} catch (Exception e) {publishProgress(e.toString());return -1;}
try {// 创建或打开Excel文件WritableWorkbook book = Workbook.createWorkbook(new File(mResultPath));// 生成名为“第一页”的工作表,参数0表示这是第一页WritableSheet sheet1 = book.createSheet("result", 0);List<GlucoseData> vList = vDataDao.loadAll();if (vList!=null) {for (int i = 0; i < vList.size(); i++) {jxl.write.Number number2 = new jxl.write.Number(0, i,vList.get(i).getGlucoseTime().getTime());sheet1.addCell(number2);jxl.write.Number number3 = new jxl.write.Number(1, i,vList.get(i).getGlucoseElecValue());sheet1.addCell(number3);jxl.write.Number number = new jxl.write.Number(2, i,vList.get(i).getGlucoseValue());sheet1.addCell(number);}}// 写入数据并关闭文件book.write();book.close();} catch (Exception e) {Log.d("algorithm", "WritableWorkbook exception: "+e.toString());publishProgress("WritableWorkbook exception: "+e.toString());return -3;}
附件列表
读取并创建excel文件(.xls)的更多相关文章
- 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件
Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...
- Java Struts2 POI创建Excel文件并实现文件下载
Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...
- Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
注意:此参考解决方案只是针对xlsx格式的excel文件! 背景 前一段时间遇到一种情况,服务器经常宕机,而且没有规律性,查看GC日志发生了out of memory,是堆溢出导致的,分析了一下堆的d ...
- Jxl创建Excel文件和解析Excel文件
import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; im ...
- NPOI 2.0 创建Excel文件
如果只是简单的处理的话,只需要引用下载压缩包里的 NPOI.dll (office 2003)或 NPOI.OOXML.dll (office 2007) 文件而已. using System; us ...
- C#创建Excel文件并将数据导出到Excel文件
工具原料: Windows 7,Visual Studio 2010, Microsoft Office 2007 创建解决方案 菜单>新建>项目>Windows窗体应用程序: 添加 ...
- c++ 读取并解析excel文件方法
用Cocos开发模型特效工具编辑器,跨Mac和windows,当中有个需求是读取并解析excel文件,但网上的查找的例子几乎都只能是在windows下面使用,再或者是命令行脚本之类的.于是,自己写了一 ...
- C# 读取CSV和EXCEL文件示例
我们习惯了直接连到数据库上面读取数据表的数据内容: 如果有一天我们需要读取CSV,EXCEL文件的内容的时候,可不可以也像读数据表的方式一样呢?当然可以,使用OleDB ADO.NET是很简单的事情 ...
- java读取excel文件(.xls,xlsx,csv)
前提,maven工程通过poi读写excel文件,需要在pom.xml中配置依赖关系: 在<dependencies>中添加如下代码 <dependency> <grou ...
随机推荐
- Request Tracker 4.0.13 发布
Request Tracker 4.0.13 修复了几个重要的安全问题. Request Tracker,企业级的问题跟踪系统
- 关于QT的系统总结
编译环境与开发流程 开发QT有两种IDE可以使用,一种是使用 VS + Qt 的插件,另一种就是使用QtCreator工具.前一种是微软的工具,用的都比较多容易上手,缺点是信号槽的支持不太好,需要手写 ...
- 享受LINQ:判断一组文字是否在字符串中同时出现的最简单方法
需求是这样的:不允许在一个字符串中同时出现"博", "客", "园", "团", "队"这5个文字. ...
- Hive性能优化
1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...
- SRS文档 软件需求说明书
[摘要] 随着信息时代科技的飞速发展,经济全球化已广为人知,英语作为全球最主要的语言之一,受到越来越多的人的喜爱,不仅为了增长知识,也为了能适应社会发展的需求.但是,学英语最重要的事首先是积累词汇,没 ...
- SQL Server使用文件组备份降低备份文件占用的存储空间
对于DBA来说,备份和刷新简历是最重要的两项工作,如果发生故障后,发现备份也不可用,那么刷新简历的重要性就显现出来,哇咔咔!当然备份是DBA最重要的事情(没有之一),在有条件的情况下,我们应该在多个服 ...
- [OpenGL] 2、企业版VC6.0自带的Win32-OpenGL工程浅析
一. 建立工程 O(∩_∩)O~上一节介绍了一种非常容易的OpenGL的搭建方法,这一节将就上一节介绍的VC6.0企业版自带的OpenGL Win32 Application建立一个模板工程,并分析这 ...
- [C++] socket - 1 [简单TCP通信C\S代码]
服务端: #include<iostream> #include<winsock2.h> #include<stdio.h> #pragma comment(lib ...
- Leetcode 290 Word Pattern STL
Leetcode 205 Isomorphic Strings的进阶版 这次是词组字符串和匹配字符串相比较是否一致 请使用map来完成模式统计 class Solution { public: boo ...
- 大家一起写mvc(三)_结束
上一篇介绍到要写mvc的所用的核心技术,这一篇我们就开始真正的开始写mvc,其实就是把昨天写过的代码进行一些组装就可以了. 我们用eclipse新建一个web项目.然后web.xml如下 <?x ...
