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>


 

目录
打赏
0
0
0
0
24
分享
相关文章
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
1664 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
💥【exceljs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了用于处理Excel文件的库——ExcelJS,相较于SheetJS,ExcelJS支持更高级的样式自定义且易于使用。表格对比显示,ExcelJS在样式设置、内存效率及流式操作方面更具优势。主要适用于Node.js环境,也支持浏览器端使用。文中详细展示了如何利用ExcelJS实现前端的Excel导出下载和上传解析功能,并提供了示例代码。此外,还提供了在线调试的仓库链接和运行命令,方便读者实践。
1051 5
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
541 16
ThinkPHP6之Excel解析
ThinkPHP6之Excel解析
119 0
golang解析excel、csv编码格式
golang解析excel、csv编码格式
135 4
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!

推荐镜像

更多
  • DNS
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等