java-freemarker工具类附件

附件.工具类代码

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.docx4j.Docx4J;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.PresentationMLPackage;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.List;
import java.util.Locale;
import java.util.Map;

/**
 * 功能描述 freemarker工具类
 *
 */
public class FreeMarkerUtil {
   

    private static FreeMarkerUtil instance = new FreeMarkerUtil();
    /**
     * word中文xml模板
     */
    private static final String TEMPLATE_XML_NAME_ZH = "word_zh.ftl";
    /**
     * word英文xml模板
     */
    private static final String TEMPLATE_XML_NAME_EN = "word_en.ftl";

    /**
     * word英文xml模板
     */
    private static final String INSPECTION_TEMPLATE_ZH = "template_zh.ftl";

    /**
     * EXCEL后缀名:xlsx
     */
    private static final String EXCEL_SUFFIX_XLSX = ".xlsx";
    /**
     * EXCEL后缀名:xlsm
     */
    private static final String EXCEL_SUFFIX_XLSM = ".xlsm";
    /**
     * EXCEL后缀名:xls
     */
    private static final String EXCEL_SUFFIX_XLS = ".xls";

    /**
     * 文件后缀名:xml
     */
    private static final String FILE_SUFFIX_XML = ".xml";

    /**
     * 文件后缀名:pptx
     */
    private static final String FILE_SUFFIX_PPTX = ".pptx";

    private FreeMarkerUtil() {
   }

    /**
     * Gets instance.
     *
     * @return the instance
     */
    public static FreeMarkerUtil getInstance() {
   
        return instance;
    }

    /**
     * Gets merge xml.
     *
     * @param isMergeRestartDown 向下合并开始
     * @param isMergeDown 向下合并
     * @return 向下合并XML merge xml
     * @Description 得到向下合并XML
     */
    public String getMergeXml(boolean isMergeRestartDown, boolean isMergeDown) {
   
        if (isMergeRestartDown) {
   
            return FreeMarkerConstants.CELL_MERGE_RESTART;
        }
        if (isMergeDown) {
   
            return FreeMarkerConstants.CELL_MERGE;
        }
        return Constants.NOTHING_STR;
    }

    /**
     * Gets value xml.
     *
     * @param value 单元格值
     * @param isFontBold 字体是否加粗
     * @return 返回XML value xml
     * @Description 得到单元格值XML
     */
    public String getValueXml(String value, boolean isFontBold) {
   
        String fontBold = Constants.NOTHING_STR;
        if (isFontBold) {
   
            fontBold = FreeMarkerConstants.FONT_BOLD;
        }
        return String.format(Locale.ROOT, FreeMarkerConstants.CELL_CONTENT, fontBold, WordUtil.replaceToXmlFlag(value));
    }

    /**
     * Gets cell xml.
     *
     * @param width 列宽
     * @param merge 合并XML
     * @param color 单元格填充色
     * @param valueXml 单元格值XML
     * @return 单元格XML cell xml
     * @Description 得到单元格XML
     */
    public String getCellXml(String width, String merge, String color, String valueXml) {
   
        return String.format(Locale.ROOT, FreeMarkerConstants.TABLE_CELL, width, merge
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值