Excel解析(一)——JXL

简介:  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>


 

相关文章
|
10月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
1988 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
639 16
|
12月前
|
前端开发 JavaScript
💥【exceljs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了用于处理Excel文件的库——ExcelJS,相较于SheetJS,ExcelJS支持更高级的样式自定义且易于使用。表格对比显示,ExcelJS在样式设置、内存效率及流式操作方面更具优势。主要适用于Node.js环境,也支持浏览器端使用。文中详细展示了如何利用ExcelJS实现前端的Excel导出下载和上传解析功能,并提供了示例代码。此外,还提供了在线调试的仓库链接和运行命令,方便读者实践。
1205 5
|
前端开发 PHP
ThinkPHP6之Excel解析
ThinkPHP6之Excel解析
133 0
|
Go
golang解析excel、csv编码格式
golang解析excel、csv编码格式
156 4
|
存储 数据可视化 数据挖掘
|
7月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
658 29
|
7月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
191 4
|
7月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章

推荐镜像

更多
  • DNS