当前位置: 移动技术网 > IT编程>移动开发>Android > Android应用读取Excel文件的方法

Android应用读取Excel文件的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

唐骏演讲,姐弟恋成灾,江西家具信息发布网

本文实例讲述了android应用读取excel文件的方法。分享给大家供大家参考,具体如下:

readexcel.java文件:

public class readexcel extends activity { 
 /** called when the activity is first created. */ 
 @override 
 public void oncreate(bundle savedinstancestate) { 
  super.oncreate(savedinstancestate); 
  setcontentview(r.layout.main); 
  // createexcel(); 
  // readexcel(); 
  writeexcel("mnt/sdcard/test.xls"); 
 } 
 public void readexcel() { 
  try { 
   /** 
    * 后续考虑问题,比如excel里面的图片以及其他数据类型的读取 
    **/ 
   inputstream is = new fileinputstream("mnt/sdcard/test.xls"); 
   workbook book = workbook 
     .getworkbook(new file("mnt/sdcard/test.xls")); 
   book.getnumberofsheets(); 
   // 获得第一个工作表对象 
   sheet sheet = book.getsheet(0); 
   int rows = sheet.getrows(); 
   int cols = sheet.getcolumns(); 
   system.out.println("当前工作表的名字:" + sheet.getname()); 
   system.out.println("总行数:" + rows); 
   system.out.println("总列数:" + cols); 
   for (int i = 0; i < cols; ++i) { 
    for (int j = 0; j < rows; ++j) { 
     // getcell(col,row)获得单元格的值 
     system.out 
       .print((sheet.getcell(i, j)).getcontents() + "\t"); 
    } 
    system.out.print("\n"); 
   } 
   // 得到第一列第一行的单元格 
   cell cell1 = sheet.getcell(0, 0); 
   string result = cell1.getcontents(); 
   system.out.println(result); 
   book.close(); 
  } catch (exception e) { 
   system.out.println(e); 
  } 
 } 
 public void createexcel() { 
  try { 
   // 创建或打开excel文件 
   writableworkbook book = workbook.createworkbook(new file( 
     "mnt/sdcard/test.xls")); 
   // 生成名为“第一页”的工作表,参数0表示这是第一页 
   writablesheet sheet1 = book.createsheet("第一页", 0); 
   writablesheet sheet2 = book.createsheet("第三页", 2); 
   // 在label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test 
   label label = new label(0, 0, "test"); 
   // 将定义好的单元格添加到工作表中 
   sheet1.addcell(label); 
   /* 
    * 生成一个保存数字的单元格.必须使用number的完整包路径,否则有语法歧义 
    */ 
   jxl.write.number number = new jxl.write.number(1, 0, 555.12541); 
   sheet2.addcell(number); 
   // 写入数据并关闭文件 
   book.write(); 
   book.close(); 
  } catch (exception e) { 
   system.out.println(e); 
  } 
 } 
 /** 
  * jxl暂时不提供修改已经存在的数据表,这里通过一个小办法来达到这个目的,不适合大型数据更新! 这里是通过覆盖原文件来更新的. 
  * 
  * @param filepath 
  */ 
 public void updateexcel(string filepath) { 
  try { 
   workbook rwb = workbook.getworkbook(new file(filepath)); 
   writableworkbook wwb = workbook.createworkbook(new file( 
     "d:/new.xls"), rwb);// copy 
   writablesheet ws = wwb.getsheet(0); 
   writablecell wc = ws.getwritablecell(0, 0); 
   // 判断单元格的类型,做出相应的转换 
   label label = (label) wc; 
   label.setstring("the value has been modified"); 
   wwb.write(); 
   wwb.close(); 
   rwb.close(); 
  } catch (exception e) { 
   e.printstacktrace(); 
  } 
 } 
 public static void writeexcel(string filepath) { 
  try { 
   // 创建工作薄 
   writableworkbook wwb = workbook.createworkbook(new file(filepath)); 
   // 创建工作表 
   writablesheet ws = wwb.createsheet("sheet1", 0); 
   // 添加标签文本 
   // random rnd = new random((new date()).gettime()); 
   // int fornumber = rnd.nextint(100); 
   // label label = new label(0, 0, "test"); 
   // for (int i = 0; i < 3; i++) { 
   // ws.addcell(label); 
   // ws.addcell(new jxl.write.number(rnd.nextint(50), rnd 
   // .nextint(50), rnd.nextint(1000))); 
   // } 
   // 添加图片(注意此处jxl暂时只支持png格式的图片) 
   // 0,1分别代表x,y 2,5代表宽和高占的单元格数 
   ws.addimage(new writableimage(5, 5, 2, 5, new file( 
     "mnt/sdcard/nb.png"))); 
   wwb.write(); 
   wwb.close(); 
  } catch (exception e) { 
   system.out.println(e.tostring()); 
  }
 }
}

jxl.7z点击此处。

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网