精华内容
下载资源
问答
  • Word2016 样式保存

    万次阅读 2016-11-30 16:51:15
    在一个word文件中新建一个样式点击样式管理按钮-->导入/道出弹出“管理器”对话框...局限,保存到Normal.dotm中的样式,只能适用于docx的word文件,而对于97-2003的word格式doc的文件,无法获得Normal.dotm中的格式。并

    1. 在一个word文件中新建一个样式
    2. 点击样式管理按钮-->导入/道出
    3. 弹出“管理器”对话框,左边的样式使当前文件里的,右边的样式位于模板Normal.dotm中,
    4. 找到新建的样式,点击“复制”,这样样式就保存到Normal.dotm中。
    5. 这时,新建一个word文档(docx格式的),就能看到已经保存的样式。
    6. 局限,保存到Normal.dotm中的样式,只能适用于docx的word文件,而对于97-2003的word格式doc的文件,无法获得Normal.dotm中的格式。并且,即使把doc格式另存为docx格式,也不能获得Normal.dotm中的格式。


    展开全文
  • 在使用smartforms打开编辑文本的时候会出现word样式,这样就会出现无法拖拽字段和系统默认信息情况,导致部分功能无法使用 解决方案:通过SE38打开程序RSCPSETEDITOR 将SAPscript和智能表选项取消勾选 ...

    问题描述:SAP ABAP 关于SMARTFORMS编辑时文本默认使用WORD

    在使用smartforms打开编辑文本的时候会出现word样式,这样就会出现无法拖拽字段和系统默认信息情况,导致部分功能无法使用

     


    解决方案:通过SE38打开程序RSCPSETEDITOR

    将SAPscript和智能表选项取消勾选

    这时就可以正常使用系统本身的编辑器了

    提示:这里填写该问题的具体解决方案:
    例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。

    展开全文
  • 最近在做信息填报网站开发,需要将html页面中的表单信息导出为相应的word文档。但是由于我处理的表单中需要使用富文本框上传图片,使用一般的poi无法将富文本框...新建一个word文档,按照想要的格式编制文档样式,并...

           最近在做信息填报网站开发,需要将html页面中的表单信息导出为相应的word文档。但是由于我处理的表单中需要使用富文本框上传图片,使用一般的poi无法将富文本框中的图片导出,因此查看网上多方信息,最终使用freemarker模板加java帮助类完成了富文本框图片的导出。下面详细介绍一下具体步骤。

           一、制作mht模板。新建一个word文档,按照想要的格式编制文档样式,并在需要导出信息的单元格添加占位符,例如想导出联系人信息,就在相应单元格添加${contactPerson}占位符。富文本框编辑的地方也使用占位符替换,例如企业简介信息,使用${enterpriseIntroduction}替换。

                    

                    

           将整个word文档格式调整完成后,转存为单个网页(.mht)格式文件。右击新生成的mht文件,使用word应用打开,查看文件内容是否与刚刚编辑的word文档一致,如果不一致,进行微调后保存。使用文件编辑器(notepad++)打开mht文件则可以查看该网页文件的源码。

          二、对刚刚生成的mht源码进行修改。首先对于普通的文本单元格导出,mht源码中已有相应的占位符${contactPerson},因此不需要进行任何修改,之后在java代码中直接替换为需要导出的字符串即可。

           对于富文本框内容替换,mht源码中也已自动生成相应占位符${enterpriseIntroduciton}。但是,由于我们需要导出富文本框中的图片,因此我们还需要在mht文件中添加辅助占位符。由于mht中的图片采用了base64字符串编码,我们需要添加一个图片base64编码占位符${enterpriseIntroductionIMG},之后在java代码中将这个辅助占位符替换为相应图片的base64编码字符串,一般我会在mht文件中声明header.htm的上面添加该占位符。另外,还需要在mht文件的末尾添加资源引用的占位符${enterpriseIntroductionREF}。如果有多个富文本框,则每个富文本框都对应这三个占位符。

           这样mht模板就已经做好了。保存后,我们就可以编写java代码对于模板文件中的占位符进行操作啦~!      

           三、java编码操作mht文件。我们可以专门建立一个dataUtil类,实现以下函数,便于在多个不同的表单中复用文本导出功能。首先我们需要读取已经设置好的mht模板,并将文件内容作为mht字符串输出。String readIn=readFile(realPath);

    /*读取mht文件到字符串
    	 * 
    	 */
    	    public static String readFile(String filepath) throws IOException{
    	    	StringBuffer buffer=new StringBuffer("");
    	    	BufferedReader br=null;
    	    	
    	    	try {
    	    		br=new BufferedReader(new InputStreamReader(new FileInputStream(filepath),"UTF-8"));
    	    		buffer=new StringBuffer();
    	    		while(br.ready()) {
    	    			buffer.append((char)br.read());
    	    		}
    	    	}catch(Exception e) {
    	    		e.printStackTrace();
    	    	}
    	    	finally {
    	    		if(br!=null) {
    	    			br.close();
    	    		}
    	    	}
    	    	return buffer.toString();
    	    }

           之后,替换mht字符串中设置的占位符。对于普通的文本占位符,使用replace函数,将占位符替换为相应表单中填写的字符串。readIn=readIn.replace("${contactPerson}", contact.getContactPerson());对于富文本框内容,读取前台传输过来的富文本编辑器html源码,截取完整的<img/>标签,将src属性中存储的图片转换为base64字符串。使用html源码替换占位符${enterpriseIntroduction},使用转换好的base64字符串替换${enterpriseIntroductionIMG},使用对应的格式替换文档末尾的${enterpriseIntroductionREF}。以上步骤通过函数addEditorImageEnterpriseIntroduction实现,该函数的第一个参数为富文本编辑器enterpriseIntroduction字段的html源码,第二个参数为读入的mht模板文件字符串,第三个参数为http请求request。readIn=addEditorImageEnterpriseIntroduction(enterpriseIntroduction,readIn,request);

     /*
    	  * 截取富文本编辑器中完整的<img/>标签,并调用方法将其替换为可读取的base64字符串填回富文本编辑器中
    	  * @editorContent 富文本编辑器字符串
    	  * @template 模板字符串
    	  */
    	    public static String addEditorImageEnterpriseIntroduction(String editorContent, String template, HttpServletRequest request) {
    	    	StringBuffer enterpriseIntroduction= new StringBuffer();
    	    	StringBuffer enterpriseIntroductionIMG=new StringBuffer();
    	    	StringBuffer enterpriseIntroductionREF=new StringBuffer();
    	    	if(!"".equals(editorContent)) {
    	    		String[] stringSplit_img=editorContent.split("<img");
    	    		for(int i=0;i<editorContent.split("<img").length;i++) {
    	    			if(i!=0) {
    	    				String[] stringSplit_p=("<img"+stringSplit_img[i]).split("</p>");
    	    				for(int j=0;j<stringSplit_p.length;j++) {
    	    					if(j!=0) {
    	    						enterpriseIntroduction.append("</p>"+stringSplit_p[j]);
    	    					}else {
    	    						//此时stringSplit_p[j]已为完整的<img.../>标签字符串
    	    						//截取图片资源路径
    	    						for(String s:stringSplit_p[j].split(" ")) {
    	    							if(s.startsWith("src=")) {
    	    								s=s.replace("src=\"", "");
    	    								s=s.replace("\"", "");
    	    								//s=s.substring(request.getSession().getServletContext().getContextPath().length());
    	    								//拼出文件路径
    	    								String imagePath=request.getSession().getServletContext().getRealPath(s);
    	    								//调用本类方法将其替换为base64String
    	    								String imageStr=getImageStr(imagePath);
    	    								enterpriseIntroductionIMG.append("\n"
    	    										                         +"\n"
    	    										                         +"------=_NextPart_01D3F735.15BC5DB0"
    	    										                         +"        "
    	    										                         +"\n"
    	    										                         +"Content-Location:file:"
    	    										                         +"///C:/B13469F7/wlw.files/image"
    	    										                         +i
    	    										                         +j
    	    										                         +0
    	    										                         +".jpg"
    	    										                         +"        "
    	    										                         +"\n"
    	    										                         +"Content-Transfer-Encoding: base64"
    	    										                         +"        "
    	    										                         +"\n"
    	    										                         +"Content-Type: image/jpeg"
    	    										                         +"        "+"\n"+"\n"
    	    										                         +imageStr);
    	    								enterpriseIntroduction.append("<!--[if gte vml 1]>"
    	    										                      +"<v:shape id=3D"
    	    										                      + "\"_x56fe_x7247_x0020_50\""
    	    										                      +"o:spid=3D\"_x0000_i1050\""
    	    										                      +"type=3D\"#_x0000_t75\""
    	    										                      +"style=3D\'width:415.2pt;"
    	    										                      +"height:278.4pt;visibility:v="
    	    										                      +"isible;mso-wrap-style:square\'>"
    	    										                      +"<v:imagedata src=3D\"wlw.files/image"
    	    										                      +i
    	    										                      +j
    	    										                      +0
    	    										                      +".jpg\" o:title=3D\"\"/></v:shape>"
    	    										                      +"<![endif]-->");
    	    										enterpriseIntroductionREF.append("\n"
    	    												                         +"\n"
    	    												                         +"<o:File HRef=3D\"image"
    	    												                         +i
    	    												                         +j
    	    												                         +0
    	    												                         +".jpg\"/>");
    	    										
    	    							}
    	    						}
    	    					}
    	    				}
    	    			}else {
    	    				enterpriseIntroduction.append(stringSplit_img[i]);
    	    			}
    	    		}
    	    	}
    	    	template=template.replace("${enterpriseIntroduction}", enterpriseIntroduction.toString());
    	    	template=template.replace("${enterpriseIntroductionIMG}", enterpriseIntroductionIMG.toString());
    	    	template=template.replace("${enterpriseIntroductionREF}", enterpriseIntroductionREF.toString());
    	    	return template;
    	    }

           其中,nextPart和Content-Location处的内容要和mht文件的文件头保持一致,并且三个StringBuffer中jpg的名称必须保持一致。另外,图片转换为base64字符串的方法如下。

    /*
    	     * 将图片转存为base64字符串的方法
    	     * @imagePath 文件存储路径
    	     * 
    	     * */
    	    public static String getImageStr(String imagePath) {
    	    	InputStream in=null;
    	    	byte[] data=null;
    	    	try {
    	    		in =new FileInputStream(imagePath);
    	    		data=new byte[in.available()];
    	    		in.read(data);
    	    		in.close();
    	    	}catch(IOException e) {
    	    		e.printStackTrace();
    	    	}
    	    	BASE64Encoder encoder=new BASE64Encoder();
    	    	return encoder.encode(data);
    	    }

             当完成所有占位符的替换后,需要将mht字符串进行转码。因为mht采用3Dus-ascii编码,该编码格式为10进制的ASCII码(非16进制),如果不进行处理,会导致最终导出的文件中有中文乱码,转换函数如下。

     /*
    	  * 将字符串转换为10进制ASCII码
    	  * 
    	  * */
    	 public static String string2ASCII(String s) {
    		 if(s==null||"".equals(s)) {
    			 return null;
    		 }
    		 char[] chars=s.toCharArray();
    		 StringBuffer asciiString=new StringBuffer();
    		 int n=0;
    		 for(char c:chars) {
    			 n=c;
    			 String a="";
    			 if((19968<=n && n<40623)) {
    				 a="&#"+n+";";
    			 }else {
    				 a=c+"";
    			 }
    			 asciiString.append(a);
    		 }
    		 
    		 return asciiString.toString();
    	 }

            四、将转换好的字符串作为文件输出。

    try { 
            	os = response.getOutputStream();
            	response.reset();
            	response.setCharacterEncoding("utf-8");  
                response.setContentType("application/msword"); // word格式  
                response.setHeader("Content-Disposition", "attachment; filename=" + fileName);  
                byte[] b = readIn.getBytes("UTF-8");
                os.write(b);   
            } catch (FileNotFoundException e) {  
                e.printStackTrace();  
            }finally {  
                if(os != null) { os.flush();os.close();}
            }

             至此,我们完成了富文本编辑器中图片的文档导出。如果表单内有多个富文本框,可以设置多个占位符并分别替换。我在完成此功能的过程中,参考了博文http://blog.sina.com.cn/s/blog_14e8bca5a0102w9qm.html,获得了很大的帮助。根据自己的成功经验,重新梳理了富文本框图片的导出过程,在此与大家分享,希望各路大神批评指正~!

    展开全文
  • 11)导入Word功能升级到V2.0,修正导入后有些样式导入不完全的问题,同时优化了导入word文档时的性能! 12)更新了控件的部分语言资源文件。 13)更新控件可视化配置工具至1.0.3。 2008/10/27 Version 5.0.9 For ...
  • ■修复:因为特殊字符,导致word无法生成Bug ■按需扩展龙悦云收银模块 ■修复:中文无法输入Bug ■扩展:按需优化POS收银代码,增强稳定性,并可记录异常 ■扩展:支持打印份数,与USB打印机 ■按需扩展金赣物联网远程...
  • Windows7下无法拖动网页的一种替代解决方法:手工复制法 修改部分Bug:感谢用户hjbrave、proebc、看雪、绝望的笨蛋等对部分Bug的及时反馈 版本8.0.0更新时间:2009-09-29 新增多项创新功能: 剪贴板:资料整理助手...
  • Windows7下无法拖动网页的一种替代解决方法:手工复制法 修改部分Bug:感谢用户hjbrave、proebc、看雪、绝望的笨蛋等对部分Bug的及时反馈 版本8.0.0更新时间:2009-09-29 新增多项创新功能: 剪贴板:资料整理助手...
  • Windows7下无法拖动网页的一种替代解决方法:手工复制法 修改部分Bug:感谢用户hjbrave、proebc、看雪、绝望的笨蛋等对部分Bug的及时反馈 版本8.0.0更新时间:2009-09-29 新增多项创新功能: 剪贴板:资料整理助手...
  • Excel百宝箱9.0无限制破解版

    热门讨论 2012-02-03 19:05:29
    【修复Excel】:当您的Excel某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复Excel到默认状态 【破解VBA密码】:将VBA编写的且有密码的程序进行破解,瞬间完成 【错误代码查询】:查询VBA...
  • excel 工具箱

    2012-01-22 15:04:34
    【生成2003样式菜单】:Excel 2007或者Excel 2010专用,可以产生2003样式的菜单来调用百宝箱(备用) 【多区域复制】:可以在选择多区域时进行复制 【按颜色筛选】:让Excel 2003也可以按背景色筛选数据,2007或者2010...
  • Excel百宝箱

    2012-10-27 17:09:21
    【修复Excel】:当您的Excel某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复Excel到默认状态 【破解VBA密码】:将VBA编写的且有密码的程序进行破解,瞬间完成 【错误代码查询】:查询VBA...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将工作...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 【系统常用工具】 系统常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 会计理论考试题

    2012-03-07 21:04:40
    C、在桌面上单击右键,再选择“新建”命令产生 D、在“编辑”菜单中选择“复制”命令产生 25.Windows98对话框的____C____是给用户提供输入信息的。 A、列表框 B、复选框 C、文本框 D、数值框 26.在Windows98中,如果...
  • 【修复Excel】:当您的Excel某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复Excel到默认状态 【破解VBA密码】:将VBA编写的且有密码的程序进行破解,瞬间完成 【错误代码查询】:查询...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【生成2003样式菜单】:Excel 2007或者Excel 2010专用,可以产生2003样式的菜单来调用百宝箱(备用) 【多区域复制】:可以在选择多区域时进行复制 【按颜色筛选】:让Excel 2003也可以按背景色筛选数据,2007或者2010...
  • CuteEditor v 6.6 含KeyGen注册机

    热门讨论 2010-05-31 00:37:45
    我们在vs2005里面新建个web site吧.然后把CuteEditor添加到工具面板.我们在工具面板里面右键选择choose item,在出来的对话框里面选择browser,找到CuteEditor.dll,一路确定就可以拉. 我们再添加个edit.asxp,把...
  • 修改高级表格支持库,解决在鼠标按下和抬起之间收到时钟周期事件的情况下,无法收到“被单击”事件的BUG。 3. 修改扩展界面支持库三,解决单击卷帘菜单后导致日期框不能弹出下拉窗口的BUG。 4. 修改XP风格支持库...
  • 后来看到一个插 件:txtBrowser,它可以高亮文本文件,而且可以像Word一样将标题大纲显示,这样很方便定位与阅读,这个插件还有很多其他功能,Vimer们 可以试试,而且是国人写的哦,中文帮助文档呢。呵呵。 也许是...
  • 易语言 茶凉专用模块

    2010-05-04 12:26:36
    模块名称:茶凉专用模块 作者:茶凉 版本:2.0 本模块可以编程更简单,仅仅用核心支持库编写。 @备注: ...官方QQ群:92716369 ------------------------ -------------------------- ...------------------------------ ...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

word无法新建样式