android 生成Excel表

这篇博客介绍了如何在Android应用中生成Excel文件。首先,需要在项目的libs目录下添加相关jar包。接着,检查SD卡的可用性以确保能保存文件。然后,设置表头样式并创建表格,填充模拟数据。提供了具体的代码示例,包括数据写入工具类和MainActivity的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一。在项目的libs文件夹下面加入jar包

,网上搜索下载,稍后我上传demo,可以从里面得到。

二。

1.生成excel并保持到sd卡,需要先判断sd卡是否可用

获取sd卡可用内存大小,如果太小数据就无法写入

private static long getAvailableStorage(Context context) {
    String root = context.getExternalFilesDir(null).getPath();
    //获取磁盘使用情况
    StatFs statFs = new StatFs(root);
    long blockSize = statFs.getBlockSize();
    long availableBlocks = statFs.getAvailableBlocks();
    long availableSize = blockSize * availableBlocks;
    // Formatter.formatFileSize(context, availableSize);
    return availableSize;
}

2.表格的第一行表头,可以设置一个样式

public static WritableCellFormat getHeader() {
    //参数1:字体大小, 2:18,3:粗体,4:斜体
    WritableFont font = new WritableFont(WritableFont.TIMES, 10,
            WritableFont.BOLD, true);// 定义字体
    try {
        font.setColour(Colour.BLUE);// 蓝色字体
    } catch (WriteException e1) {
        e1.printStackTrace();
    }
    //单元格样式
    WritableCellFormat format = new WritableCellFormat(font);
    try {
        format.setAlignment(jxl.format.Alignment.CENTRE);// 左右居中
        format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 上下居中
        format.setBorder(Border.ALL, BorderLineStyle.THIN,
                Colour.BLACK);// 黑色边框
        format.setBackground(Colour.YELLOW);// 黄色背景
    } catch (WriteException e) {
        e.printStackTrace();
    }
    return format;
}

3.创建表格并向里面写入数据(注释比较清晰,自己体会下存入数据方式)

public static void writeToExcel(Context context, List<Order> orders, String fileName) throws Exception {
    //sd卡是否可用
    if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) && getAvailableStorage(context) > 1000000) {
        Toast.makeText(context, "SD卡不可用!", Toast.LENGTH_SHORT).show();
        return;
    }
    String[] title = {
 "单号", "电话", "姓名", "地址"};//表头
    File file;
    Fil
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值