Android应用读取Excel文件 ReadExcel.java文件:
Java代码
  1. publicclassReadExcelextendsActivity{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. @Override
  4. publicvoidonCreate(BundlesavedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.main);
  7. //createExcel();
  8. //readExcel();
  9. writeExcel("mnt/sdcard/test.xls");
  10. }
  11. publicvoidreadExcel(){
  12. try{
  13. /**
  14. *后续考虑问题,比如Excel里面的图片以及其他数据类型的读取
  15. **/
  16. InputStreamis=newFileInputStream("mnt/sdcard/test.xls");
  17. Workbookbook=Workbook
  18. .getWorkbook(newFile("mnt/sdcard/test.xls"));
  19. book.getNumberOfSheets();
  20. //获得第一个工作表对象
  21. Sheetsheet=book.getSheet(0);
  22. intRows=sheet.getRows();
  23. intCols=sheet.getColumns();
  24. System.out.println("当前工作表的名字:"+sheet.getName());
  25. System.out.println("总行数:"+Rows);
  26. System.out.println("总列数:"+Cols);
  27. for(inti=0;i<Cols;++i){
  28. for(intj=0;j<Rows;++j){
  29. //getCell(Col,Row)获得单元格的值
  30. System.out
  31. .print((sheet.getCell(i,j)).getContents()+"\t");
  32. }
  33. System.out.print("\n");
  34. }
  35. //得到第一列第一行的单元格
  36. Cellcell1=sheet.getCell(0,0);
  37. Stringresult=cell1.getContents();
  38. System.out.println(result);
  39. book.close();
  40. }catch(Exceptione){
  41. System.out.println(e);
  42. }
  43. }
  44. publicvoidcreateExcel(){
  45. try{
  46. //创建或打开Excel文件
  47. WritableWorkbookbook=Workbook.createWorkbook(newFile(
  48. "mnt/sdcard/test.xls"));
  49. //生成名为“第一页”的工作表,参数0表示这是第一页
  50. WritableSheetsheet1=book.createSheet("第一页",0);
  51. WritableSheetsheet2=book.createSheet("第三页",2);
  52. //在Label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test
  53. Labellabel=newLabel(0,0,"test");
  54. //将定义好的单元格添加到工作表中
  55. sheet1.addCell(label);
  56. /*
  57. *生成一个保存数字的单元格.必须使用Number的完整包路径,否则有语法歧义
  58. */
  59. jxl.write.Numbernumber=newjxl.write.Number(1,0,555.12541);
  60. sheet2.addCell(number);
  61. //写入数据并关闭文件
  62. book.write();
  63. book.close();
  64. }catch(Exceptione){
  65. System.out.println(e);
  66. }
  67. }
  68. /**
  69. *jxl暂时不提供修改已经存在的数据表,这里通过一个小办法来达到这个目的,不适合大型数据更新!这里是通过覆盖原文件来更新的.
  70. *
  71. *@paramfilePath
  72. */
  73. publicvoidupdateExcel(StringfilePath){
  74. try{
  75. Workbookrwb=Workbook.getWorkbook(newFile(filePath));
  76. WritableWorkbookwwb=Workbook.createWorkbook(newFile(
  77. "d:/new.xls"),rwb);//copy
  78. WritableSheetws=wwb.getSheet(0);
  79. WritableCellwc=ws.getWritableCell(0,0);
  80. //判断单元格的类型,做出相应的转换
  81. Labellabel=(Label)wc;
  82. label.setString("Thevaluehasbeenmodified");
  83. wwb.write();
  84. wwb.close();
  85. rwb.close();
  86. }catch(Exceptione){
  87. e.printStackTrace();
  88. }
  89. }
  90. publicstaticvoidwriteExcel(StringfilePath){
  91. try{
  92. //创建工作薄
  93. WritableWorkbookwwb=Workbook.createWorkbook(newFile(filePath));
  94. //创建工作表
  95. WritableSheetws=wwb.createSheet("Sheet1",0);
  96. //添加标签文本
  97. //Randomrnd=newRandom((newDate()).getTime());
  98. //intforNumber=rnd.nextInt(100);
  99. //Labellabel=newLabel(0,0,"test");
  100. //for(inti=0;i<3;i++){
  101. //ws.addCell(label);
  102. //ws.addCell(newjxl.write.Number(rnd.nextInt(50),rnd
  103. //.nextInt(50),rnd.nextInt(1000)));
  104. //}
  105. //添加图片(注意此处jxl暂时只支持png格式的图片)
  106. //0,1分别代表x,y2,5代表宽和高占的单元格数
  107. ws.addImage(newWritableImage(5,5,2,5,newFile(
  108. "mnt/sdcard/nb.png")));
  109. wwb.write();
  110. wwb.close();
  111. }catch(Exceptione){
  112. System.out.println(e.toString());
  113. }
  114. }
  115. }

更多相关文章

  1. Android 对.properties文件的读取
  2. Android下载完文件打开
  3. Android积木之图片的生成和保存
  4. android 调用系统相机程序,存放文件夹创建不了(miui 2.3.9系统)
  5. IDEA和Android Studio设置自定义背景图片
  6. Android中对XML文件的解析
  7. Android 模拟登陆 保存密码(信息)到手机中 文件信息读取
  8. android图片压缩工具类分享

随机推荐

  1. android实现emoji输入
  2. android 将RecyclerView当成ViewPager用
  3. 分享自学Java,Web,Android视频教程资源(自
  4. 干货 | 聊聊这些年总结的一些学习方法
  5. Android(安卓)导入项目时报Android.jar包
  6. Android专家/经理——北京招聘
  7. Mono for Android试用体验
  8. Android中Spinner的使用
  9. Android多媒体学习一:Android中Image的简
  10. Android中的通知—Notification