最近公司让做office文件内容的提取 最后选择用Apache的poi来实现 最后发现03的全部都可以读取但是07下的有些文件无法读取 最后在网上找了下 都可以了。。但是一个potx文件的解决方案太少了 几乎没有 所以把我写的potx的类拿出来跟大家分享
package document;
import interfaces.ICommon;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.xslf.XSLFSlideShow;
import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import common.AddTxt;
/**
* 将POTX中的内容复制到txt中
*
* @author DanielCooger <a href="mailto:tangjunfeng52099@gmail.com">daniel</a>
*/
public class Potx implements ICommon{
private String date = new SimpleDateFormat("yyyyMMddHHmmss")
.format(new Date());
// 新建txt文件
private String potx = "d:\\doc\\POTX" + date + ".txt";
// pot源文件
private String path = "d:\\doc";
public boolean readText(String file) throws Exception {
//将源文件转换成xml格式
XMLSlideShow xmlslideshow = new XMLSlideShow(new XSLFSlideShow(file));
//根据xml格式的文件得到一个ppt对象
XSLFPowerPointExtractor ppt = new XSLFPowerPointExtractor(xmlslideshow);
System.out.println(ppt.getText());
}
}
简单易懂