Java,poi,extractor.getTextFromPieces()的作用是什么?或者说有什么功能

作者&投稿:佘庙 (若有异议请与网页底部的电邮联系)
如何使用JAVA,POI读写word文档~

public class HwpfTest {

@SuppressWarnings("deprecation")
@Test
public void testReadByExtractor() throws Exception {
InputStream is = new FileInputStream("D:\est.doc");
WordExtractor extractor = new WordExtractor(is);
//输出word文档所有的文本
System.out.println(extractor.getText());
System.out.println(extractor.getTextFromPieces());
//输出页眉的内容
System.out.println("页眉:" + extractor.getHeaderText());
//输出页脚的内容
System.out.println("页脚:" + extractor.getFooterText());
//输出当前word文档的元数据信息,包括作者、文档的修改时间等。
System.out.println(extractor.getMetadataTextExtractor().getText());
//获取各个段落的文本
String paraTexts[] = extractor.getParagraphText();
for (int i=0; i<paraTexts.length; i++) {
System.out.println("Paragraph " + (i+1) + " : " + paraTexts[i]);
}
//输出当前word的一些信息
printInfo(extractor.getSummaryInformation());
//输出当前word的一些信息
this.printInfo(extractor.getDocSummaryInformation());
this.closeStream(is);
}

/**
* 输出SummaryInfomation
* @param info
*/
private void printInfo(SummaryInformation info) {
//作者
System.out.println(info.getAuthor());
//字符统计
System.out.println(info.getCharCount());
//页数
System.out.println(info.getPageCount());
//标题
System.out.println(info.getTitle());
//主题
System.out.println(info.getSubject());
}

/**
* 输出DocumentSummaryInfomation
* @param info
*/
private void printInfo(DocumentSummaryInformation info) {
//分类
System.out.println(info.getCategory());
//公司
System.out.println(info.getCompany());
}

/**
* 关闭输入流
* @param is
*/
private void closeStream(InputStream is) {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}

如果只是文字的话,直接读出来,然后用07的存回去,poi能实现。但是有目录什么的就麻烦了,03的读出来目录是一行代码,就容易出问题
我用的poi正好在纠结,最后没办法,用按键精灵一个个转的。有个word文档批处理软件貌似能做到,但是要收费。
下面的是我读取word文字的代码
03读取:
InputStream is = new FileInputStream(docfile);
WordExtractor ex = new WordExtractor(is);
text = ex.getText();
System.out.println(text);
07读取:
OPCPackage opcPackage = POIXMLDocument.openPackage(docxfile.getAbsolutePath());
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
text = extractor.getText();
System.out.println(text);
最后:doc不一定是03的,也可能是07的

从文字块中提取出文字,提取的结果也可能包含了一些其他的crud比特,但是对于文字段落被打断的情况也能正常的工作,而且它比getText()要快一些。

http://poi.apache.org/apidocs/org/apache/poi/hwpf/extractor/WordExtractor.html


求一篇意大利语小作文 字数在一百字左右 非常感谢
Io ho iniziato le mie vacanze di Pasqua alla grande, il primo giorno ho dormito fino all'1 poi non avendo compiti per il giorno dopo al posto di rimanere chiusa in casa a non far nulla ho preferito uscire a fare shopping con le mie amiche e di sera in giro con il mio...

翻译下面的一端,,,意大利语
伴随着强烈的刺鼻的香味,充满诱惑,让人难以忍受.在10月的时候,是收集其余的果实和装满红酒的大酒桶,被秋风吹走的果实发黄的荆棘冠(不好意思,这里实在不知道该怎么翻译).不是每一年都能成熟,因为他们会被修道院里的那些孩子折腾.(e il sottopriore Gregorio这个sottopriore不知道是什么意思,...

急!!!意大利语作文《我的大学》
Ogni giorno, ci sarà intenzionalmente o non intenzionalmente, e poi fare una passeggiata nel campus, dare un'occhiata a che oggi, guardare e pensare a come quattro anni fa, ha introdotto nel nostro infantile non è spenta. Andato per quattro anni, sembra di tornare al punto di par...

意大利歌曲“一体一魄”法语歌词翻译
B:E non ci lasceremo mai 我们永不分离 abbiamo troppe cose insieme 我们共同的地方太多了 se ci arrabbiamo poi 如果我们吵架了 ci ritroviamo poi 很快又会和好 un corpo e un'anima 你我一体一魂 le stesse cose che vuoi tu 这些也是你想要的东西 le voglio io e questo è amo...

这些意大利语题怎么做
torno di nuovo in camera da letto. Mi metto la camicia, la cravatta, il vestito, poi vado in cucina.Accendo la radio per ascoltare l'ultime notizie. E prendo il caffè prima di uscire di casa. Quando arrivo all'Università, vedo tutti gli sgudenti nell'aula. Anche ci sono ...

Studentessa universitaria.将此歌翻译成中文
Poi c’è Concetta, sta a Perugia e studia da Veterinaria,然后,Concetta在佩鲁贾读着兽医学,Giurisprudenza invece la fa Ilaria e Marco spaccia cocaina Ilaria 在学着法学让但是Marco却倒腾着大麻 e un giorno lo metteranno dentro, il tuo ragazzo studia Architettura e nel frattempo 终有...

平谷区19414484914: java使用poi导出excel -
策姣右归: 找不到文件流,原因是因为,这里的inputName是你本机的路径,你本机有这个文件,所以能下载,但是发布到服务器上,这里的inputName就是服务器上的路径,而服务器上这个路径下没有这个文件,所以找不到文件流!

平谷区19414484914: 要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息 -
策姣右归: 太笼统了,只能给出一个POI读取Excel的大致方法. 对数据的校验,与具体的文件有关. 你定义的那一列是时间类型的,那一列是数字列的. 盲目的读取,无法判断数据的类型.

平谷区19414484914: java用POI操作Excel时当遍历单元格时如何获取当前单元个的具体坐标 -
策姣右归: 首先先根据sheet找到行 row = sheet.getRow(rowIndex); 然后找 cell = row.getCell(1); 这样就去到当前的B1了,cell.getStringCellValue() 就能取到当前的单元格的value

平谷区19414484914: java,用POI导出excel,各属性,方法详解,如WritableWorkbook,WritableSheet,WritableCellFormat, -
策姣右归: //创作工作薄 WritableWorkbook wbook = Workbook.createWorkbook(os);//创建新的一页 WritableSheet wsheet = wbook.createSheet(writableSheet, 0);//格式化字符串 WritableCellFormat wcfFC = new WritableCellFormat(); //添加一列ID自动增长 i表示行 j表示列wsheet.addCell表示添加单元格 wsheet.addCell(new Label(0, j, String.valueOf(i + 1)));

平谷区19414484914: JAVA使用poi包,向Excel中写入批量数据 -
策姣右归: public static void drawExcel(HSSFWorkbook wb, String sheetName, String title, int n, List<?> exlList, int[] index){ List<Object[]> exList =(List<Object[]>)exlList; int len = exList.get(0).length; // 创建一个sheet表单 HSSFSheet sheet = wb.createSheet(...

平谷区19414484914: Java怎么用POI读取Excel函数 -
策姣右归: 思路很简单: 1、在程序里取得公式 2、在公式执行之前校验格式,把多余的都好去掉(简单的replace) 3、然后再进行计算

平谷区19414484914: JAVA利用poi如何向excel已合并的单元格中写入内容 -
策姣右归: hssfworkbook wb = new hssfworkbook(); hssfsheet sheet = wb.createsheet("new sheet"); hssfrow row = sheet.createrow((short) 1); hssfcell cell = row.createcell((short) 1); hssfrichtextstring content = new hssfrichtextstring("this is a test of message...

平谷区19414484914: 用java poi包读取Excel单元格 -
策姣右归: String excelDir ="c:/tep.xls"; //excel路径 FileInputStream finput = new FileInputStream("excelDir" ); POIFSFileSystem fs = new POIFSFileSystem( finput ); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0);...

平谷区19414484914: Java利用POI导入excel表格并将数据存到数据库的问题 -
策姣右归: 当有合并表格的情况下,认为是左上角单元格的数据,意思就是 标题 认为是a1,但是当你循环遍历这样的合并表格的话,数据是会重复的,即把合并的单元格拆分后每个单...

平谷区19414484914: java poi 怎么读取Excel中合并单元格的值,我读取合并单元格的第一个格有值,其他的都是空. -
策姣右归: /** * 获取合并单元格的值 * @param sheet * @param row * @param column * @return */ public String getMergedRegionValue(Sheet sheet, int row, int column) { int sheetMergeCount = sheet.getNumMergedRegions(); for (int i = 0; i < ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网