您的位置:首页 > 游戏 > 游戏 > 沈阳网站seo排名优化_上海营销型网站建设方案_谷歌搜索优化_网址查询站长工具

沈阳网站seo排名优化_上海营销型网站建设方案_谷歌搜索优化_网址查询站长工具

2024/10/5 17:19:09 来源:https://blog.csdn.net/soso3056/article/details/139779660  浏览:    关键词:沈阳网站seo排名优化_上海营销型网站建设方案_谷歌搜索优化_网址查询站长工具
沈阳网站seo排名优化_上海营销型网站建设方案_谷歌搜索优化_网址查询站长工具

1、pom.xml依赖

<dependencies><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>

2、读取文件类ReadDoc.java

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;public class ReadDoc {public void testReadByDoc(String path) throws Exception {InputStream is = new FileInputStream(path);HWPFDocument doc = new HWPFDocument(is);//输出书签信息this.printInfo(doc.getBookmarks());//输出文本System.out.println(doc.getDocumentText());Range range = doc.getRange();this.printInfo(range);//读表格this.readTable(range);//读列表this.readList(range);//把当前HWPFDocument写到输出流中doc.write(new FileOutputStream("D:\\test.doc"));is.close();}/*** 输出书签信息* @param bookmarks*/private void printInfo(Bookmarks bookmarks) {int count = bookmarks.getBookmarksCount();System.out.println("书签数量:" + count);Bookmark bookmark;for (int i=0; i<count; i++) {bookmark = bookmarks.getBookmark(i);System.out.println("书签" + (i+1) + "的名称是:" + bookmark.getName());System.out.println("开始位置:" + bookmark.getStart());System.out.println("结束位置:" + bookmark.getEnd());}}/*** 读表格* 每一个回车符代表一个段落,所以对于表格而言,每一个单元格至少包含一个段落,每行结束都是一个段落。* @param range*/private void readTable(Range range) {//遍历range范围内的table。TableIterator tableIter = new TableIterator(range);Table table;TableRow row;TableCell cell;while (tableIter.hasNext()) {table = tableIter.next();int rowNum = table.numRows();for (int j=0; j<rowNum; j++) {row = table.getRow(j);int cellNum = row.numCells();for (int k=0; k<cellNum; k++) {cell = row.getCell(k);//输出单元格的文本System.out.println(cell.text().trim());}}}}/*** 读列表* @param range*/private void readList(Range range) {int num = range.numParagraphs();Paragraph para;for (int i=0; i<num; i++) {para = range.getParagraph(i);if (para.isInList()) {System.out.println("list: " + para.text());}}}/*** 输出Range* @param range*/private void printInfo(Range range) {//获取段落数int paraNum = range.numParagraphs();System.out.println(paraNum);for (int i=0; i<paraNum; i++) {System.out.println("段落" + (i+1) + ":" + range.getParagraph(i).text());}int secNum = range.numSections();System.out.println(secNum);Section section;for (int i=0; i<secNum; i++) {section = range.getSection(i);System.out.println(section.getMarginLeft());System.out.println(section.getMarginRight());System.out.println(section.getMarginTop());System.out.println(section.getMarginBottom());System.out.println(section.getPageHeight());System.out.println(section.text());}}
}

3、功能测试

public class ReadDocTest {public static void main(String[] args) throws Exception {ReadDoc rd = new ReadDoc();rd.testReadByDoc("D:\\MaintainCase.doc");}}

4、写入文件类WriteDoc.java

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;public class WriteDoc {public void testWrite() throws Exception {List<Users> list = new ArrayList<Users>();list.add(new Users("a","男",10,new SimpleDateFormat("yyyy-MM-dd").parse("2018-08-08")));list.add(new Users("b","女",20,new SimpleDateFormat("yyyy-MM-dd").parse("2017-07-07")));String templatePath = "D:\\template.doc";InputStream is = new FileInputStream(templatePath);OutputStream os = null;HWPFDocument doc = new HWPFDocument(is);Range range = doc.getRange();for(int i=0;i<list.size();i++){Users user = list.get(i);//把range范围内的${reportDate}替换为当前的日期range.replaceText("${name}", user.getName());range.replaceText("${sex}", user.getSex());range.replaceText("${age}", String.valueOf(user.getAge()));range.replaceText("${date}", user.getBirthday().toString());os = new FileOutputStream(new File("D:\\"+user.getName()+".doc"));//把doc输出到输出流中doc.write(os);}os.close();is.close();}
}

5、功能测试

Users类

import java.util.Date;public class Users {String name;String sex;int age;Date birthday;public Users() {}public Users(String name, String sex ,int age, Date birthday) {this.name = name;this.sex = sex;this.age = age;this.birthday = birthday;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

6、测试类

public class WriteDocTest {public static void main(String[] args) throws Exception {WriteDoc wd = new WriteDoc();wd.testWrite();}
}

最后,感谢王总的鼎力支持,谢谢!(2024年9月26日)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com