java导出word

 public String interviewBriefingWord(QueryInterviewBriefing interviewBriefing) {
        SimpleDateFormat sdateformat = new SimpleDateFormat("yyyyMMddHHmmss");
        String picName = sdateformat.format(new Date());
        String fileName = AppSettings.PicRootPath + File.separator + "TemporaryFile" + File.separator + picName + ".doc";
        String urldizhi = "";

        try {
            // 新建一个 Word 文档
            XWPFDocument doc = new XWPFDocument();
            urldizhi = AppSettings.UploadingPort + "File/TemporaryFile/" + URLEncoder.encode(picName + ".doc", "UTF-8");

            String title = "表头";
            setText(doc, title, true, 0, 12, ParagraphAlignment.CENTER, ConstData.black);
            doc.createParagraph();
            String distribution = "文本1";
            setText(doc, distribution, true, 0, 12, ParagraphAlignment.LEFT, ConstData.black);
            doc.createParagraph();//换行
            String theFirstParagraph = "文本2";
            setText(doc, theFirstParagraph, false, 0, 12, ParagraphAlignment.LEFT, ConstData.black);

            FileOutputStream out = new FileOutputStream(fileName);
            doc.write(out);
            out.close();
            System.out.println("Word 报告已经创建成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("创建 Word 报告出现错误:" + e.getMessage());
        }
        return urldizhi;
    }
    /// <summary>
    /// 设置文本
    /// </summary>
    /// <param name="doc"></param>
    /// <param name="txt">文本内容</param>
    /// <param name="isBold">是否加粗</param>
    /// <param name="spacerowcount">空行数量</param>
    /// <param name="fontsize">文本大小</param>
    /// <param name="alignment">对齐方式</param>
    private void setText(XWPFDocument doc, String txt, boolean isBold, int spacerowcount, int fontsize, ParagraphAlignment alignment, String color) {
        XWPFParagraph p = doc.createParagraph();
        p.setAlignment(alignment); //段落对其方式为居中

        XWPFRun r = p.createRun();
        r.setFontSize(fontsize);
        r.setBold(isBold);
        if (!StringUtil.isEmpty(color)) r.setColor(color);
        r.setText(txt);

        for (int i = 0; i < spacerowcount; i++) {
            doc.createParagraph();
        }
    }

 

posted @ 2025-03-03 13:20  微_醺  阅读(36)  评论(0)    收藏  举报