zoukankan      html  css  js  c++  java
  • velocity模板技术生成word文档

    本文介绍採用velocity技术在Java中生成word文档的方法。

    1、新建一个word文档,编辑内容例如以下:


    2、将上述word文档另存为htm格式的文件



    3、新建一个Java Project项目velocityTest,增加Velocity所依赖的Jar包velocity-dep-1.5-beta2.jar。

    4、在src文件夹下新建一个velocity.vm文件,将第二步生成的velocity.htm用文本编辑器打开,复制内容到velocity.vm中。内容例如以下:

    <html xmlns:v="urn:schemas-microsoft-com:vml"
    xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:w="urn:schemas-microsoft-com:office:word"
    xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
    xmlns="http://www.w3.org/TR/REC-html40">
    
    <head>
    <meta http-equiv=Content-Type content="text/html; charset=utf-8">
    <meta name=ProgId content=Word.Document>
    <meta name=Generator content="Microsoft Word 12">
    <meta name=Originator content="Microsoft Word 12">
    <link rel=File-List href="velocity.files/filelist.xml">
    <!--[if gte mso 9]><xml>
     <o:DocumentProperties>
      <o:Author></o:Author>
      <o:LastAuthor></o:LastAuthor>
      <o:Revision>2</o:Revision>
      <o:TotalTime>3</o:TotalTime>
      <o:Created>2014-06-06T03:45:00Z</o:Created>
      <o:LastSaved>2014-06-06T03:45:00Z</o:LastSaved>
      <o:Pages>1</o:Pages>
      <o:Words>4</o:Words>
      <o:Characters>28</o:Characters>
      <o:Company>Microsoft</o:Company>
      <o:Lines>1</o:Lines>
      <o:Paragraphs>1</o:Paragraphs>
      <o:CharactersWithSpaces>31</o:CharactersWithSpaces>
      <o:Version>12.00</o:Version>
     </o:DocumentProperties>
    </xml><![endif]-->
    <link rel=themeData href="velocity.files/themedata.thmx">
    <link rel=colorSchemeMapping href="velocity.files/colorschememapping.xml">
    <!--[if gte mso 9]><xml>
     <w:WordDocument>
      <w:SpellingState>Clean</w:SpellingState>
      <w:GrammarState>Clean</w:GrammarState>
      <w:TrackMoves>false</w:TrackMoves>
      <w:TrackFormatting/>
      <w:PunctuationKerning/>
      <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
      <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
      <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
      <w:ValidateAgainstSchemas/>
      <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
      <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
      <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
      <w:DoNotPromoteQF/>
      <w:LidThemeOther>EN-US</w:LidThemeOther>
      <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
      <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
      <w:Compatibility>
       <w:SpaceForUL/>
       <w:BalanceSingleByteDoubleByteWidth/>
       <w:DoNotLeaveBackslashAlone/>
       <w:ULTrailSpace/>
       <w:DoNotExpandShiftReturn/>
       <w:AdjustLineHeightInTable/>
       <w:BreakWrappedTables/>
       <w:SnapToGridInCell/>
       <w:WrapTextWithPunct/>
       <w:UseAsianBreakRules/>
       <w:DontGrowAutofit/>
       <w:DontUseIndentAsNumberingTabStop/>
       <w:FELineBreak11/>
       <w:WW11IndentRules/>
       <w:DontAutofitConstrainedTables/>
       <w:AutofitLikeWW11/>
       <w:HangulWidthLikeWW11/>
       <w:UseNormalStyleForList/>
       <w:UseFELayout/>
      </w:Compatibility>
      <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
      <m:mathPr>
       <m:mathFont m:val="Cambria Math"/>
       <m:brkBin m:val="before"/>
       <m:brkBinSub m:val="--"/>
       <m:smallFrac m:val="off"/>
       <m:dispDef/>
       <m:lMargin m:val="0"/>
       <m:rMargin m:val="0"/>
       <m:defJc m:val="centerGroup"/>
       <m:wrapIndent m:val="1440"/>
       <m:intLim m:val="subSup"/>
       <m:naryLim m:val="undOvr"/>
      </m:mathPr></w:WordDocument>
    </xml><![endif]--><!--[if gte mso 9]><xml>
     <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
      DefSemiHidden="true" DefQFormat="false" DefPriority="99"
      LatentStyleCount="267">
      <w:LsdException Locked="false" Priority="0" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
      <w:LsdException Locked="false" Priority="9" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
      <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
      <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
      <w:LsdException Locked="false" Priority="10" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Title"/>
      <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
      <w:LsdException Locked="false" Priority="11" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
      <w:LsdException Locked="false" Priority="22" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
      <w:LsdException Locked="false" Priority="20" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
      <w:LsdException Locked="false" Priority="59" SemiHidden="false"
       UnhideWhenUsed="false" Name="Table Grid"/>
      <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
      <w:LsdException Locked="false" Priority="1" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 1"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
      <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
      <w:LsdException Locked="false" Priority="34" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
      <w:LsdException Locked="false" Priority="29" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
      <w:LsdException Locked="false" Priority="30" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 1"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 2"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 2"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 3"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 3"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 4"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 4"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 5"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 5"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
      <w:LsdException Locked="false" Priority="60" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
      <w:LsdException Locked="false" Priority="61" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light List Accent 6"/>
      <w:LsdException Locked="false" Priority="62" SemiHidden="false"
       UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
      <w:LsdException Locked="false" Priority="63" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
      <w:LsdException Locked="false" Priority="64" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
      <w:LsdException Locked="false" Priority="65" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
      <w:LsdException Locked="false" Priority="66" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
      <w:LsdException Locked="false" Priority="67" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
      <w:LsdException Locked="false" Priority="68" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
      <w:LsdException Locked="false" Priority="69" SemiHidden="false"
       UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
      <w:LsdException Locked="false" Priority="70" SemiHidden="false"
       UnhideWhenUsed="false" Name="Dark List Accent 6"/>
      <w:LsdException Locked="false" Priority="71" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
      <w:LsdException Locked="false" Priority="72" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
      <w:LsdException Locked="false" Priority="73" SemiHidden="false"
       UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
      <w:LsdException Locked="false" Priority="19" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
      <w:LsdException Locked="false" Priority="21" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
      <w:LsdException Locked="false" Priority="31" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
      <w:LsdException Locked="false" Priority="32" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
      <w:LsdException Locked="false" Priority="33" SemiHidden="false"
       UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
      <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
      <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
     </w:LatentStyles>
    </xml><![endif]-->
    <style>
    <!--
     /* Font Definitions */
     @font-face
    	{font-family:宋体;
    	panose-1:2 1 6 0 3 1 1 1 1 1;
    	mso-font-alt:SimSun;
    	mso-font-charset:134;
    	mso-generic-font-family:auto;
    	mso-font-pitch:variable;
    	mso-font-signature:3 680460288 22 0 262145 0;}
    @font-face
    	{font-family:"Cambria Math";
    	panose-1:2 4 5 3 5 4 6 3 2 4;
    	mso-font-charset:0;
    	mso-generic-font-family:roman;
    	mso-font-pitch:variable;
    	mso-font-signature:-536870145 1107305727 0 0 415 0;}
    @font-face
    	{font-family:Calibri;
    	panose-1:2 15 5 2 2 2 4 3 2 4;
    	mso-font-charset:0;
    	mso-generic-font-family:swiss;
    	mso-font-pitch:variable;
    	mso-font-signature:-536870145 1073786111 1 0 415 0;}
    @font-face
    	{font-family:"@宋体";
    	panose-1:2 1 6 0 3 1 1 1 1 1;
    	mso-font-charset:134;
    	mso-generic-font-family:auto;
    	mso-font-pitch:variable;
    	mso-font-signature:3 680460288 22 0 262145 0;}
     /* Style Definitions */
     p.MsoNormal, li.MsoNormal, div.MsoNormal
    	{mso-style-unhide:no;
    	mso-style-qformat:yes;
    	mso-style-parent:"";
    	margin:0cm;
    	margin-bottom:.0001pt;
    	text-align:justify;
    	text-justify:inter-ideograph;
    	mso-pagination:none;
    	font-size:10.5pt;
    	mso-bidi-font-size:11.0pt;
    	font-family:"Calibri","sans-serif";
    	mso-fareast-font-family:宋体;
    	mso-bidi-font-family:"Times New Roman";
    	mso-font-kerning:1.0pt;}
    .MsoChpDefault
    	{mso-style-type:export-only;
    	mso-default-props:yes;
    	mso-ascii-font-family:Calibri;
    	mso-fareast-font-family:宋体;
    	mso-hansi-font-family:Calibri;}
     /* Page Definitions */
     @page
    	{mso-page-border-surround-header:no;
    	mso-page-border-surround-footer:no;}
    @page WordSection1
    	{size:595.3pt 841.9pt;
    	margin:72.0pt 90.0pt 72.0pt 90.0pt;
    	mso-header-margin:42.55pt;
    	mso-footer-margin:49.6pt;
    	mso-paper-source:0;
    	layout-grid:15.6pt;}
    div.WordSection1
    	{page:WordSection1;}
    -->
    </style>
    <!--[if gte mso 10]>
    <style>
     /* Style Definitions */
     table.MsoNormalTable
    	{mso-style-name:普通表格;
    	mso-tstyle-rowband-size:0;
    	mso-tstyle-colband-size:0;
    	mso-style-noshow:yes;
    	mso-style-priority:99;
    	mso-style-qformat:yes;
    	mso-style-parent:"";
    	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
    	mso-para-margin:0cm;
    	mso-para-margin-bottom:.0001pt;
    	mso-pagination:widow-orphan;
    	font-size:10.0pt;
    	font-family:"Calibri","sans-serif";}
    </style>
    <![endif]--><!--[if gte mso 9]><xml>
     <o:shapedefaults v:ext="edit" spidmax="2050"/>
    </xml><![endif]--><!--[if gte mso 9]><xml>
     <o:shapelayout v:ext="edit">
      <o:idmap v:ext="edit" data="1"/>
     </o:shapelayout></xml><![endif]-->
    </head>
    
    <body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'>
    
    <div class=WordSection1 style='layout-grid:15.6pt'>
    
    <p class=MsoNormal align=center style='text-align:center'><span lang=EN-US
    style='font-size:24.0pt'>Velocity</span><span style='font-size:24.0pt;
    font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri'>模版技术</span><span
    lang=EN-US style='font-size:24.0pt'><o:p></o:p></span></p>
    
    <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
    
    <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
    
    <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;
    mso-hansi-font-family:Calibri'>这是固定部分</span></p>
    
    <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
    
    <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;
    mso-hansi-font-family:Calibri'>姓名</span><span lang=EN-US>:$!{name}</span></p>
    
    <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
    
    <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;
    mso-hansi-font-family:Calibri'>性别</span><span lang=EN-US>:$!{sex}</span></p>
    
    </div>
    
    </body>
    
    </html>
    

    5、新建一个VelocityUtil.java工具类,代码例如以下

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.util.Properties;
    
    import org.apache.velocity.Template;
    import org.apache.velocity.VelocityContext;
    import org.apache.velocity.app.VelocityEngine;
    
    public class VelocityUtil {
    
    	public static void createDoc(VelocityContext vc, String templetePath) throws Exception {
    		Properties ps = new Properties();
    		ps.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "./src/");// 这是模板所在路径
    		VelocityEngine ve = new VelocityEngine();
    		ve.init(ps);
    		ve.init();
    		Template template = ve.getTemplate(templetePath, "utf-8");
    
    		File srcFile = new File("E:/abc.doc");//输出路径
    		FileOutputStream fos = new FileOutputStream(srcFile);
    		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos, "utf-8"));
    		template.merge(vc, writer);
    		writer.flush();
    		writer.close();
    		fos.close();
    	}
    
    	public static void main(String[] args) {
    		VelocityContext velocityContext = new VelocityContext();
    		velocityContext.put("name", "张三");
    		velocityContext.put("sex", "男");
    		try {
    			VelocityUtil.createDoc(velocityContext, "velocity.vm");
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    }
    

    6、执行就可以,若出现乱码,则是velocity.vm中<meta http-equiv=Content-Type content="text/html; charset=gb2312">字符编码问题 改为

    <meta http-equiv=Content-Type content="text/html; charset=utf-8">

  • 相关阅读:
    uva 11729 Commando War
    剑指offer 38 数字在排序数组中出现的次数
    剑指offer 35 第一个只出现一次的字符
    剑指offer 33 把数组排成最小的数
    剑指offer17 合并两个排序的链表
    跳台阶
    app上线
    剑指offer54 表示数值的字符串
    剑指offer49 把字符串转换成整数
    段错误
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4020439.html
Copyright © 2011-2022 走看看