使用POI解析(txt,doc,docx,xls,xlsx)文件方法总结_doc文档与docx文档
使用POI解析(txt,doc,docx,xls,xlsx)文件方法总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“doc文档与docx文档”。
本人最近写了用POI解析txt,doc,docx,xls,xlsx等五个格式的文件,整理一下: 可能写的不是很简单,但是可用。
最近上传文件,解析文件,我天天都在写,写的头都大了。。
所有整理一下主要的核心的代码,即助人为乐,也给自己留个备份。呵呵 欢迎参考
首先需要引用jar包:
这些jar包网上都是可以找的到的1、首先要先读取到文件,String targetDirectory = ServletActionContext.getServletContext().getRealPath(“/wenjian”);//获取路径
这是获取服务器中wenjian这个文件夹下的所有文件。
//读取指定文件夹下的所有文件名称
File file=new File(targetDirectory);
String test[];test=file.list();所有的文件名称都在这个list中,用循环可以得到文件的后缀名
for(int i=0;i
File f =new File(test[i]);String fileName=f.getName();String prefix=fileName.substring(fileName.lastIndexOf(“.”)+1);//获取文件后缀名
FileInputStream fis = new FileInputStream(targetDirectory+“/”+test[i]);
String fis2 = targetDirectory+“/”+test[i];
不同的文件类型,使用不同的解析方法。
简单的代码如下:
if(“doc”.equals(prefix)){
WordExtractor wordExtractor;try {
FileInputStream file = new FileInputStream(path);wordExtractor = new WordExtractor(file);String[] paragraph = for(int j=0;j
}
}
} }
+= paragraph[j].toString();} catch(Exception e){ // TODO Auto-generated catch block e.printStackTrace();if(“docx”.equals(prefix)){ try {
} XWPFDocument xwdoc = new XWPFDocument(POIXMLDocument
.openPackage(path));POIXMLTextExtractor ex = new XWPFWordExtractor(xwdoc);= ex.getText().trim();// TODO: handle exception e.printStackTrace();} catch(Exception e){ if(“xls”.equals(prefix)){ HSSFWorkbook hfWorkbook = new HSSFWorkbook(fis);//获得第一个工作表Sheet
HSSFSheet hfSheet = hfWorkbook.getSheetAt(0);//获得第一行Row
HSSFRow hfRow = hfSheet.getRow(0);//用StringBuffer得到Excel表格一行的内容并用逗号分隔 StringBuffer sb = new StringBuffer();for(int p=0;p
XSSFSheet xfSheet = xfWorkbook.getSheetAt(0);// 循环行Row
XSSFRow xfRow = xfSheet.getRow(0);// 循环列Cell
//用StringBuffer得到Excel表格一行的内容并用逗号分隔 StringBuffer sbs = new StringBuffer();for(int cellNum = 0;cellNum
这五种方法都是可行的,本人亲自测试过,而且自己也是这么用的,} BufferedReader reader;try {
} reader = new BufferedReader(new FileReader(path));//reader.readLine();while(reader.ready()){
+= reader.readLine();
}
reader.close();// TODO Auto-generated catch block e.printStackTrace();}catch(Exception e){