• 大小: 312KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-01-03
  • 语言: Java
  • 标签: word  excel  pdf  

资源简介

该代码提供了word、excel、pdf三种类型的文档生成方案,其中word文档使用“freemarker + xml + 模板”技术;excel使用“POI + 模板”技术;pdf使用“freemarker + itext + flying saucer”技术

资源截图

代码片段和文件信息

package com.eastop.document;

import java.util.HashMap;
import java.util.Map;

import com.eastop.document.doc.DocGenerator;
import com.eastop.document.utils.DateUtils;
import com.eastop.document.utils.PropertiesUtils;

/**
 * doc格式生成策略
 * 
 * @author DELL
 *
 */
public class DocReportStrategy implements ReportStrategy {

@Override
public String generateReport(object datas) {
// TODO doc文件生成过程

// 1. templatePath
String docTemplatePath = PropertiesUtils.getValue(“doc-template“);

// 2.docPath
String docPath = getDocPath();

// 3.dataModel
Mapject> dataModel = initDataModel(datas);

// 4.生成doc文件
DocGenerator doc = new DocGenerator();
doc.export(docTemplatePath docPath dataModel);

return docPath;
}

/**
 * 处理数据格式,以符合map类型
 * 
 * @param datas
 * @return map类型的数据
 */
@SuppressWarnings(“unchecked“)
private Mapject> initDataModel(object datas) {
Mapject> dataMap = new HashMapject>();
if (datas instanceof Map) {
dataMap = (Mapject>) datas;
} else {
// TODO 作格式转换处理

}
return dataMap;
}

/**
 * 获取doc文档路径
 * 
 * @return
 */
private String getDocPath() {
StringBuilder sb = new StringBuilder();
sb.append(PropertiesUtils.getValue(“baseDir“));// 基路径
sb.append(PropertiesUtils.getValue(“doc-destination“));

String currentDate = DateUtils.formatDate(DateUtils.getDate());
currentDate = currentDate.replaceAll(“-“ “/“);
sb.append(currentDate).append(“/“);

// 文件名
sb.append(System.currentTimeMillis()).append(“.doc“);

return sb.toString();
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1313  2018-05-07 10:45  document-demo\.classpath
     文件        1089  2018-05-07 10:45  document-demo\.project
     目录           0  2018-05-07 10:45  document-demo\.settings\
     文件         639  2018-05-07 10:39  document-demo\.settings\.jsdtscope
     文件          93  2018-05-07 10:45  document-demo\.settings\org.eclipse.core.resources.prefs
     文件         430  2018-05-07 10:45  document-demo\.settings\org.eclipse.jdt.core.prefs
     文件          90  2018-05-07 10:39  document-demo\.settings\org.eclipse.m2e.core.prefs
     文件         764  2018-05-07 10:45  document-demo\.settings\org.eclipse.wst.common.component
     文件         252  2018-05-07 10:45  document-demo\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2018-05-07 10:39  document-demo\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2018-05-07 10:39  document-demo\.settings\org.eclipse.wst.jsdt.ui.superType.name
     文件          50  2018-05-07 10:39  document-demo\.settings\org.eclipse.wst.validation.prefs
     文件        2690  2018-05-07 13:46  document-demo\pom.xml
     目录           0  2018-05-07 10:45  document-demo\src\
     目录           0  2018-05-07 10:45  document-demo\src\main\
     目录           0  2018-05-07 10:45  document-demo\src\main\java\
     目录           0  2018-05-07 10:45  document-demo\src\main\java\com\
     目录           0  2018-05-07 10:45  document-demo\src\main\java\com\eastop\
     目录           0  2018-05-07 11:12  document-demo\src\main\java\com\eastop\document\
     目录           0  2018-05-07 11:12  document-demo\src\main\java\com\eastop\document\constant\
     文件         313  2018-05-07 11:12  document-demo\src\main\java\com\eastop\document\constant\DocumentTypeConsts.java
     目录           0  2018-05-07 10:59  document-demo\src\main\java\com\eastop\document\doc\
     文件         593  2018-05-07 11:02  document-demo\src\main\java\com\eastop\document\doc\DocGenerator.java
     文件        1760  2018-05-07 13:49  document-demo\src\main\java\com\eastop\document\DocReportStrategy.java
     目录           0  2018-05-07 10:59  document-demo\src\main\java\com\eastop\document\excel\
     文件        8340  2018-05-07 11:02  document-demo\src\main\java\com\eastop\document\excel\ExcelGenerator.java
     文件        3602  2018-05-07 14:13  document-demo\src\main\java\com\eastop\document\ExcelReportStrategy.java
     目录           0  2018-05-07 10:59  document-demo\src\main\java\com\eastop\document\pdf\
     文件        4002  2018-05-07 11:02  document-demo\src\main\java\com\eastop\document\pdf\PdfGenerator.java
     文件        1765  2018-05-07 13:48  document-demo\src\main\java\com\eastop\document\PdfReportStrategy.java
     文件         655  2018-05-07 10:59  document-demo\src\main\java\com\eastop\document\ReportContext.java
............此处省略80个文件信息

评论

共有 条评论