严格来说还是转载,重新写了一下,readXLSX和writeXLS经过测试

import java.io.File;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import android.util.Xml;import org.xmlpull.v1.XmlPullParser;import jxl.Cell;import jxl.CellType;import jxl.DateCell;import jxl.NumberCell;import jxl.Sheet;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class UtilXlsParser {    private static final int DEFAULT_SHEET = 0;        public static String readXLS(String path) {        String str = "";                try {            Workbook workbook =  Workbook.getWorkbook(new File(path));            Sheet sheet = workbook.getSheet(0);            int columnCount = sheet.getColumns();            int rowCount = sheet.getRows();            Cell cell = null;            for (int i = 0; i < rowCount; i++) {                for (int j = 0; j < columnCount; j++) {                    cell = sheet.getCell(j, i);                    String temp2 = "";                    if (cell.getType() == CellType.NUMBER) {                        temp2 = ((NumberCell) cell).getValue() + "";                    } else if (cell.getType() == CellType.DATE) {                        temp2 = "" + ((DateCell) cell).getDate();                    } else {                        temp2 = "" + cell.getContents();                    }                    str = str + "  " + temp2;                }                str += "\n";            }            workbook.close();        } catch (Exception e) {        }                return str;    }    public static List<ArrayList<String>> readXLSX(String path) {        String v = null;        List<String> list = new ArrayList<String>();        List<ArrayList<String>> table = new ArrayList<ArrayList<String>>();                try {            ZipFile file = new ZipFile(new File(path));                        ZipEntry sharedStringXML = file.getEntry("xl/sharedStrings.xml");            InputStream inputStream = file.getInputStream(sharedStringXML);            XmlPullParser parser = Xml.newPullParser();            parser.setInput(inputStream, "utf-8");            int event = parser.getEventType();            while (event != XmlPullParser.END_DOCUMENT) {                switch (event) {                    case XmlPullParser.START_TAG:                        String tag = parser.getName();                        if (tag.equalsIgnoreCase("t")) {                            list.add(parser.nextText());                        }                        break;                    case XmlPullParser.END_TAG:                        break;                    default:                        break;                                              }                                event = parser.next();            }                        ZipEntry sheetXML = file.getEntry("xl/worksheets/sheet1.xml");            InputStream inputStreamsheet = file.getInputStream(sheetXML);            parser = Xml.newPullParser();            parser.setInput(inputStreamsheet, "utf-8");            event = parser.getEventType();            ArrayList<String> row = null;            boolean isText = false;            while (event != XmlPullParser.END_DOCUMENT) {                                switch (event) {                    case XmlPullParser.START_TAG:                        String tag = parser.getName();                                                if (tag.equalsIgnoreCase("row")) {                            row = new ArrayList<String>();                            table.add(row);                        } else if (tag.equalsIgnoreCase("c")) {                            String t = parser.getAttributeValue(null, "t");                                                        if (t != null) {                                isText = true;                            } else {                                isText = false;                            }                        } else if (tag.equalsIgnoreCase("v")) {                            String cell = parser.nextText();                                                        if (cell != null) {                                if (isText) {                                    row.add(list.get(Integer.parseInt(cell)));                                } else {                                    row.add(cell);                                }                            }                        }                        break;                    case XmlPullParser.END_TAG:                        if (parser.getName().equalsIgnoreCase("row") && v != null) {                        }                        break;                }                                event = parser.next();            }        } catch (Exception e) {            e.printStackTrace();        }        return table;    }        public static int writeXLS( String path, List<ArrayList<String>> table ) {        File file = createXLS(path);                if ( file==null ) {        return CREATE_FAIL;        } else {            return addData( file,table );        }    }    private static File createXLS(String path) {              File file = null;                  try {              file=new File(path);              WritableWorkbook book = Workbook.createWorkbook(file);              WritableSheet sheet = book.createSheet("task", DEFAULT_SHEET);              book.write();              book.close();        } catch (Exception e) {              e.printStackTrace();          } finally {            return file;        }     }          private static int addData( File file, List<ArrayList<String>> table ){          try {              Workbook wb = Workbook.getWorkbook(file);                           WritableWorkbook book= Workbook.createWorkbook(file,wb);               WritableSheet sheet = book.getSheet(DEFAULT_SHEET);              for(int task=0; task<table.size(); task++) {                List<String> attrs = table.get(task);                                for(int attr=0; attr<attrs.size(); attr++) {                    Label label = new Label( attr, task, attrs.get(attr) );                      sheet.addCell(label);                  }            }                        book.write();              book.close();              return 0;        } catch (Exception e) {              e.printStackTrace();             return ADD_DATA_FAIL;        }       }      public static final int CREATE_FAIL = -1;    public static final int ADD_DATA_FAIL = -2;}


更多相关文章

  1. 【2016年度】移动安全研究资料总结
  2. Android(安卓)Monkey
  3. android
  4. Customize "share picture via" menu on Android(安卓)(Android(
  5. App自动化测试--Android环境搭建
  6. android studio中AndroidJUnit4单元测试注解错误和recyclerview-
  7. 一个测试ok的popupwindow demo
  8. android CTS
  9. Andriod自动化测试

随机推荐

  1. Linux学习笔记(九)--RedHat 7.0之用户身份
  2. 浅谈Oracle函数返回Table集合
  3. linux 可读可写可执行权限 chmod
  4. Kali Linux渗透测试 131 拒绝服务--NTP
  5. 常用Linux命令汇总
  6. linux内核段属性机制(以subsys_initcall
  7. 在Ubuntu Linux 安装Python第三方库:NumP
  8. wifidog 源码初分析(2)
  9. Linux系统下Tar文件安装方法
  10. 在linux下安装并使用websocket