提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、android导出Excel使用什么库
  • 二、使用步骤
    • 1.封装一个Utils
    • 2.使用方法
  • 总结

前言

本文主要是针对列表数据导出excel模板代码


提示:以下是本篇文章正文内容,下面案例可供参考

一、android导出Excel使用什么库

implementation 'net.sourceforge.jexcelapi:jxl:2.6.12'

二、使用步骤

1.封装一个Utils

代码如下(示例):

public class ExcelUtil {private static WritableFont arial14font = null;private static WritableCellFormat arial14format = null;private static WritableFont arial10font = null;private static WritableCellFormat arial10format = null;private static WritableFont arial12font = null;private static WritableCellFormat arial12format = null;private final static String UTF8_ENCODING = "UTF-8";/*** 单元格的格式设置 字体大小 颜色 对齐方式、背景颜色等...*/private static void format() {try {arial14font = new WritableFont(WritableFont.ARIAL, 14, WritableFont.BOLD);arial14font.setColour(Colour.LIGHT_BLUE);arial14format = new WritableCellFormat(arial14font);arial14format.setAlignment(jxl.format.Alignment.CENTRE);arial14format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);arial14format.setBackground(Colour.VERY_LIGHT_YELLOW);arial10font = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);arial10format = new WritableCellFormat(arial10font);arial10format.setAlignment(jxl.format.Alignment.CENTRE);arial10format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);arial10format.setBackground(Colour.GRAY_25);arial12font = new WritableFont(WritableFont.ARIAL, 10);arial12format = new WritableCellFormat(arial12font);//对齐格式arial10format.setAlignment(jxl.format.Alignment.CENTRE);//设置边框arial12format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);} catch (WriteException e) {e.printStackTrace();}}/*** 初始化Excel表格** @param filePath  存放excel文件的路径(path/demo.xls)* @param sheetName Excel表格的表名* @param colName   excel中包含的列名(可以有多个)*/public static void initExcel(String filePath, String sheetName, String[] colName) {format();WritableWorkbook workbook = null;try {File file = new File(filePath);if (!file.exists()) {file.createNewFile();} else {return;}workbook = Workbook.createWorkbook(file);//设置表格的名字WritableSheet sheet = workbook.createSheet(sheetName, 0);//创建标题栏sheet.addCell((WritableCell) new Label(0, 0, filePath, arial14format));for (int col = 0; col < colName.length; col++) {sheet.addCell(new Label(col, 0, colName[col], arial10format));}//设置行高sheet.setRowView(0, 340);workbook.write();} catch (Exception e) {e.printStackTrace();} finally {if (workbook != null) {try {workbook.close();} catch (Exception e) {e.printStackTrace();}}}}/*** 将制定类型的List写入Excel中** @param objList  待写入的list* @param fileName* @param mContext* @param <T>*/@SuppressWarnings("unchecked")public static <T> void writeObjListToExcel(List<T> objList, String fileName, Context mContext) {if (objList != null && objList.size() > 0) {WritableWorkbook writebook = null;InputStream in = null;try {WorkbookSettings setEncode = new WorkbookSettings();setEncode.setEncoding(UTF8_ENCODING);in = new FileInputStream(new File(fileName));Workbook workbook = Workbook.getWorkbook(in);writebook = Workbook.createWorkbook(new File(fileName), workbook);WritableSheet sheet = writebook.getSheet(0);for (int j = 0; j < objList.size(); j++) {StandingBookTable demoBean = (StandingBookTable) objList.get(j);List<String> list = new ArrayList<>();list.add(demoBean.cabinetChildNum + "号柜");list.add(demoBean.userName);if (demoBean.returnBorrow == 1) {list.add("归还");} else {list.add("借出");}list.add(demoBean.articleTypeName);list.add(demoBean.operateTime);list.add(demoBean.articleEpcNum);for (int i = 0; i < list.size(); i++) {sheet.addCell(new Label(i, j + 1, list.get(i), arial12format));if (list.get(i).length() <= 4) {//设置列宽sheet.setColumnView(i, list.get(i).length() + 8);} else {//设置列宽sheet.setColumnView(i, list.get(i).length() + 5);}}//设置行高sheet.setRowView(j + 1, 350);}writebook.write();workbook.close();LogUtil.e("导出Excel成功");} catch (Exception e) {e.printStackTrace();} finally {if (writebook != null) {try {writebook.close();} catch (Exception e) {e.printStackTrace();}}if (in != null) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}}}}

2.使用方法

代码如下(示例):

private String filePath = "/sdcard/AndroidExcel";public void OninitExcel(View view) {EsCabinApp.threadPool.submit(new Runnable() {@Overridepublic void run() {File file = new File(filePath);if (!file.exists()) {file.mkdirs();}String excelFileName = "/台账信息.xls";String[] title = {"柜子号", "操作人姓名", "使用状态", "物品类型", "操作时间", "射频标签"};String sheetName = "demoSheetName";standingBookTables = new ArrayList<>();standingBookTables = EsCabinApp.standingBookDao.queryBookAll();String filePaths = filePath + excelFileName;ExcelUtil.initExcel(filePaths, sheetName, title);ExcelUtil.writeObjListToExcel(standingBookTables, filePaths, mActivity);EsCabinApp.debugShowToast("导出Excel成功");}});}

该处使用的url网络请求的数据。


总结

本文仅仅简单介绍了android导出Excel的代码使用,而导出Excel里面包含了很多读写操作有兴趣可以更深入了解一下。

android 导出Excel列表相关推荐

  1. android导出excel文件名称,android 导出数据到excel表格文件

    这是一个导出 excel表格的功能 从创建数据库 到导出表格到文件管理 package com.ldm.familybill; import java.io.File; import java.tex ...

  2. android 输出xlsx文件格式,Android导出Excel表格文件

    1.首先再Android添加jar包:jxl-2.6.12.jar 2.创建javaBean类,用于存储需要写入表格中的数据 public class DemoBean { private Strin ...

  3. ExcelUtils以及不用工具导出Excel的方法

    包位置:com.xxxxx.common.utils /*Excel工具类*/ public class ExcelUtils{//1:通过值 获取cellpublic static Cell get ...

  4. 配置导出MOSS2010列表数据到Excel并根据列表记录自动刷新数据

    第一章 简介 场景描述 根据最近客户的需求,他们需要自动维护MOSS2010列表数据导出到Excel的数据实时同步,就是列表添加记录后,导出的Excel列表自动同步数据过来. 第二章 配置方法 1. ...

  5. Android读出Excel报表数据然后导出写入到SQLite数据库

    Android读出Excel报表数据然后导出写入到SQLite数据库 假设现在有一个excel.xls位于Android手机外部存储器的根目录下,数据报表为: 需要把excel.xls的数据导出,写入 ...

  6. 实战篇-通用的页面列表导出Excel控件

    首先,先上下图片,好理解一下今天要讲内容: 第一张图: 第二张图: 说明: 在很多系统中,或者是一些网站的后台,包括秋色园的后台,通过都会有一些相同的工具栏目,比如上面的"导出"按 ...

  7. java怎么导入到安卓手机,android导入excel表格数据-随手记记账记录如何导出到EXCEL(安卓版)...

    excel数据导入到android项目下的sqlite数据库中 把excel的数据读入到程序里. 这个就是用java读取excel的数据,百度一下就有很多成熟的例子. 把程序的数据存入sqllite里 ...

  8. 微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!

    微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决! 参考文章: (1)微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决! (2)https:// ...

  9. vue 列表、查询、折线图、导出excel

    具体细节: 列表:分页.序号列.v-if条件展示 查询:日/月/年报下拉菜单.后台回显数据下拉菜单.日/月/年/时间选择器 折线图:echarts插件.多条折线图 导出excel: 页面: vue: ...

最新文章

  1. C语言实现链式栈(LinkStack)
  2. OpenStack和Redis
  3. 计算机网络连接能否隐藏位置,如何能在局域网中隐藏电脑及IP地址
  4. 双时隙的工作原理_智能天线工作原理是什么 智能天线技术发展介绍【图文】...
  5. tomcat命令无法启动 the catalina_home environment variable is not defined correctly this environment variab
  6. Ubuntu防火墙:ufw
  7. java消费rabbitMQ队列消息
  8. [Java] 蓝桥杯ADV-203 算法提高 8皇后·改
  9. 《程序员自我修养》阅读笔记-可执行文件装载与进程
  10. 读书-算法《程序设计导引及在线实践》-简单计算题2:棋盘上的距离
  11. JasperReport| JasperReport中使用自定义字体(font)
  12. IDEA中Terminal窗口中无法使用maven命令
  13. 【优秀课设】基于OpenCV+MediaPipe的手势识别(数字、石头剪刀布等手势识别)
  14. Windows系统安装绿色版MySQL8
  15. 数字信号处理实验4:用窗口法设计FIR滤波器
  16. Google Earth Engine(GEE)——下载2020-2021年的NDBI
  17. 个人版机房收费——数据库设计
  18. maya导出obj分组_maya2017怎么导入obj序列?
  19. 普利姆算法和修路问题
  20. Matplotlib 常用画图命令总结:使用 Python 在论文中画出一手漂亮的数据图

热门文章

  1. ERROR: Timeout after 10 minutes ERROR: Error fetching remote repo 'origin'
  2. 尚学堂Java学习日记Day1
  3. C++ | ListNode:链表节点
  4. nmap常用命令详细使用|命令带实例
  5. 使用js直接下载pdf文件而不用在新的浏览器窗口打开
  6. Java个人网页设计实验报告_web实验报告.doc
  7. CTF-RSA_基于N分解的RSA题目
  8. (7月30号开班)Python爬虫小分队和数据分析小分队招募
  9. 爱奇艺黄金VIP会员怎么免费领取升级星钻VIP会员在电视上看奇异果TV?
  10. 全网最详细的Gephi安装与使用教程