搞定了沒?我也遇到了相同的問題!!!
poi word怎麼刪除空白段落
方法/步驟
將光標定位到任意的句首位置
點擊文字工具-刪除空段
基本上全文內所有空白行段落部分就被刪除了,之後自己進行細微的調整就可以
當然上述方法有時候不一定能刪除全部的空白段落行,可能存在瑕疵。這裏可以在菜單-開始-查找替換-替換,打開替換編輯框,也可以按快捷鍵Ctrl+H調出替換窗口
查找內容:^p^p
替換為:^p
點擊全部替換
6
彈出替換成功提示,顯示完成多少處替換
請各位高手幫忙。poi怎麼刪除word文檔中指定的文字。比如每一行最後麵的文字
用查找替換功能:
查找:“//*。”,勾選“使用通配符”;替換:空,全部替換。
poi 操作word 2007 (如何刪除word中的某一個表格)
關鍵代碼如下:
FileInputStream fileInputStream = new FileInputStream( soureFile);
POIFSFileSystem pfs = new POIFSFileSystem( fileInputStream );
HWPFDocument hwpf = new HWPFDocument(pfs);// make a HWPFDocument object
OutputStream output = new FileOutputStream( targetFile );
hwpf.write(output);// write to the target file
output.close();
(2)再word中插入表格。HWPF的情況:
Table tcDataTable = range.insertTableBefore( (short)column , row);//column and row列數和行數
tcDataTable.getRow(i).getCell(j).getParagraph(0).getCharacterRun(0).insertBefore("插入i行j列的內容" );
XWPF的情況:
String outputFile = "D:\\test.doc";
XWPFDocument document = new XWPFDocument();
XWPFTable tableOne = document.createTable();
XWPFTableRow tableOneRowOne = tableOne.getRow(0);
tableOneRowOne.getCell(0).setText("11");
XWPFTableCell cell12 = tableOneRowOne.createCell();
cell12.setText("12");
// tableOneRowOne.addNewTableCell().setText("第1行第2列");
// tableOneRowOne.addNewTableCell().setText("第1行第3列");
// tableOneRowOne.addNewTableCell().setText("第1行第4列");
XWPFTableRow tableOneRowTwo = tableOne.createRow();
tableOneRowTwo.getCell(0).setText("21");
tableOneRowTwo.getCell(1).setText("22");
// tableOneRowTwo.getCell(2).setText("第2行第3列");
XWPFTableRow tableOneRow3 = tableOne.createRow();
tableOneRow3.addNewTableCell().setText("31");
tableOneRow3.addNewTableCell().setText("32");
FileOutputStream fOut;
try {
fOut = new FileOutputStream(outputFile);
document.write(fOut);
fOut.flush();
// 操作結束,關閉文件
fOut.close();
} catch (Exception e) {
e.printStackTrace();
}
如何通過POI修改word中的內容
如何使用POI操作Word文本框中的內容_百度經驗 [jingyan.baidu.com]
如何樣能讓poi讀取的word按原來的格式顯示在頁麵
怎麼樣能讓poi讀取的word按原來的格式顯示在頁麵
因為poi讀取word 沒法讀取到空格和回車.這個問題要如何解決呢
poi java
------解決方案--------------------
public static void main(String[] args) {
File file = new File("D:/test.doc");
try {
FileInputStream fis = new FileInputStream(file);
HWPFDocument hwpfd = new HWPFDocument(fis);
WordExtractor wordExtractor = new WordExtractor(hwpfd);
String[] paragraph = wordExtractor.getParagraphText();
for (int i = 0; i < paragraph.length;="" i++)="">
System.out.println(paragraph[i]);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
使用apache的POI API 生成word文檔(docx)時,怎麼將一段文字設置成為大綱標題,如設置成標題1
所謂標題1就是一種樣式,右鍵選修改時可以看到它的定義為:
字體: 二號, 加粗, 字距調整二號, 行距: 多倍行距 2.41 字行, 段落間距段前: 17 磅, 段後: 16.5 磅, 與下段同頁, 段中不分頁, 1 級, 樣式: 鏈接, 快速樣式, 優先級: 10, 基於: 正文, 後續樣式: 正文
xssf沒預定義樣式,所以你可根據標題1的定義自己一個個設置屬性值即可
如何通過POI修改word中的內容
把word內容用poi讀出來,成字符串,把字符串在內存中修改,修改字符串可用各種方法,正則是比較好的了
java poi 怎麼控製輸出word每行的內容
你好,試試以下代碼行不行。
package com.sample;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.rtf.RtfWriter2;
/**
*
* @author wangyanjun
* @email bd_wyj@sina.com
* @createDate Jun 12, 2008
*/
public class CreateWordDemo {
public void createDocContext(String file) throws DocumentException,
IOException {
// 設置紙張大小
Document document = new Document(PageSize.A4);
// 建立一個書寫器(Writer)與document對象關聯,通過書寫器(Writer)可以將文檔寫入到磁盤中
RtfWriter2.getInstance(document, new FileOutputStream(file));
document.open();
// 設置中文字體
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
// 標題字體風格
Font titleFont = new Font(bfChinese, 12, Font.BOLD);
// 正文字體風格
Font contextFont = new Font(bfChinese, 10, Font.NORMAL);
Paragraph title = new Paragraph("標題");
// 設置標題格式對齊方式
title.setAlignment(Element.ALIGN_CENTER);
title.setFont(titleFont);
document.add(title);
String contextString = "iText是一個能夠快速產生PDF文件的java類庫。"
+ " \n"// 換行
+ "iText的java類對於那些要產生包含文本,"
+ "表格,圖形的隻讀文檔是很有用的。它的類庫尤其與java Servlet有很好的給合。"
+ "使用iText與PDF能夠使你正確的控製Servlet的輸出。";
Paragraph context = new Paragraph(contextString);
// 正文格式左對齊
context.setAlignment(Element.ALIGN_LEFT);
context.setFont(contextFont);
// 離上一段落(標題)空的行數
context.setSpacingBefore(5);
// 設置第一行空的列數
context.setFirstLineIndent(20);
document.add(context);
//利用類FontFactory結合Font和Color可以設置各種各樣字體樣式
/**
* Font.UNDERLINE 下劃線,Font.BOLD 粗體
*/
Paragraph underline = new Paragraph("下劃線的實現", FontFactory.getFont(
FontFactory.HELVETICA_BOLDOBLIQUE, 18, Font.UNDERLINE,
new Color(0, 0, 255)));
document.add(underline);
// 設置 Table 表格
Table aTable = new Table(3);
int width[] = {25,25,50};
aTable.setWidths(width);//設置每列所占比例
aTable.setWidth(90); // 占頁麵寬度 90%
aTable.setAlignment(Element.ALIGN_CENTER);//居中顯示
aTable.setAlignment(Element.ALIGN_MIDDLE);//縱向居中顯示
aTable.setAutoFillEmptyCells(true); //自動填滿
aTable.setBorderWidth(1); //邊框寬度
aTable.setBorderColor(new Color(0, 125, 255)); //邊框顏色
aTable.setPadding(2);//襯距,看效果就知道什麼意思了
aTable.setSpacing(3);//即單元格之間的間距
aTable.setBorder(2);//邊框
//設置表頭
/**
* cell.setHeader(true);是將該單元格作為表頭信息顯示;
* cell.setColspan(3);指定了該單元格占3列;
* 為表格添加表頭信息時,要注意的是一旦表頭信息添加完了之後,
* 必須調用 endHeaders()方法,否則當表格跨頁後,表頭信息不會再顯示
*/
Cell haderCell = new Cell("表格表頭");
haderCell.setHeader(true);
haderCell.setColspan(3);
aTable.addCell(haderCell);
aTable.endHeaders();
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);
Cell cell = new Cell(new Phrase("這是一個測試的 3*3 Table 數據", fontChinese ));
cell.setVerticalAlignment(Element.ALIGN_TOP);
cell.setBorderColor(new Color(255, 0, 0));
cell.setRowspan(2);
aTable.addCell(cell);
aTable.addCell(new Cell("#1"));
aTable.addCell(new Cell("#2"));
aTable.addCell(new Cell("#3"));
aTable.addCell(new Cell("#4"));
Cell cell3 = new Cell(new Phrase("一行三列數據", fontChinese ));
cell3.setColspan(3);
cell3.setVerticalAlignment(Element.ALIGN_CENTER);
aTable.addCell(cell3);
document.add(aTable);
document.add(new Paragraph("\n"));
//添加圖片
Image img=Image.getInstance("d:\\img01800.jpg");
img.setAbsolutePosition(0, 0);
img.setAlignment(Image.RIGHT);//設置圖片顯示位置
img.scaleAbsolute(12,35);//直接設定顯示尺寸
img.scalePercent(50);//表示顯示的大小為原尺寸的50%
img.scalePercent(25, 12);//圖像高寬的顯示比例
img.setRotation(30);//圖像旋轉一定角度
document.add(img);
document.close();
}
/**
* @param args
*/
public static void main(String[] args) {
CreateWordDemo word = new CreateWordDemo();
String file = "c:/demo1.doc";
try {
word.createDocContext(file);
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
POI讀取word文件怎樣返回包含關鍵字的一行
給個思路吧。
讀取word用doc4j,然後就是讀成字符串進行處理了。
提取關鍵字首先是中文分詞技術,就是把一段話劃分成多個組成的詞語,然後統計詞語的出現次數,這個是主要依據。這個是有實現的jar包的,可以去baidu搜,搜java 中文分詞就行。
分詞之後,記錄詞語出現位置,這個是輔助的依據,記錄詞語一句話中的位置,越靠前越像關鍵字,權重越高。
甚至可能需要建立一個權重體係,次數設置一個權重,整體位置設置一個權重,不同位置權重也不同。不了解權重可以理解成係數(百分比的,然後計算那個詞是關鍵詞)。
同時需要注意,可能需要排除一些常用詞,哪些次需要排除,這個需要根據程序反複運行,讀取不同word文章的結果來定。
轉載請注明出處句子大全網 » poi刪除word段落