可以直接复制实验,
解析doc,要tm-extractors-0.4.jar这个包
解析xls,要jxl.jar这个包

01 publicstaticString readDOC(String path) {
02 // 创建输入流读取doc文件
03 FileInputStream in;
04 String text =null;
05 // Environment.getExternalStorageDirectory().getAbsolutePath()+ "/aa.doc")
06 try{
07 in =newFileInputStream(newFile(path));
08 inta= in.available();
09 WordExtractor extractor =null;
10 // 创建WordExtractor
11 extractor =newWordExtractor();
12 // 对doc文件进行提取
13 text = extractor.extractText(in);
14 System.out.println("解析得到的东西"+text);
15 }catch(FileNotFoundException e) {
16 e.printStackTrace();
17 }catch(Exception e) {
18 e.printStackTrace();
19 }
20 if(text ==null) {
21 text ="解析文件出现问题";
22 }
23 returntext;
24 }
解析xls view source print ?
01 publicstaticString readXLS(String path) {
02 String str ="";
03 try{
04 Workbook workbook =null;
05 workbook = Workbook.getWorkbook(newFile(path));
06 Sheet sheet = workbook.getSheet(0);
07 Cell cell =null;
08 intcolumnCount = sheet.getColumns();
09 introwCount = sheet.getRows();
10 for(inti =0; i < rowCount; i++) {
11 for(intj =0; j < columnCount; j++) {
12 cell = sheet.getCell(j, i);
13 String temp2 ="";
14 if(cell.getType() == CellType.NUMBER) {
15 temp2 = ((NumberCell) cell).getValue() +"";
16 }elseif(cell.getType() == CellType.DATE) {
17 temp2 =""+ ((DateCell) cell).getDate();
18 }else{
19 temp2 =""+ cell.getContents();
20 }
21 str = str +" "+ temp2;
22 }
23 str +="\n";
24 }
25 workbook.close();
26 }catch(Exception e) {
27 }
28 if(str ==null) {
29 str ="解析文件出现问题";
30 }
31 returnstr;
32 }

解析docx
publicstaticString readDOCX(String path) {
02 String river ="";
03 try{
04 ZipFile xlsxFile =newZipFile(newFile(path));
05 ZipEntry sharedStringXML = xlsxFile.getEntry("word/document.xml");
06 InputStream inputStream = xlsxFile.getInputStream(sharedStringXML);
07 XmlPullParser xmlParser = Xml.newPullParser();
08 xmlParser.setInput(inputStream,"utf-8");
09 intevtType = xmlParser.getEventType();
10 while(evtType != XmlPullParser.END_DOCUMENT) {
11 switch(evtType) {
12 caseXmlPullParser.START_TAG:
13 String tag = xmlParser.getName();
14 System.out.println(tag);
15 if(tag.equalsIgnoreCase("t")) {
16 river += xmlParser.nextText() +"\n";
17 }
18 break;
19 caseXmlPullParser.END_TAG:
20 break;
21 default:
22 break;
23 }
24 evtType = xmlParser.next();
25 }
26 }catch(ZipException e) {
27 e.printStackTrace();
28 }catch(IOException e) {
29 e.printStackTrace();
30 }catch(XmlPullParserException e) {
31 e.printStackTrace();
32 }
33 if(river ==null) {
34 river ="解析文件出现问题";
35 }
36 returnriver;
37 }
解析xlsx view source print ?
01 publicstaticString readXLSX(String path) {
02 String str ="";
03 String v =null;
04 booleanflat =false;
05 List<String> ls =newArrayList<String>();
06 try{
07 ZipFile xlsxFile =newZipFile(newFile(path));
08 ZipEntry sharedStringXML = xlsxFile
09 .getEntry("xl/sharedStrings.xml");
10 InputStream inputStream = xlsxFile.getInputStream(sharedStringXML);
11 XmlPullParser xmlParser = Xml.newPullParser();
12 xmlParser.setInput(inputStream,"utf-8");
13 intevtType = xmlParser.getEventType();
14 while(evtType != XmlPullParser.END_DOCUMENT) {
15 switch(evtType) {
16 caseXmlPullParser.START_TAG:
17 String tag = xmlParser.getName();
18 if(tag.equalsIgnoreCase("t")) {
19 ls.add(xmlParser.nextText());
20 }
21 break;
22 caseXmlPullParser.END_TAG:
23 break;
24 default:
25 break;
26 }
27 evtType = xmlParser.next();
28 }
29 ZipEntry sheetXML = xlsxFile.getEntry("xl/worksheets/sheet1.xml");
30 InputStream inputStreamsheet = xlsxFile.getInputStream(sheetXML);
31 XmlPullParser xmlParsersheet = Xml.newPullParser();
32 xmlParsersheet.setInput(inputStreamsheet,"utf-8");
33 intevtTypesheet = xmlParsersheet.getEventType();
34 while(evtTypesheet != XmlPullParser.END_DOCUMENT) {
35 switch(evtTypesheet) {
36 caseXmlPullParser.START_TAG:
37 String tag = xmlParsersheet.getName();
38 if(tag.equalsIgnoreCase("row")) {
39 }elseif(tag.equalsIgnoreCase("c")) {
40 String t = xmlParsersheet.getAttributeValue(null,"t");
41 if(t !=null) {
42 flat =true;
43 System.out.println(flat +"有");
44 }else{
45 System.out.println(flat +"没有");
46 flat =false;
47 }
48 }elseif(tag.equalsIgnoreCase("v")) {
49 v = xmlParsersheet.nextText();
50 if(v !=null) {
51 if(flat) {
52 str += ls.get(Integer.parseInt(v)) +" ";
53 }else{
54 str += v +" ";
55 }
56 }
57 }
58 break;
59 caseXmlPullParser.END_TAG:
60 if(xmlParsersheet.getName().equalsIgnoreCase("row")
61 && v !=null) {
62 str +="\n";
63 }
64 break;
65 }
66 evtTypesheet = xmlParsersheet.next();
67 }
68 System.out.println(str);
69 }catch(ZipException e) {
70 e.printStackTrace();
71 }catch(IOException e) {
72 e.printStackTrace();
73 }catch(XmlPullParserException e) {
74 e.printStackTrace();
75 }
76 if(str ==null) {
77 str ="解析文件出现问题";
78 }
79 returnstr;
80 }

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. android io写入读取 txt 数据 封装
  6. 单元测试;Android应用程序架构;电话拔号器;短信发送器
  7. Eclipse中开发Android应用出现的error及solution汇总
  8. Android(安卓)webview 一些奇怪的问题
  9. [转]Windows下用Git下载android源码

随机推荐

  1. 简单GLSurfaceView 动画,透明背景的实现。
  2. GreenDao 使用详解(入门篇)
  3. Android9.0 BroadcastReceiver案例分析附
  4. MacOS 10导入信任证书
  5. Android(安卓)讨论
  6. android ListView 设定背景图后拖动时整
  7. android或java用DES加密解密文件
  8. android之权重layout_weight的用法
  9. 如何在Google Play生存:Android开发者指南
  10. android导入项目,项目上显示一个叉叉