velocity模板技术生成word文档

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

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

 

http://blog.csdn.net/ziyeh2/article/details/28882995?utm_source=tuicool

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

 

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

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

 

[plain]   view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <html xmlns:v="urn:schemas-microsoft-com:vml"  
  2. xmlns:o="urn:schemas-microsoft-com:office:office"  
  3. xmlns:w="urn:schemas-microsoft-com:office:word"  
  4. xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"  
  5. xmlns="http://www.w3.org/TR/REC-html40">  
  6.   
  7. <head>  
  8. <meta http-equiv=Content-Type content="text/html; charset=utf-8">  
  9. <meta name=ProgId content=Word.Document>  
  10. <meta name=Generator content="Microsoft Word 12">  
  11. <meta name=Originator content="Microsoft Word 12">  
  12. <link rel=File-List href="velocity.files/filelist.xml">  
  13. <!--[if gte mso 9]><xml>  
  14.  <o:DocumentProperties>  
  15.   <o:Author></o:Author>  
  16.   <o:LastAuthor></o:LastAuthor>  
  17.   <o:Revision>2</o:Revision>  
  18.   <o:TotalTime>3</o:TotalTime>  
  19.   <o:Created>2014-06-06T03:45:00Z</o:Created>  
  20.   <o:LastSaved>2014-06-06T03:45:00Z</o:LastSaved>  
  21.   <o:Pages>1</o:Pages>  
  22.   <o:Words>4</o:Words>  
  23.   <o:Characters>28</o:Characters>  
  24.   <o:Company>Microsoft</o:Company>  
  25.   <o:Lines>1</o:Lines>  
  26.   <o:Paragraphs>1</o:Paragraphs>  
  27.   <o:CharactersWithSpaces>31</o:CharactersWithSpaces>  
  28.   <o:Version>12.00</o:Version>  
  29.  </o:DocumentProperties>  
  30. </xml><![endif]-->  
  31. <link rel=themeData href="velocity.files/themedata.thmx">  
  32. <link rel=colorSchemeMapping href="velocity.files/colorschememapping.xml">  
  33. <!--[if gte mso 9]><xml>  
  34.  <w:WordDocument>  
  35.   <w:SpellingState>Clean</w:SpellingState>  
  36.   <w:GrammarState>Clean</w:GrammarState>  
  37.   <w:TrackMoves>false</w:TrackMoves>  
  38.   <w:TrackFormatting/>  
  39.   <w:PunctuationKerning/>  
  40.   <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>  
  41.   <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>  
  42.   <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>  
  43.   <w:ValidateAgainstSchemas/>  
  44.   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>  
  45.   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>  
  46.   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>  
  47.   <w:DoNotPromoteQF/>  
  48.   <w:LidThemeOther>EN-US</w:LidThemeOther>  
  49.   <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>  
  50.   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>  
  51.   <w:Compatibility>  
  52.    <w:SpaceForUL/>  
  53.    <w:BalanceSingleByteDoubleByteWidth/>  
  54.    <w:DoNotLeaveBackslashAlone/>  
  55.    <w:ULTrailSpace/>  
  56.    <w:DoNotExpandShiftReturn/>  
  57.    <w:AdjustLineHeightInTable/>  
  58.    <w:BreakWrappedTables/>  
  59.    <w:SnapToGridInCell/>  
  60.    <w:WrapTextWithPunct/>  
  61.    <w:UseAsianBreakRules/>  
  62.    <w:DontGrowAutofit/>  
  63.    <w:DontUseIndentAsNumberingTabStop/>  
  64.    <w:FELineBreak11/>  
  65.    <w:WW11IndentRules/>  
  66.    <w:DontAutofitConstrainedTables/>  
  67.    <w:AutofitLikeWW11/>  
  68.    <w:HangulWidthLikeWW11/>  
  69.    <w:UseNormalStyleForList/>  
  70.    <w:UseFELayout/>  
  71.   </w:Compatibility>  
  72.   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>  
  73.   <m:mathPr>  
  74.    <m:mathFont m:val="Cambria Math"/>  
  75.    <m:brkBin m:val="before"/>  
  76.    <m:brkBinSub m:val="--"/>  
  77.    <m:smallFrac m:val="off"/>  
  78.    <m:dispDef/>  
  79.    <m:lMargin m:val="0"/>  
  80.    <m:rMargin m:val="0"/>  
  81.    <m:defJc m:val="centerGroup"/>  
  82.    <m:wrapIndent m:val="1440"/>  
  83.    <m:intLim m:val="subSup"/>  
  84.    <m:naryLim m:val="undOvr"/>  
  85.   </m:mathPr></w:WordDocument>  
  86. </xml><![endif]--><!--[if gte mso 9]><xml>  
  87.  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  
  88.   DefSemiHidden="true" DefQFormat="false" DefPriority="99"  
  89.   LatentStyleCount="267">  
  90.   <w:LsdException Locked="false" Priority="0" SemiHidden="false"  
  91.    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>  
  92.   <w:LsdException Locked="false" Priority="9" SemiHidden="false"  
  93.    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>  
  94.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>  
  95.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>  
  96.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>  
  97.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>  
  98.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>  
  99.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>  
  100.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>  
  101.   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>  
  102.   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>  
  103.   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>  
  104.   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>  
  105.   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>  
  106.   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>  
  107.   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>  
  108.   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>  
  109.   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>  
  110.   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>  
  111.   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>  
  112.   <w:LsdException Locked="false" Priority="10" SemiHidden="false"  
  113.    UnhideWhenUsed="false" QFormat="true" Name="Title"/>  
  114.   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>  
  115.   <w:LsdException Locked="false" Priority="11" SemiHidden="false"  
  116.    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>  
  117.   <w:LsdException Locked="false" Priority="22" SemiHidden="false"  
  118.    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>  
  119.   <w:LsdException Locked="false" Priority="20" SemiHidden="false"  
  120.    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>  
  121.   <w:LsdException Locked="false" Priority="59" SemiHidden="false"  
  122.    UnhideWhenUsed="false" Name="Table Grid"/>  
  123.   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>  
  124.   <w:LsdException Locked="false" Priority="1" SemiHidden="false"  
  125.    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>  
  126.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  127.    UnhideWhenUsed="false" Name="Light Shading"/>  
  128.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  129.    UnhideWhenUsed="false" Name="Light List"/>  
  130.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  131.    UnhideWhenUsed="false" Name="Light Grid"/>  
  132.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  133.    UnhideWhenUsed="false" Name="Medium Shading 1"/>  
  134.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  135.    UnhideWhenUsed="false" Name="Medium Shading 2"/>  
  136.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  137.    UnhideWhenUsed="false" Name="Medium List 1"/>  
  138.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  139.    UnhideWhenUsed="false" Name="Medium List 2"/>  
  140.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  141.    UnhideWhenUsed="false" Name="Medium Grid 1"/>  
  142.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  143.    UnhideWhenUsed="false" Name="Medium Grid 2"/>  
  144.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  145.    UnhideWhenUsed="false" Name="Medium Grid 3"/>  
  146.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  147.    UnhideWhenUsed="false" Name="Dark List"/>  
  148.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  149.    UnhideWhenUsed="false" Name="Colorful Shading"/>  
  150.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  151.    UnhideWhenUsed="false" Name="Colorful List"/>  
  152.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  153.    UnhideWhenUsed="false" Name="Colorful Grid"/>  
  154.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  155.    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>  
  156.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  157.    UnhideWhenUsed="false" Name="Light List Accent 1"/>  
  158.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  159.    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>  
  160.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  161.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>  
  162.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  163.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>  
  164.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  165.    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>  
  166.   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>  
  167.   <w:LsdException Locked="false" Priority="34" SemiHidden="false"  
  168.    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>  
  169.   <w:LsdException Locked="false" Priority="29" SemiHidden="false"  
  170.    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>  
  171.   <w:LsdException Locked="false" Priority="30" SemiHidden="false"  
  172.    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>  
  173.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  174.    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>  
  175.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  176.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>  
  177.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  178.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>  
  179.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  180.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>  
  181.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  182.    UnhideWhenUsed="false" Name="Dark List Accent 1"/>  
  183.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  184.    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>  
  185.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  186.    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>  
  187.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  188.    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>  
  189.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  190.    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>  
  191.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  192.    UnhideWhenUsed="false" Name="Light List Accent 2"/>  
  193.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  194.    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>  
  195.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  196.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>  
  197.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  198.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>  
  199.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  200.    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>  
  201.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  202.    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>  
  203.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  204.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>  
  205.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  206.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>  
  207.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  208.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>  
  209.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  210.    UnhideWhenUsed="false" Name="Dark List Accent 2"/>  
  211.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  212.    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>  
  213.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  214.    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>  
  215.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  216.    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>  
  217.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  218.    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>  
  219.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  220.    UnhideWhenUsed="false" Name="Light List Accent 3"/>  
  221.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  222.    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>  
  223.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  224.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>  
  225.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  226.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>  
  227.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  228.    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>  
  229.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  230.    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>  
  231.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  232.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>  
  233.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  234.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>  
  235.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  236.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>  
  237.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  238.    UnhideWhenUsed="false" Name="Dark List Accent 3"/>  
  239.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  240.    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>  
  241.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  242.    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>  
  243.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  244.    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>  
  245.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  246.    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>  
  247.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  248.    UnhideWhenUsed="false" Name="Light List Accent 4"/>  
  249.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  250.    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>  
  251.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  252.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>  
  253.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  254.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>  
  255.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  256.    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>  
  257.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  258.    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>  
  259.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  260.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>  
  261.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  262.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>  
  263.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  264.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>  
  265.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  266.    UnhideWhenUsed="false" Name="Dark List Accent 4"/>  
  267.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  268.    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>  
  269.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  270.    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>  
  271.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  272.    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>  
  273.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  274.    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>  
  275.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  276.    UnhideWhenUsed="false" Name="Light List Accent 5"/>  
  277.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  278.    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>  
  279.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  280.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>  
  281.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  282.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>  
  283.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  284.    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>  
  285.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  286.    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>  
  287.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  288.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>  
  289.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  290.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>  
  291.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  292.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>  
  293.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  294.    UnhideWhenUsed="false" Name="Dark List Accent 5"/>  
  295.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  296.    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>  
  297.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  298.    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>  
  299.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  300.    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>  
  301.   <w:LsdException Locked="false" Priority="60" SemiHidden="false"  
  302.    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>  
  303.   <w:LsdException Locked="false" Priority="61" SemiHidden="false"  
  304.    UnhideWhenUsed="false" Name="Light List Accent 6"/>  
  305.   <w:LsdException Locked="false" Priority="62" SemiHidden="false"  
  306.    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>  
  307.   <w:LsdException Locked="false" Priority="63" SemiHidden="false"  
  308.    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>  
  309.   <w:LsdException Locked="false" Priority="64" SemiHidden="false"  
  310.    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>  
  311.   <w:LsdException Locked="false" Priority="65" SemiHidden="false"  
  312.    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>  
  313.   <w:LsdException Locked="false" Priority="66" SemiHidden="false"  
  314.    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>  
  315.   <w:LsdException Locked="false" Priority="67" SemiHidden="false"  
  316.    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>  
  317.   <w:LsdException Locked="false" Priority="68" SemiHidden="false"  
  318.    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>  
  319.   <w:LsdException Locked="false" Priority="69" SemiHidden="false"  
  320.    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>  
  321.   <w:LsdException Locked="false" Priority="70" SemiHidden="false"  
  322.    UnhideWhenUsed="false" Name="Dark List Accent 6"/>  
  323.   <w:LsdException Locked="false" Priority="71" SemiHidden="false"  
  324.    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>  
  325.   <w:LsdException Locked="false" Priority="72" SemiHidden="false"  
  326.    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>  
  327.   <w:LsdException Locked="false" Priority="73" SemiHidden="false"  
  328.    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>  
  329.   <w:LsdException Locked="false" Priority="19" SemiHidden="false"  
  330.    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>  
  331.   <w:LsdException Locked="false" Priority="21" SemiHidden="false"  
  332.    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>  
  333.   <w:LsdException Locked="false" Priority="31" SemiHidden="false"  
  334.    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>  
  335.   <w:LsdException Locked="false" Priority="32" SemiHidden="false"  
  336.    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>  
  337.   <w:LsdException Locked="false" Priority="33" SemiHidden="false"  
  338.    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>  
  339.   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>  
  340.   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  
  341.  </w:LatentStyles>  
  342. </xml><![endif]-->  
  343. <style>  
  344. <!--  
  345.  /* Font Definitions */  
  346.  @font-face  
  347.     {font-family:宋体;  
  348.     panose-1:2 1 6 0 3 1 1 1 1 1;  
  349.     mso-font-alt:SimSun;  
  350.     mso-font-charset:134;  
  351.     mso-generic-font-family:auto;  
  352.     mso-font-pitch:variable;  
  353.     mso-font-signature:3 680460288 22 0 262145 0;}  
  354. @font-face  
  355.     {font-family:"Cambria Math";  
  356.     panose-1:2 4 5 3 5 4 6 3 2 4;  
  357.     mso-font-charset:0;  
  358.     mso-generic-font-family:roman;  
  359.     mso-font-pitch:variable;  
  360.     mso-font-signature:-536870145 1107305727 0 0 415 0;}  
  361. @font-face  
  362.     {font-family:Calibri;  
  363.     panose-1:2 15 5 2 2 2 4 3 2 4;  
  364.     mso-font-charset:0;  
  365.     mso-generic-font-family:swiss;  
  366.     mso-font-pitch:variable;  
  367.     mso-font-signature:-536870145 1073786111 1 0 415 0;}  
  368. @font-face  
  369.     {font-family:"\@宋体";  
  370.     panose-1:2 1 6 0 3 1 1 1 1 1;  
  371.     mso-font-charset:134;  
  372.     mso-generic-font-family:auto;  
  373.     mso-font-pitch:variable;  
  374.     mso-font-signature:3 680460288 22 0 262145 0;}  
  375.  /* Style Definitions */  
  376.  p.MsoNormal, li.MsoNormal, div.MsoNormal  
  377.     {mso-style-unhide:no;  
  378.     mso-style-qformat:yes;  
  379.     mso-style-parent:"";  
  380.     margin:0cm;  
  381.     margin-bottom:.0001pt;  
  382.     text-align:justify;  
  383.     text-justify:inter-ideograph;  
  384.     mso-pagination:none;  
  385.     font-size:10.5pt;  
  386.     mso-bidi-font-size:11.0pt;  
  387.     font-family:"Calibri","sans-serif";  
  388.     mso-fareast-font-family:宋体;  
  389.     mso-bidi-font-family:"Times New Roman";  
  390.     mso-font-kerning:1.0pt;}  
  391. .MsoChpDefault  
  392.     {mso-style-type:export-only;  
  393.     mso-default-props:yes;  
  394.     mso-ascii-font-family:Calibri;  
  395.     mso-fareast-font-family:宋体;  
  396.     mso-hansi-font-family:Calibri;}  
  397.  /* Page Definitions */  
  398.  @page  
  399.     {mso-page-border-surround-header:no;  
  400.     mso-page-border-surround-footer:no;}  
  401. @page WordSection1  
  402.     {size:595.3pt 841.9pt;  
  403.     margin:72.0pt 90.0pt 72.0pt 90.0pt;  
  404.     mso-header-margin:42.55pt;  
  405.     mso-footer-margin:49.6pt;  
  406.     mso-paper-source:0;  
  407.     layout-grid:15.6pt;}  
  408. div.WordSection1  
  409.     {page:WordSection1;}  
  410. -->  
  411. </style>  
  412. <!--[if gte mso 10]>  
  413. <style>  
  414.  /* Style Definitions */  
  415.  table.MsoNormalTable  
  416.     {mso-style-name:普通表格;  
  417.     mso-tstyle-rowband-size:0;  
  418.     mso-tstyle-colband-size:0;  
  419.     mso-style-noshow:yes;  
  420.     mso-style-priority:99;  
  421.     mso-style-qformat:yes;  
  422.     mso-style-parent:"";  
  423.     mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  
  424.     mso-para-margin:0cm;  
  425.     mso-para-margin-bottom:.0001pt;  
  426.     mso-pagination:widow-orphan;  
  427.     font-size:10.0pt;  
  428.     font-family:"Calibri","sans-serif";}  
  429. </style>  
  430. <![endif]--><!--[if gte mso 9]><xml>  
  431.  <o:shapedefaults v:ext="edit" spidmax="2050"/>  
  432. </xml><![endif]--><!--[if gte mso 9]><xml>  
  433.  <o:shapelayout v:ext="edit">  
  434.   <o:idmap v:ext="edit" data="1"/>  
  435.  </o:shapelayout></xml><![endif]-->  
  436. </head>  
  437.   
  438. <body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'>  
  439.   
  440. <div class=WordSection1 style='layout-grid:15.6pt'>  
  441.   
  442. <p class=MsoNormal align=center style='text-align:center'><span lang=EN-US  
  443. style='font-size:24.0pt'>Velocity</span><span style='font-size:24.0pt;  
  444. font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri'>模版技术</span><span  
  445. lang=EN-US style='font-size:24.0pt'><o:p></o:p></span></p>  
  446.   
  447. <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>  
  448.   
  449. <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>  
  450.   
  451. <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;  
  452. mso-hansi-font-family:Calibri'>这是固定部分</span></p>  
  453.   
  454. <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>  
  455.   
  456. <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;  
  457. mso-hansi-font-family:Calibri'>姓名</span><span lang=EN-US>:$!{name}</span></p>  
  458.   
  459. <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>  
  460.   
  461. <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Calibri;  
  462. mso-hansi-font-family:Calibri'>性别</span><span lang=EN-US>:$!{sex}</span></p>  
  463.   
  464. </div>  
  465.   
  466. </body>  
  467.   
  468. </html>  


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

 

 

[java]   view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import java.io.BufferedWriter;  
  2. import java.io.File;  
  3. import java.io.FileOutputStream;  
  4. import java.io.OutputStreamWriter;  
  5. import java.util.Properties;  
  6.   
  7. import org.apache.velocity.Template;  
  8. import org.apache.velocity.VelocityContext;  
  9. import org.apache.velocity.app.VelocityEngine;  
  10.   
  11. public class VelocityUtil {  
  12.   
  13.     public static void createDoc(VelocityContext vc, String templetePath) throws Exception {  
  14.         Properties ps = new Properties();  
  15.         ps.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "./src/");// 这是模板所在路径  
  16.         VelocityEngine ve = new VelocityEngine();  
  17.         ve.init(ps);  
  18.         ve.init();  
  19.         Template template = ve.getTemplate(templetePath, "utf-8");  
  20.   
  21.         File srcFile = new File("E:/abc.doc");//输出路径  
  22.         FileOutputStream fos = new FileOutputStream(srcFile);  
  23.         BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos, "utf-8"));  
  24.         template.merge(vc, writer);  
  25.         writer.flush();  
  26.         writer.close();  
  27.         fos.close();  
  28.     }  
  29.   
  30.     public static void main(String[] args) {  
  31.         VelocityContext velocityContext = new VelocityContext();  
  32.         velocityContext.put("name""张三");  
  33.         velocityContext.put("sex""男");  
  34.         try {  
  35.             VelocityUtil.createDoc(velocityContext, "velocity.vm");  
  36.         } catch (Exception e) {  
  37.             e.printStackTrace();  
  38.         }  
  39.     }  
  40.       
  41. }  


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

 

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

 

 

http://blog.csdn.net/ziyeh2/article/details/28882995?utm_source=tuicool

猜你喜欢

转载自m635674608.iteye.com/blog/2222907