本文方法借鉴于https://www.cnblogs.com/ljysy/p/10574197.html

在经过朋友的指导下,在处理文档的方式上有所不同。

我的数据库使用的是SQL server,这篇博客将不介绍如何将数据存储进数据库中,只进行java POI处理文档数据的介绍,在处理完数据后,如果想要存储进不同的数据库的话,只需要更改数据的连接池以及存储代码即可。

1 importjava.io.File;2 importjava.io.FileInputStream;3 importjava.util.HashMap;4 importjava.util.List;5 importjava.util.Map;6

7 importorg.apache.poi.xwpf.usermodel.XWPFDocument;8 importorg.apache.poi.xwpf.usermodel.XWPFParagraph;9

10 importBean.Article;11 importDao.IDao;12 importDao.UserDaoImpl;13

14 public classWordToSql {15

16 public staticString pian;17 public staticString zhang;18

19 public static void readAndWriter(String fileName)throwsException {20 File file = newFile(fileName);21 try{22 FileInputStream fis = newFileInputStream(file);23 XWPFDocument xdoc = newXWPFDocument(fis);24 Listparas =xdoc.getParagraphs();25 Article article = newArticle();26 IDao userDao = newUserDaoImpl();27 boolean isFirst = true;28 for(XWPFParagraph p:paras) { //遍历段落

29 String level =p.getStyleID();30 System.out.println(level);31 if(level==null)continue;32 if(level.equals("12030")) { //篇的字号是小三:15

33 pian =p.getParagraphText();34 article.setPian(pian);35 }else if(level.equals("2201812")) { //章的字号是四号:14

36 if(!isFirst) {37 userDao.add(article);38 isFirst = true;39 }40 zhang =p.getParagraphText();41 article.setZhang(zhang);42 }else if(level.equals("3132020")) { //每个热词的字号是13

43 if(isFirst)isFirst = false;44 elseuserDao.add(article);45 String title =p.getParagraphText();46 article.setTitle(title);47 article.setContent(null);48 }else if(level.equals("41")) { //段落的字号是小五:9

49 String content =p.getParagraphText();50 if(article.getContent()!=null)content =article.getContent()+content;51 article.setContent(content);52 }53 }54 fis.close();55 }catch(Exception e) {56 System.out.println("WordToSql:"+e.getMessage());57 }58 }59

60 }

在这一部分代码中,有一部分方法是POI的jar包自带的方法,如getParagraphs()和getStyleID()方法。

在博主推荐的那篇博客中,处理数据的方式也是根据字号进行,不过在博主使用后发现数据库中并没有导入数据,最后发现错误的原因是由于字号错误,于是在使用getStyleID()方法后,我将字号输出,最后发现这四种不同的字号。

isFirst的true和false将控制调用存储函数的时间点,可在仔细看过代码后,进行理解。

以下是存储函数的代码:

1 importjava.sql.Connection;2 importjava.sql.PreparedStatement;3

4 importBean.Article;5 importUtil.DBUtil;6

7 public class UserDaoImpl implementsIDao{8

9 public voidadd(Article article) {10 Connection con =DBUtil.getConnection();11 PreparedStatement pre = null;12 String sql = "insert into data(pian,zhang,title,context) values(?,?,?,?)";13 try{14 pre =con.prepareStatement(sql);15 pre.setString(1,article.getPian());16 pre.setString(2,article.getZhang());17 pre.setString(3,article.getTitle());18 pre.setString(4,article.getContent());19 pre.executeUpdate();20 System.out.println("添加成功!");21 }catch(Exception e) {22 System.out.println(e.getMessage());23 }finally{24 DBUtil.close(pre);25 DBUtil.close(con);26 }27 }28

29 }

以上就是全部内容,如果并不能理解博主的方法,可以看一看博主推荐的博客。

word可以直接导入mysql嘛_如何把word文档导入到数据库中——java POI相关推荐

  1. 将excel导入到页面表格_如何将Excel文档导入Google表格

    将excel导入到页面表格 Did someone send you an Excel document, but you don't have Excel? Giving up on Microso ...

  2. ssis导入xml_使用SSIS包将XML文档导入SQL Server表

    ssis导入xml This article guides you through importing XML documents into SQL tables using SSIS package ...

  3. word导入mysql表格_数据插入Word 表格步骤

    数据插入Word 表格步骤 数据插入Word 表格步骤 (1)单击[数据库]工具栏上的[插入数据库]按钮,出现[数 据库]对话框,如图4-33 所示. (2)单击[获取数据]按钮,弹出[选择数据源]对 ...

  4. 将word文档导入数据库_如何将用户信息插入Word文档

    将word文档导入数据库 When you install Word, you are asked to enter your name and initials. This user informa ...

  5. 有道云笔记的word文档导入功能

    网易云笔记可以从word文档导入的方式新建文档, 选择本地word文件后,导入的文档如下图所示: 而下图是我原始的word文档,能发现word文档里的图片没有导入到有道云笔记里. 要获取更多Jerry ...

  6. linux文本文件导入数据库,Linux系统下如何将txt文档导入到数据库mysql的方法教程...

    前段时间做小项目的时候遇到了一个需求:把txt文档的数据导入到mysql数据库中,开始本来想直接用Mysql Workbench导入TXT文件,但是最后发现不支持TXT导入,结果我吧嗒吧嗒的去把TXT ...

  7. 百度编辑器导入word插件,支持带图片文档导入

    Laravel.thinkPHP框架需要先安装PHPword,需要用PHPword扩展将word转化成html.该插件主要由两部分组成:编辑器上传word插件和文档转换功能代码,最重要的是文档转换代码 ...

  8. java修改另存excel_Word文档导入Excel总变形,调整格式你花了1小时,同事三步就搞定...

    在进行文档编辑的时候我们都会用到Word,利用Word完成文档简历的编辑后,为方便文档的管理我们会把对应的简历文档复制粘贴到Excel当中.但是每次将Word内容直接复制到表格中后,我们都需要进行格式 ...

  9. mysql导出设计文档_Mysql导出数据库设计文档

    在word中,利用ODBC驱动源,OFFICE宏来控制报表输出 作者博客地址: 下载工具 工具下载: 链接: 提取码:mhtd 根据Mysql数据库的版本下载想用的驱动源 也可去官网下载: 双击安装O ...

最新文章

  1. [转载]TEQC命令集合
  2. 《VMware Virtual SAN权威指南》一3.10.3 缓存设备与容量设备的比率
  3. c语言有语段不运行,各位C语言的高手,帮忙看下下面两段代码!他们不能运行!急!!!!!!...
  4. log4j 打印线程号配置_Log4J日志整合及配置详解
  5. 详解web容器 - Jetty与Tomcat孰强孰弱
  6. 纯净重装正版win10系统的方法
  7. win7下 Windows Process Activation Service 服务导致的 iis无法启动的解决方法
  8. 利用ESP8266与米思齐从零制作模拟温室大棚--程序篇
  9. [转帖]国产麒麟系统为何饱受争议?
  10. 滑雪问题(dfs+dp)
  11. 【美团 技术篇】美团推荐算法实践
  12. STEP和IGES模型转换为适用Web的glb格式
  13. ahk写入excel单元格_输出excel数据到GUI 获取excel所有Sheet及字段 Autohotkey
  14. C#开发ActiveX控件及指纹采集
  15. 重读《触龙说赵太后》
  16. 消防应急疏散指示系统的应用场景有哪些?
  17. axure7.0下载安装教程
  18. iphone微信小程序底部预留bar安全距离css
  19. python输出两个整数的最大公约数和最小公倍数_编程实现输入两个整数,输出其最大公约数和最小公倍数。...
  20. 计算机科学与技术偏文还是偏理,韶关、惠州学院偏文还是偏理

热门文章

  1. python二级简书_12月4日,总结发现杯,备战python二级
  2. python json dict对象使用_Python中:dict(或对象)与json之间的互相转化
  3. Android 使用ViewPager实现view轮播效果,单个item分页样式,多个item分页样式,横向listview
  4. Android TextView长按复制实现,Android复制文本
  5. 我的mongoose代码备份
  6. JDK1.7和JDK1.8中HashMap是线程不安全的,并发容器ConcurrentHashMap模型
  7. 19 | 散列表(中):如何打造一个工业级水平的散列表?
  8. java基础面试题整理(BAT)
  9. 第13章 程序的动态加载和执行(一,引导)
  10. 链表逆序(JAVA实现)