Java jxl.jar 读取xls

Java jxl.jar 读取xls


因项目需要。。。
新手,= =看着大佬的做的,转自(https://blog.csdn.net/mazaiting/article/details/79707881)
jxl.jar只用于操作xls格式!!
链接: https://pan.baidu.com/s/1_jZJJuARnugh65pnUeZb4g 提取码: 3hgb
↑这是jxl-2.6.12.jar

1、main and 读写权限

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    //读写权限
    private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE};
    //请求状态码
    private static int REQUEST_PERMISSION_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);
            }
            ReadExcel.read();//去读表格!!!
        }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == REQUEST_PERMISSION_CODE) {
            for (int i = 0; i < permissions.length; i++) {
                Log.i("MainActivity", "申请的权限为:" + permissions[i] + ",申请结果:" + grantResults[i]);
            }
        }
    }


}

2、导入jxl后的读取xls文件

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

/**
 * 读取Excel
 */

public class ReadExcel {

    public static void read(){
        // 字符列表
        List<String> list = new ArrayList<String>();
        // 文件路径
        File file = new File("/storage/emulated/0/testz/test.xls");//这是我的目录,根据实际情况修改
        
        //文件是否存在
        if(file.isFile()){
            System.out.println("OK");
        }else
        {
            System.out.println("Not found");
        }
        
        // 输入流
        InputStream is = null;
        // Excel工作簿
        Workbook workbook = null;

        try {
            // 加载Excel文件
            is = new FileInputStream(file);
            // 获取workbook
            workbook = Workbook.getWorkbook(is);
        } catch (Exception e) {
            System.out.println("not ok");//原来代码没有这句= =
        }

        // 获取sheet, 如果你的workbook里有多个sheet可以利用workbook.getSheets()方法来得到所有的
        Sheet sheet = workbook.getSheet(0);// 这里只取得第一个sheet的值,默认从0开始
        System.out.println(sheet.getColumns());// 查看sheet的列
        System.out.println(sheet.getRows());// 查看sheet的行

        Cell cell = null;// 单个单元格
        // 开始循环,取得cell里的内容,按具体类型来取
        // 这里只取String类型
        for (int j = 0;j<sheet.getColumns();j++){
            StringBuffer sb = new StringBuffer();
            for (int i=0;i<sheet.getRows();i++){
                // 列,行
                cell = sheet.getCell(j, i);
                sb.append(cell.getContents());// 获取单元格内容
                sb.append(",");// 将单元格的每行内容用逗号隔开
            }
            list.add(sb.toString());//将每行的字符串用一个String类型的集合保存。
        }

        workbook.close();// 关闭工作簿

        // 迭代集合查看每行的数据
        for (String ss : list){
            System.out.println(ss);
        }
    }
}

↓这个是我的表格
在这里插入图片描述

↓这是我的输出结果
在这里插入图片描述
踩在巨人的肩膀上慢慢爬= =!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值