Android应用读取Excel文件的方法
程序员文章站
2023-12-13 19:55:40
本文实例讲述了android应用读取excel文件的方法。分享给大家供大家参考,具体如下:
readexcel.java文件:
public class rea...
本文实例讲述了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程序设计有所帮助。