日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2023/12/10 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 word可以直接导入mysql嘛_如何把word文档导入到数据库中——java POI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文方法借鑒于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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。