当前位置:文档之家› JAVA使用POI读取PPT文件和POI读取EXCEL WORD示例

JAVA使用POI读取PPT文件和POI读取EXCEL WORD示例


} }
POI 抽取 PPT 示例:
复制代码 代码如下:
package msoffice;
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream;
public static void main(String[] args){ File file = new File("/home/orisun/3.xls"); try{ FileInputStream fin=new FileInputStream(file); String cont=readDoc1(fin); System.out.println(cont); fin.close(); fin=new FileInputStream(file); System.out.println("加权平均分"+getAvg(fin)); fin.close();
//读取一张幻灯片的标题
String title=slides[i].getTitle(); System.out.println("标题:"+title); //读取一张幻灯片的内容(包括标题) TextRun[] runs=slides[i].getTextRuns(); for(int j=0;j<runs.length;j++){
//读取时细化到 Sheet、行甚至单元格 public static double getAvg(InputStream is)throws IOException{
HSSFWorkbook wb=new HSSFWorkbook(new POIFSFileSystem(is)); //获取第一张 sheet HSSFSheet sheet=wb.getSheetAt(0);
} }
Excel 文件由多个 Workbook 组成,一个 Workbook 由多个 Sheet 组成。
POI 抽取 Excel 简单示例:
复制代码 代码如下:
package msБайду номын сангаасffice;
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator;
public class PPT {
//直接抽取幻灯片的全部内容 public static String readDoc1(InputStream is) throws IOException{
PowerPointExtractor extractor=new PowerPointExtractor(is); return extractor.getText(); }
public static void main(String[] args) { File file = new File("/home/orisun/1.doc"); try { FileInputStream fin = new FileInputStream(file); String cont = readDoc1(fin); System.out.println(cont); fin.close(); fin = new FileInputStream(file); readDoc2(fin); fin.close(); } catch (IOException e) { e.printStackTrace(); }
System.err.println("数字类型错误!"); System.exit(-2); } if(cell2.getCellType()!=HSSFCell.CELL_TYPE_NUMERIC){ System.err.println("数字类型错误!"); System.exit(-2); } denominator+=Double.parseDouble(cell2.toString().trim()); molecule+=Double.parseDouble(cell2.toString().trim())*Float.parseFloat(cell1.toString().trim()); } return molecule/denominator; }
import org.apache.poi.hslf.HSLFSlideShow; import org.apache.poi.hslf.extractor.PowerPointExtractor; import org.apache.poi.hslf.model.Slide; import org.apache.poi.hslf.model.TextRun; import ermodel.SlideShow;
}catch(IOException e){ e.printStackTrace();
} } }
import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordExtractor; import ermodel.CharacterRun; import ermodel.Paragraph; import ermodel.Range; import ermodel.Section;
double molecule=0.0; double denominator=0.0; //按行遍历 sheet Iterator<Row> riter=sheet.rowIterator(); while(riter.hasNext()){
HSSFRow row=(HSSFRow)riter.next(); HSSFCell cell1=row.getCell(4); HSSFCell cell2=row.getCell(4); if(cell1.getCellType()!=HSSFCell.CELL_TYPE_NUMERIC){
使用 POI 抽取 Word 简单示例:
要引入 poi-3.7.jat 和 poi-scratchpad-3.7.ajr 这两个包。
复制代码 代码如下:
package msoffice;
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream;
public class Word {
// 直接抽取全部内容 public static String readDoc1(InputStream is) throws IOException {
WordExtractor extractor = new WordExtractor(is); return extractor.getText(); }
import ermodel.HSSFCell; import ermodel.HSSFRow; import ermodel.HSSFSheet; import ermodel.HSSFWorkbook; import org.apache.poi.hssf.extractor.ExcelExtractor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import ermodel.Row;
Section s=r.getSection(x); for(int y=0;y<s.numParagraphs();y++){
Paragraph p=s.getParagraph(y); for(int z=0;z<p.numCharacterRuns();z++){
CharacterRun run=p.getCharacterRun(z); String text=run.text(); System.out.print(text); } } } }
System.out.println(runs[j].getText()); } } }
public static void main(String[] args){ File file = new File("/home/orisun/2.ppt"); try{ FileInputStream fin=new FileInputStream(file); String cont=readDoc1(fin); System.out.println(cont); fin.close(); fin=new FileInputStream(file); readDoc2(fin); fin.close(); }catch(IOException e){ e.printStackTrace(); }
//分章节 Section、段落 Paragraph、字符串 CharacterRun 抽取 public static void readDoc2(InputStream is) throws IOException {
HWPFDocument doc=new HWPFDocument(is); Range r=doc.getRange(); for(int x=0;x<r.numSections();x++){
//一张幻灯片一张幻灯片地读取 public static void readDoc2(InputStream is) throws IOException{
相关主题