使用场景
autojs对接poi操作excel
POI简介
Apache POI - the Java API for Microsoft Documents
效果展示
autojs版本
黑科技
使用未安装的apk中的类
大佬@大柒在群内分享过一个脚本, 就是加载未安装的apk中的资源
本篇教程主要是使用未安装的apk中的类
代码讲解
1. 实例化dexClassLoader
let apkPath = "/storage/emulated/0/MT2/apks/AndroidPoi_1.0.apk"; let dexClassLoader = new DexClassLoader(apkPath);
2. 创建空文件, 确保文件存在
let filePath = "/sdcard/脚本/excel/yashu.xls"; //文件路径 files.createWithDirs(filePath);
3. 创建Excel文件(Workbook)
let HSSFWorkbook = dexClassLoader.loadClass("org.apache.poi.hssf.usermodel.HSSFWorkbook"); // 无参实例化 let workbook = HSSFWorkbook.newInstance();
4. 填写表数据
创建文档摘要信息(workbook); let sheet = workbook.createSheet("yashu"); // 创建工作表(Sheet) 创建单元格(sheet); 画矩形(sheet);
5. 保存表数据
let out = new FileOutputStream(filePath); workbook.write(out); //保存Excel文件 out.close(); //关闭文件流
实例化类
类的构造函数有2中
- 无参
- 有参
无参类的实例化
HSSFWorkbook.newInstance();
有参类的实例化
let HSSFClientAnchor = dexClassLoader.loadClass("org.apache.poi.hssf.usermodel.HSSFClientAnchor"); let HSSFClientAnchorConstructor = HSSFClientAnchor.getDeclaredConstructor(getClassArr()); HSSFClientAnchorConstructor.setAccessible(true); let anchor = HSSFClientAnchorConstructor.newInstance(getObjectArr());
POI说明
包名称说明
HSSF提供读写Microsoft Excel XLS格式档案的功能。
XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF提供读写Microsoft Word DOC格式档案的功能。
HSLF提供读写Microsoft PowerPoint格式档案的功能。
HDGF提供读Microsoft Visio格式档案的功能。
HPBF提供读Microsoft Publisher格式档案的功能。
HSMF提供读Microsoft Outlook格式档案的功能。
POI常用类说明
类名 说明
HSSFWorkbook Excel的文档对象
HSSFSheet
Excel的表单
HSSFRow Excel的行
HSSFCell Excel的格子单元
HSSFFont Excel字体
HSSFDataFormat 格子单元的日期格式
HSSFHeader Excel文档Sheet的页眉
HSSFFooter Excel文档Sheet的页脚
HSSFCellStyle 格子单元样式
HSSFDateUtil 日期
HSSFPrintSetup 打印
参考文章
1. Apache POI使用详解
2. Class.newInstance()与new、Constructor.newInstance()的区别
声明
部分内容来自网络
感谢
群内大神专业指导
@沐泠 @I'm zz