java将数据库中文本存储为word

先来描述一下 这个文章要实现什么功能。之前爬取了很多网站内容存储到数据库中 存的是mediumtext格式,然后打算将这些数据库中的文本转为word进行存储。那么首先先将数据库中的内容读取到java中然后进行一个转换生成word,这就是我们将要实现的功能,话不多说上代码。

 

首先要导入POI的相关依赖



    org.apache.poi
    poi
    3.17


    org.apache.poi
    poi-ooxml
    3.17


    org.apache.poi
    ooxml-schemas
    1.1

java将数据库中文本存储为word_第1张图片

/**
 * 测试单个
 */
@Test
@Rollback(false)
@Transactional
public void test005() throws Exception {
    ContractDo contractDo = contractMapper.selectByPrimaryKey("567442992843980800");
    //创建文档对象
    XWPFDocument document= new XWPFDocument();
    //创建行对象
    XWPFParagraph paragraph = null;
    //获取文本内容
    String text = contractDo.getContent();
    //解决文本中的换行问题
    String[] subs = text.split("\n");
    for(String sub:subs){
        paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText(sub);
    }
    String fileName = contractDo.getContractName() + ".docx";
    //创建输出流
    FileOutputStream out = new FileOutputStream(fileName);
    
    document.write(out);
    out.close();
}

java将数据库中文本存储为word_第2张图片

先读取数据库中的文档对象 然后取出你要转成word的部分 我这里是从Do中取得text 重点讲下换行这个word不认\n \r\n这种换行 也在网上查过吧\n换成这种 试过都没啥效果 所以就自己将它拆分一行一行写 总之能解决自己的问题就行。

 

你可能感兴趣的:(java)