Excel解析(一)——JXL

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:  MainActivity如下: package cc.testexcel;import java.io.File;import jxl.


MainActivity如下:

package cc.testexcel;
import java.io.File;
import jxl.Cell;
import jxl.CellType;
import jxl.DateCell;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
/**
 * Demo描述:
 * 利用jxl.jar解析Excel文档
 * 
 * 注意事项:
 * 1 在读取每个单元格cell的时候,要留意其类型(CellType)
 *   这样就可以对不同类型区别对待
 * 2 测试用Excel文档备份于assets文件夹下
 * 
 * 参考资料:
 * http://download.csdn.net/download/ljmin0204/4141034
 * Thank you very much
 */
public class MainActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		parseExcel();
	}

	private void parseExcel() {
		try {
			Workbook workbook = null;
			try {
				File file=new File(Environment.getExternalStorageDirectory()+File.separator+"test.xls");
				workbook = Workbook.getWorkbook(file);
			} catch (Exception e) {
				throw new Exception("File not found");
			}
			//得到第一张表
			Sheet sheet = workbook.getSheet(0);
			//列数
			int columnCount = sheet.getColumns();
			//行数
			int rowCount = sheet.getRows();
			//单元格
			Cell cell = null;
			for (int everyRow = 0; everyRow < rowCount; everyRow++) {
				for (int everyColumn = 0; everyColumn < columnCount; everyColumn++) {
					cell = sheet.getCell(everyColumn, everyRow);
					if (cell.getType() == CellType.NUMBER) {
						System.out.println("数字="+ ((NumberCell) cell).getValue());
					} else if (cell.getType() == CellType.DATE) {
						System.out.println("时间="+ ((DateCell) cell).getDate());
					} else {
						System.out.println("everyColumn="+everyColumn+",everyRow="+everyRow+
								           ",cell.getContents()="+ cell.getContents());
					}
				}
			}
			//关闭workbook,防止内存泄露
			workbook.close();
		} catch (Exception e) {

		}

	}

}


 

main.mxl如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="测试Excel的解析"
        android:layout_centerInParent="true" />

</RelativeLayout>


 

相关文章
|
3月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
354 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
5月前
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
333 16
|
5月前
|
前端开发 JavaScript
💥【exceljs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了用于处理Excel文件的库——ExcelJS,相较于SheetJS,ExcelJS支持更高级的样式自定义且易于使用。表格对比显示,ExcelJS在样式设置、内存效率及流式操作方面更具优势。主要适用于Node.js环境,也支持浏览器端使用。文中详细展示了如何利用ExcelJS实现前端的Excel导出下载和上传解析功能,并提供了示例代码。此外,还提供了在线调试的仓库链接和运行命令,方便读者实践。
662 5
|
7月前
|
前端开发 PHP
ThinkPHP6之Excel解析
ThinkPHP6之Excel解析
81 0
|
9月前
|
Go
golang解析excel、csv编码格式
golang解析excel、csv编码格式
89 4
|
8月前
|
存储 数据可视化 数据挖掘
|
4月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
144 2
|
6天前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。
|
4天前
|
存储 前端开发 JavaScript
在线教育网课系统源码开发指南:功能设计与技术实现深度解析
在线教育网课系统是近年来发展迅猛的教育形式的核心载体,具备用户管理、课程管理、教学互动、学习评估等功能。本文从功能和技术两方面解析其源码开发,涵盖前端(HTML5、CSS3、JavaScript等)、后端(Java、Python等)、流媒体及云计算技术,并强调安全性、稳定性和用户体验的重要性。

热门文章

最新文章

推荐镜像

更多