您当前位置:首页 程序源码 Android jxl 操作excel

Android poi 操作doc excel pdf

Android poi 操作doc excel pdf

类型:程序源码 版本:

大小:14.1M 时间:2020-11-02

应用介绍

一个项目,其中实现了jxl 对于excl 的操作(单元格,图片,折线图,合并单元格)。使用poi 操作doc,excel和pdf实现相应的功能。

Android poi 操作doc excel pdf部份源码

Android Studio 依赖
    compile 'net.sourceforge.jexcelapi:jxl:2.6.12'

本测试在Exlipse中, 由于Jxl的跨平台性。
创建Excel表

/**
 * 创建Excel
 * Created by mazaiting on 2017/9/28.
 */
public class WriteExcel {
  /**Sheet表, Excel表中的底部的表名*/
  private WritableSheet mWritableSheet;
  /**Excel工作簿*/
  private WritableWorkbook mWritableWorkbook;
 
  public static void main(String[] args) throws WriteException, IOException {
    WriteExcel excel = new WriteExcel();
    excel.create("test");
    for (int i = 0; i < 10; i++) {
        excel.addString(0, i, "text"+i);
        excel.addString(1, i, "text"+i+"-1");
        excel.addString(2, i, "text"+i+"-2");
    }
    excel.close();
  }

  /**
   * 创建Sheet表
   * @param fileName 文件名
   * @return Sheet表
   */
  public WritableSheet create(String fileName){
    try {
      // 输出Excel的路径
      String filePath = "E:/"+fileName+".xls";
      // 新建一个文件
      OutputStream os = new FileOutputStream(filePath);
      // 创建Excel工作簿
      mWritableWorkbook = Workbook.createWorkbook(os);
      // 创建Sheet表
      mWritableSheet =  mWritableWorkbook.createSheet("第一张工作表", 0);
      return  mWritableSheet;
    } catch (IOException e) {
      e.printStackTrace();
    }
    return null;
  }

  /**
   * 关闭工作簿
   * @throws IOException
   * @throws WriteException
   */
  public void close() throws IOException, WriteException {
    // 写入数据
    mWritableWorkbook.write();
    // 关闭文件
    mWritableWorkbook.close();
  }

  /**
   * 添加字符串
   * @param col 列号
   * @param row 行号
   * @param text 文本
   * @throws WriteException
   */
  public void addString(int col, int row, String text) throws WriteException {
    if (null == mWritableSheet) return;
    Label label = new Label(col, row, text);
    mWritableSheet.addCell(label);
  }

  /**
   * 添加数字
   * @param col 列号
   * @param row 行号
   * @param num 数字
   * @throws WriteException
   */
  public void addInt(int col, int row, int num) throws WriteException {
    if (null == mWritableSheet) return;
    Number number = new Number(col, row, num);
    mWritableSheet.addCell(number);
  }
}


读取Excel表

/**
 * 读取Excel
 */
public class ReadExcel {
   
    public static void main(String[] args) {
        // 字符列表
        List<String> list = new ArrayList<String>();
        // 文件路径
        String filePath = "E:/test.xls";
        // 输入流
        InputStream is = null;
        // Excel工作簿
        Workbook workbook = null;
       
        try {
            // 加载Excel文件
            is = new FileInputStream(filePath);
            // 获取workbook
            workbook = Workbook.getWorkbook(is);
        } catch (Exception e) {}
       
        // 获取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);
        }
    }
}


作者:_凌浩雨
链接:https://www.jianshu.com/p/45e12e785aa7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

应用信息
相关版本
相关推荐
同一开发者
本类最新
相关专题
相关文章
用户评论
查看更多评论

Android poi 操作doc excel pdf

程序源码 14.1M

下载