1. Excel 工具类
主要根据 jxl.jar 进行数据采集的时候 Excel 格式进行存储数据
2. 代码示例
2.1 调用示例
List<ExcelInfo> mList = new ArrayList<ExcelInfo>();
for (int i = 0; i < 50; i++) {
ExcelInfo mExcelInfo = new ExcelInfo();
mExcelInfo.temperature = String.format("%.1f °C", Math.random() * 40);
mList.add(mExcelInfo);
}
// 新增 Excel 数据
ExcelUtil.updateExcel(mList);
2.2 创建Excel
建立一个Excel 保护Execel名称,行列,排版类型
- new Label(0, 0, ExcelInfo.head_temperature_label, getHeader());
public static void createExcel() throws Exception {
WritableWorkbook wwb;
OutputStream os;
File file;
File dir = new File(FILE_PATH);
file = new File(dir, FILE_NAME);
if (!dir.exists()) {
dir.mkdirs();
}
if (!file.exists()) {
file.createNewFile();
}
// 创建Excel工作表
os = new FileOutputStream(file);
wwb = Workbook.createWorkbook(os);
// 添加第一个工作表并设置第一个Sheet的名字
WritableSheet sheet = wwb.createSheet(SHEET_0, SHEET_ID_0);
Label label;
// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z, 排版格式
label = new Label(0, 0, ExcelInfo.head_temperature_label, getHeader());
sheet.addCell(label);
if (null != wwb) {
// 写入数据
wwb.write();
// 关闭文件
wwb.close();
}
}
2.3 添加一条Excel数据
- sheet.addCell(label);
随着Excel添加的内容越来越大,性能上会越来越明显,尤其是连续1小时后,建议分表添加
public static void appendExcel(List<ExcelInfo> mList) throws IOException, BiffException, WriteException {
Workbook rwb = Workbook.getWorkbook(new File(ABSOLUTE_FILE_PATH));
WritableWorkbook wwb = Workbook.createWorkbook(new File(ABSOLUTE_FILE_PATH), rwb);// copy
WritableSheet sheet = wwb.getSheet(0);
Label label;
for (int i = 0; i < mList.size(); i++) {
// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z
//int currentColumns = sheet.getColumns();
int currentRow = sheet.getRows();
label = new Label(0, currentRow, mList.get(i).temperature);
sheet.addCell(label);
}
if (null != wwb) {
wwb.write();
wwb.close();
}
}
2.4 删除Excel表格
/** 删除 Excel */
public static void delExcel() {
File file = new File(ABSOLUTE_FILE_PATH);
if (file.exists()) {
file.delete();
}
Log.d(TAG, "delExcel");
}