精华内容
下载资源
问答
  • 当进程创建一个新的线程时,系统会查看进程地址空间中所有的DLL文件映射,之后用DLL_THREAD_ATTACH来调用DLL中的DllMain函数。要注意的是,系统不会进程的主线程使用值DLL_THREAD_ATTACH来调用DLL中的DllMain函数...
  • (1) 利用SQL Server Management Studio创建一个名为employees的数据库。该数据库的主数据库文件逻辑名称为employees,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为employees_log...
  • Octavo v 1.0 ... 作为一名,我想要种在Markdown中编写统计研讨会手册的方法(在Latex中没有所有繁琐的事情),让我的计算机生成多版本,插入常用文本,以及生成诸如APA样式的“参考”部分。 并处理方程
  • 一个简单的例子,复杂用法见docx4j官网例子NumberingRestart.java。  要实现的效果:  步骤一:  将目标文件docx后缀修改.zip,解压后寻找numbering.xml文件  步骤二:  将numbering.xml文件内容贴到...

            一个简单的例子,复杂用法见docx4j官网例子NumberingRestart.java。

            要实现的效果:

           

            步骤一:

            将目标文件docx后缀名修改为.zip,解压后寻找numbering.xml文件

            

          步骤二:

          将numbering.xml文件内容贴到代码中

     

          步骤三:

          打开docx4j自带例子src\samples\docx4j\org\docx4j\samples\NumberingRestart.java,稍微修改下代码就可以了。

         

     
          全文完。
     

          

    展开全文
  • 上海电子信息职业技术学院 通信与信息工程学院软件技术系 网页制作课程任务单 姓 学 号 班级 成绩 学习情景编号... 能够利用HTML创建表单对象 任务实施步骤 1在网站中新建一个子页 以玩具公司网站创建职位详情子
  • C++ MFC 做 个 时 钟 显 示软件 精品文档 精品文档 收集于网络如有侵权请联系管理员删除 收集于网络如有侵权请...第一启动Visual C++ 6.0 创建一个单文档应用程序工程名为 Clock 第二 打开ClassWizard对话框为CClockVie
  • 创建一个docx文档模板,其中的英文是根据自己需要填充的内容。2.把docx文档修改为ZIP格式(修改.docx后缀名为.zip),然后把zip解压到当前目录3.修改word目录下document.xml文档,把如下原来是time改为${time},改好后...

    具体思路

    1.创建一个docx文档模板,其中的英文是根据自己需要填充的内容。

    033eb1a8852f8f2c400aec59effa9642.png

    2.把docx文档修改为ZIP格式(修改.docx后缀名为.zip),然后把zip解压到当前目录

    ff8e560c598ff91a25cd325cbe4d92c2.png

    3.修改word目录下document.xml文档,把如下原来是time改为${time},改好后放入项目中,用于后边内容填充。【有时候一个单词可能会被拆分,自己要做相应的调整】

    5d1385250c2f0c38eb97b61afb0261cc.png

    #list>  可用于循环填充,相当于 for (Minute minte:minuteList),示列如下:

    ${minute.meeting_decision_content}

    交由

    ${minute.meeting_decision_executor}

    负责,在

    ${minute.meeting_decision_deadline}

    前完成。

    #list>

    ---------下边思路在代码中实现------------

    4..把内容填充到document.xml里

    5.在输入docx文档的时候把填充过内容的的 document.xml用流的方式写入zip(详见下面代码)。

    6.输出docx文档

    docx模板修改成zip格式后的信息如下(因为word文档本身就是ZIP格式实现的)

    注:【在文档里边加入图片须进行rels文档的相关操作,我这里没用到,如有需要可以查看上边的参考链接】

    ---------代码部分------------

    pom中导入依赖:

    org.freemarker

    freemarker

    项目结构:【箭头指向才是用到的,其他部分的测试目前没有删】

    933b6cbd983951014c2bae619793853a.png

    FreeMarkUtils类

    importfreemarker.template.Configuration;importfreemarker.template.Template;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.io.ByteArrayInputStream;importjava.io.StringWriter;importjava.util.Map;public classFreeMarkUtils {private static Logger logger = LoggerFactory.getLogger(FreeMarkUtils.class);public staticConfiguration getConfiguration(){//创建配置实例

    Configuration configuration = newConfiguration(Configuration.VERSION_2_3_28);//设置编码

    configuration.setDefaultEncoding("utf-8");

    configuration.setClassForTemplateLoading(FreeMarkUtils.class, "/templates/wordTemplates");//换成自己对应的目录returnconfiguration;

    }/*** 获取模板字符串输入流

    *@paramdataMap 参数

    *@paramtemplateName 模板名称

    *@return

    */

    public staticByteArrayInputStream getFreemarkerContentInputStream(Map dataMap, String templateName) {

    ByteArrayInputStream in= null;try{//获取模板

    Template template =getConfiguration().getTemplate(templateName);

    StringWriter swriter= newStringWriter();//生成文件

    template.process(dataMap, swriter);

    in= new ByteArrayInputStream(swriter.toString().getBytes("utf-8"));//这里一定要设置utf-8编码 否则导出的word中中文会是乱码

    } catch(Exception e) {

    logger.error("模板生成错误!");

    }returnin;

    }

    }

    FreemarkerTest类

    importcom.example.meeting.util.FreeMarkUtils;import java.io.*;import java.util.*;importjava.util.zip.ZipEntry;importjava.util.zip.ZipFile;importjava.util.zip.ZipOutputStream;public classFreemarkerTest {private static String document="document.xml";//outputStream 输出流可以自己定义 浏览器或者文件输出流

    public static voidcreateDocx(Map dataMap, OutputStream outputStream) {

    ZipOutputStream zipout= null;try{/*//图片配置文件模板

    ByteArrayInputStream documentXmlRelsInput = FreeMarkUtils.getFreemarkerContentInputStream(dataMap, documentXmlRels);*/

    //内容模板

    ByteArrayInputStream documentInput =FreeMarkUtils.getFreemarkerContentInputStream(dataMap, document);//最初设计的模板//File docxFile = new File(WordUtils.class.getClassLoader().getResource(template).getPath());

    File docxFile = new File("xxxx\\会议纪要.zip");//换成自己的zip路径if (!docxFile.exists()) {

    docxFile.createNewFile();

    }

    ZipFile zipFile= newZipFile(docxFile);

    Enumeration extends ZipEntry> zipEntrys =zipFile.entries();

    zipout= newZipOutputStream(outputStream);//开始覆盖文档------------------

    int len = -1;byte[] buffer = new byte[1024];while(zipEntrys.hasMoreElements()) {

    ZipEntry next=zipEntrys.nextElement();

    InputStream is=zipFile.getInputStream(next);if (next.toString().indexOf("media") < 0) {

    zipout.putNextEntry(newZipEntry(next.getName()));if ("word/document.xml".equals(next.getName())) {//如果是word/document.xml由我们输入

    if (documentInput != null) {while ((len = documentInput.read(buffer)) != -1) {

    zipout.write(buffer,0, len);

    }

    documentInput.close();

    }

    }else{while ((len = is.read(buffer)) != -1) {

    zipout.write(buffer,0, len);

    }

    is.close();

    }

    }

    }

    }catch(Exception e) {

    System.out.println("word导出失败:"+e.getStackTrace());//logger.error();

    }finally{if(zipout!=null){try{

    zipout.close();

    }catch(IOException e) {

    System.out.println("io异常");

    }

    }if(outputStream!=null){try{

    outputStream.close();

    }catch(IOException e) {

    System.out.println("io异常");

    }

    }

    }

    }public static voidmain(String arg[]){

    Map dataMap=newHashMap();

    ArrayList minuteList=newArrayList();

    MinuteTest minuteTest1=newMinuteTest();

    minuteTest1.setMeeting_decision_content("决策1");

    minuteTest1.setMeeting_decision_executor("执行者1");

    minuteTest1.setMeeting_decision_deadline("截至日期1");

    minuteList.add(minuteTest1);

    MinuteTest minuteTest2=newMinuteTest();

    minuteTest2.setMeeting_decision_content("决策2");

    minuteTest2.setMeeting_decision_executor("执行者2");

    minuteTest2.setMeeting_decision_deadline("截至日期2");

    minuteList.add(minuteTest2);

    dataMap.put("meeting_name", "如何使象牙山发展得更加美好");

    dataMap.put("time", "2019-09-15 15:30");

    dataMap.put("site", "会议室212");

    dataMap.put("organizer", "张三");

    dataMap.put("department", "策划部");

    dataMap.put("attendee", "谢大脚、谢广坤、刘能");

    dataMap.put("meeting_content", "关于象牙山发展中的每个人的义务");

    dataMap.put("recorder", "王五");

    dataMap.put("checker", "大老板");

    dataMap.put("minuteList",minuteList);//指定输出docx路径

    File outFile = new File("xxx\\test.docx") ;try{

    createDocx(dataMap,newFileOutputStream(outFile));

    }catch(FileNotFoundException e) {

    e.printStackTrace();

    }

    }

    }

    MinuteTest实体类

    public classMinuteTest {privateString meeting_decision_content;privateString meeting_decision_executor;privateString meeting_decision_deadline;publicString getMeeting_decision_content() {returnmeeting_decision_content;

    }public voidsetMeeting_decision_content(String meeting_decision_content) {this.meeting_decision_content =meeting_decision_content;

    }publicString getMeeting_decision_executor() {returnmeeting_decision_executor;

    }public voidsetMeeting_decision_executor(String meeting_decision_executor) {this.meeting_decision_executor =meeting_decision_executor;

    }publicString getMeeting_decision_deadline() {returnmeeting_decision_deadline;

    }public voidsetMeeting_decision_deadline(String meeting_decision_deadline) {this.meeting_decision_deadline =meeting_decision_deadline;

    }

    }

    在FreemarkerTest中运行后结果:

    68c2b4b736ae1a77b09edd3d69ba9fe8.png

    展开全文
  • 一 1题目 设计一个 Stock 的类这个类包括 一个名为 symbol 的字符串数据域表示股票代码 一个名为 ...currentPrice 的 double 型数据域它存储的是当时的股票值 创建一支有特定代码和名字的股票的构造方法 一个名为 getC
  • Scala样例类练习.docx

    2020-04-03 09:20:21
    1创建一个demo1的单例,在demo1中创建一个样例类名字student1,成员变量name:String, age:Int 创建主方法实例化student,并传参数(“xiaoming”,20),打印输出student1对象到控制台 创建一个demo2的单例,在...
  • 这几天,我创造了一个easguihel.docx: buttonbox diropenbox fileopenbox filesavebox textbox ynbox ...它自动创建一个名为~$sguihel.docx的不可读文件。 我是小白,求高手领教!!!
  • 实验计算器.docx

    2020-03-11 19:08:33
    1.新建Qt工程,项目名称为MyCal,类名为MainWindow,基类为QMainWindow。 2.完成项目创建后,在类中定义按钮,文本框等控件,具体代码如下: 【实验4-2】计算器功能实现 知识点回顾  Qt事件(键盘,鼠标事件)...
  • 数据库课后习题2.docx

    2020-11-07 03:37:54
    实训二创建数据库及对数据库进行...二上机作业操作并截图完成实训报告记录 1 在D盘创建一个自己中文名字的文件夹用于存放下面创建的数据库 2 使用向导的方法创建一个联系人管理数据库要求显示样式设置混合, 打印表样
  • 注意点:使用的文档模板office word生成的,不要用wps ...1.生成xml文档模板,创建一个docx文件然后将后缀zip(其实docx文档实际上是一个压缩文件,是可以解压出来的) 将document.xml解压出...

    需要用到的jar包 链接:https://pan.baidu.com/s/1tTW0qJ2sjCZ881dUTXlBUA 密码:4oes

    注意点:使用的文档模板为office word生成的,不要用wps

    一.生成doc文档

    1.生成xml文档模板,创建一个docx文件然后将后缀名改为zip(其实docx文档实际上是一个压缩文件,是可以解压出来的)

    将document.xml解压出来,用notepad打开,语言选择xml(我也不知道为啥弄出来是一坨,改成xml还好看一点),可以在里面找到我们刚才的那三个参数,可以看到age缺少右括号,原因是被其他的代码冲散了将后面的那个括号剪切过来就好了

    放到该目录下

    前期准备工作好了,开始贴代码

    1.把内容填充到xml

    
    public  void createDoc(){
            //下面两个参数是调用report.ftl文件的
    	    public  Configuration configuration = null;
    	    private  Map<String, Template> allTemplates = null;
    			configuration = new Configuration();
    			configuration.setDefaultEncoding("utf-8");
    			configuration.setClassForTemplateLoading(ReportService.class, "D://report");
    			allTemplates = new HashMap<String,Template>();
    			try {
    				allTemplates.put("document", configuration.getTemplate("document.xml"));
    			} catch (IOException e) {
    				// TODO: handle exception
    				e.printStackTrace();
    				throw new RuntimeException(e);
    			}
    			String name = "temp"+(int)(Math.random()*100000)+".doc";
    			File f = new File(name);
    			Template t  = allTemplates.get("document");
    			//文件中替换的字段
    			Map<String,String> dataMap = new HashMap<String, String>();
    			dataMap.put("name", "张三");
    			dataMap.put("sex", "男");
    			dataMap.put("age", "老大不小了");
    			Writer w;
    			try {
    				w = new OutputStreamWriter(new FileOutputStream(f),"utf-8");
    				t.process(dataMap, w);
    				w.close();
    			} catch (UnsupportedEncodingException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (FileNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}catch (TemplateException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			
    		} 

     

     

    展开全文
  • 使用文档 python-docx 可用来创建新文档和修改现有文档。 打开文档 最简单的开始就是打开新...这段代码创建一个内置默认的新文档,并直接保存到名为 “test.docx" 的文件中。所谓的 默认模板 实际上只是一个没有内...

    使用文档

    python-docx 可用来创建新文档和修改现有文档。

    打开文档

    最简单的开始就是打开新文档,不用指定文件。

    from docx import Document
    document = Document()
    document.save('test.docx')
    

    这段代码创建了一个内置默认的新文档,并直接保存到名为 “test.docx" 的文件中。所谓的 默认模板 实际上只是一个没有内容的 Word 文件,该文件在 python-docx 库文件夹中。与 Word 的新建文档差不多。

    打开真实的文件

    from docx import Document
    document = Document('现有文档.docx')
    document.save('新文件名.docx')
    

    注意:

    • 这种方式可以打开 Word 2007 或更高版本的 .docx 文件( Word 2003 及更早版本的 .doc 文件将不起作用)。注意,并不是所有的 .docx 文档的内容都被封装,如注脚等;不过我们也可以通过操作其 xml 文件来修改这些内容。
    • 当我们打开并以同一个文件名保存文件时,python-docx 会覆盖未被打开的同名文件。注意,保存的目标文件不能被其它程序打开。

    打开 文件类 文档

    python-docx 可以打开 文件类 对象作为文档。它还能保存到 文件类 对象。当我们想通过网络连接或数据库获取源文档或目标文档,并且不与文件系统进行交互时,这就很方便。实际止,我们可以传递 打开的文件 或 StringIO /BytesIO 流对象来打开或保存文档,如下所示:

    from docx import Document
    from io import StringIO
    
    
    f = open('foobar.docx', 'rb')
    document = Document(f)
    f.close()
    # 或
    
    with open('foobar.docx', 'rb') as f:
        source_stream = StringIO(f.read())
    document = Document(source_stream)
    source_stream.close()
    ...
    target_stream = StringIO()
    document.save(target_stream)
    

    并不是所有操作系统都需要 ‘rb’ 文件打开模式参数。它默认是 ‘r’ ,这有时就可以了,但 Windows 和 少数版本的 Linux 上要求使用 ‘b’ (二进制模式)才能允许 Zipfile 打开文件。
    到目前为止,我们已经学会打开和保存文档了。下一步是从打开的文档中获取一些内容…

    展开全文
  • 理解word2007的.docx格式

    2009-12-09 10:47:00
    Word 2007的.docx格式本身并不使用XML格式,相反,文档会自动保存xml格式,但文件并未直接保存于硬盘中,而是改保存在一个ZIP文件中,取扩展名字.docx .docm .dotm 或.dotx验证上述内容:可以创建一个word ...
  • 请将操作结果用Alt+Print Screen组合键截图粘贴在题目之后 2实验完成后请将实验报告保存并提交 三实验内容 1文件或文件夹的管理提示此题自行操作一遍即可无需抓图期末机试必考题 (1) 在D盘根目录上创建一个名为上机...
  • 首先您需要从Moodle下载作业3数据库并将其安装到本地主机上实用7零件(a)和(b)提供关于如何安装XAMP的信息我们的服务器端开发环境然后安装数据库成功导入数据库之后您将拥有一个名为classicmodels的数据库您将在本次...
  • Linux 复习题 一填空题 1在 linux 中第一个 IDE 接口的硬盘的第一个逻辑分区表示 HDA5 2linux 系统是出自 芬兰 国家赫尔辛基大学的学生 Linus Torvalds 之手 3在创建 swap 分区一般设置物理内存的容量的 1-2 倍...
  • 1. 创建一个名为lili的用户,并作为 student用户组的成员,将lili用户改为luey,查看/etc/passwd文件 的最后一行。(3分) 2.查看用户lucy的主目录,并将其改为/home/lucy,锁定luey用户,查看/etc/ shadow文件,解锁lucy...
  • 创建一个简单的 PL/SQL 程序块 编写一个程序块 ,从 emp 表中显示名为 SMITH 的雇员的薪水和职位 declare v_emp emp%rowtype; begin select * into v_emp from emp where ename='SMITH; dbms_output.put_line' 员工的...
  • 期末复习试题二 程序题 1编写程序创建Point类要求如下1double类型的数据域x和y分别表示点的坐标2xy的get和set方法3一个无参构造方法4一个创建点对象同时指定x和y坐标的有参的构造方法5一个名为distance(Point p)的...
  • 4.2选择Creat File,创建一个新的激励测试文件。输入激励测试文件名,点击OK,然后点击Finish。 4.3弹出module端口定义对话框,由于此处是激励文件,不需要有对外的接口,所以空。点击OK,空白的激励测试文件...
  • Classes and Data Abstraction 类和数据抽象 class 声明 Access Authority (访问权限) public对外接口...即对象成员变量赋初始值 不能有返回类型 一般情况下只有一个构造函数被调用 可以设定初始值也可以不设定这个就
  • 存储过程的简介 我们常用的操作数据库...用户通过指定存储过程的名字并给定参数 如果该存储过程带有参数来调用执行它该文档文档投稿赚钱网作品版权所有违责必纠 一个存储过程是一个可编程的函数它在数据库中创建并保
  • SQL Server数据库操作 1创建数据库 操作1.1创建一个test数据库其主数据文件逻辑名test_data物理文件名test_data.mdf初始大小10MB最大尺寸为无限大增长速度1MB数据库日志文件逻辑名称为test_log物理文件名为test_log....
  • 编号 LNJD-PR08-RE33 班 级 学 号 姓 辽宁机电职业技术学院 2016 2017 学年第 一 学期期末考试题 装 ...A BC 程序源码的格式要符合 Java 语法书写规范 2 自行创建一个空白文件夹命名形式班级 _学号 _ 姓名例如 G15
  • 烟台南山学院 2013 2014 学年第二学期期末考试 SSH ...请用 Struts 2 框架设计一个简单的登录程序主要要求如下 60 分 1建立 web project 项目名字统一定 struts_login 5 分 2 ) 创建登录主界面 login.jsp 当用户点
  • VS2010 C#winform程序打包发布图解 1新建一个Windows窗体应用程序例如项目名为monitor功能略新建的时候不要忘了创建解决方案 2在monitor解决方案上右击 添加新建项目选择其他类型项目安装和部署安装项目并命名为...
  • 数字孪生,英文名为DigitalTwin(数字双胞胎),简单而言,便是在一个设备或系统的基础上,创建一个数字版的“克隆体”。而本文将为大家着重介绍数字孪生的技术框架及其在智慧交通领域的应用。
  • Windows XP应用基础期中考试上机操作试题 每题10分共100分考试时间为45分钟 在你考试所用的计算机上创建一个新用户用户名为乡宁职中创建完用户后为该用户设置密码密码为007密码提示为特工同时更改图片为足球 设置...

空空如也

空空如也

1 2 3 4
收藏数 80
精华内容 32
关键字:

创建一个名为docx