精华内容
下载资源
问答
  • java 生成word表格
    万次阅读
    2014-08-16 15:04:12

    JAVA生成WORD文件的方法目前有以下种:

    一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案。(需要下载jacob.jar以及jacob.dll)

    一种是poi,他对excel处理的很好(读和写),poi对word的操作,基本上处在读word模板阶段,对于写word文件就更弱项了,特别是word上画表格等复杂操作。

    还有就是itext,用它生成rtf文件并保存格式为word ;(itext主要是用来生成pdf的文档)


    iText-1.2.7.jar和支持rtf的iText-rtf-2.1.7.jar这两个貌似对了,其实还有一个包是比较重要的iTextAsian.jar这个包对于设置字体什么的起了关键作用上网可以搜到的.


    1. package com.rye.test;    
    2. import java.awt.Color;    
    3. import java.io.FileNotFoundException;    
    4. import java.io.FileOutputStream;    
    5. import java.io.IOException;    
    6.    
    7. import com.lowagie.text.Cell;    
    8. import com.lowagie.text.Document;    
    9. import com.lowagie.text.DocumentException;    
    10. import com.lowagie.text.Font;    
    11. import com.lowagie.text.PageSize;    
    12. import com.lowagie.text.Paragraph;    
    13. import com.lowagie.text.Table;    
    14. import com.lowagie.text.rtf.RtfWriter2;    
    15. /**   
    16.   * 创建word文档 步骤:    
    17.   * 1,建立文档    
    18.   * 2,创建一个书写器    
    19.   * 3,打开文档    
    20.   * 4,向文档中写入数据    
    21.   * 5,关闭文档   
    22.   */   
    23.  public class WordDemo {    
    24.     
    25.   public WordDemo() {    
    26.   }    
    27.     
    28.   /**   
    29.    * @param args   
    30.    */   
    31.   public static void main(String[] args) {    
    32.  // 创建word文档,并设置纸张的大小  
    33.    Document document = new Document(PageSize.A4);   
    34.    try {    
    35.     RtfWriter2.getInstance(document,  
    36.  new FileOutputStream("E:/word.doc"));    
    37.    
    38.     document.open();    
    39.        
    40.    //设置合同头    
    41.        
    42.    Paragraph ph = new Paragraph();    
    43.    Font f  = new Font();    
    44.        
    45.    Paragraph p = new Paragraph("出口合同",   
    46.  new Font(Font.NORMAL, 18, Font.BOLDITALIC, new Color(000)) );    
    47.     p.setAlignment(1);    
    48.     document.add(p);    
    49.     ph.setFont(f);    
    50.     
    51.     // 设置中文字体    
    52.     // BaseFont bfFont =    
    53.     // BaseFont.createFont("STSongStd-Light",  
    54.  "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);    
    55.     // Font chinaFont = new Font();    
    56.     /*   
    57.      * 创建有三列的表格   
    58.      */   
    59.     Table table = new Table(4);    
    60.     document.add(new Paragraph("生成表格"));    
    61.     table.setBorderWidth(1);    
    62.     table.setBorderColor(Color.BLACK);    
    63.     table.setPadding(0);    
    64.     table.setSpacing(0);    
    65.         
    66.     /*   
    67.      * 添加表头的元素   
    68.      */   
    69.     Cell cell = new Cell("表头");//单元格    
    70.     cell.setHeader(true);    
    71.     cell.setColspan(3);//设置表格为三列    
    72.     cell.setRowspan(3);//设置表格为三行    
    73.     table.addCell(cell);    
    74.     table.endHeaders();// 表头结束    
    75.    
    76.     // 表格的主体    
    77.     cell = new Cell("Example cell 2");    
    78.     cell.setRowspan(2);//当前单元格占两行,纵向跨度    
    79.     table.addCell(cell);    
    80.     table.addCell("1,1");    
    81.     table.addCell("1,2");    
    82.     table.addCell("1,3");    
    83.     table.addCell("1,4");    
    84.     table.addCell("1,5");    
    85.     table.addCell(new Paragraph("用java生成的表格1"));    
    86.     table.addCell(new Paragraph("用java生成的表格2"));    
    87.     table.addCell(new Paragraph("用java生成的表格3"));    
    88.     table.addCell(new Paragraph("用java生成的表格4"));    
    89.     document.add(new Paragraph("用java生成word文件"));    
    90.     document.add(table);    
    91.     document.close();    
    92.    } catch (FileNotFoundException e) {    
    93.     e.printStackTrace();    
    94.    } catch (DocumentException e) {    
    95.     e.printStackTrace();    
    96.    } catch (IOException e) {    
    97.     e.printStackTrace();    
    98.    }    
    99.   }    
    100.     
    101.  }   


    代码2:

    [java]  view plain copy
    1. <span style="">import java.awt.Color;  
    2. import java.io.FileNotFoundException;  
    3. import java.io.FileOutputStream;  
    4. import java.io.IOException;  
    5. import com.lowagie.text.Cell;  
    6. import com.lowagie.text.Document;  
    7. import com.lowagie.text.DocumentException;  
    8. import com.lowagie.text.Element;  
    9. import com.lowagie.text.Font;  
    10. import com.lowagie.text.PageSize;  
    11. import com.lowagie.text.Paragraph;  
    12. import com.lowagie.text.Table;  
    13. import com.lowagie.text.pdf.BaseFont;  
    14. import com.lowagie.text.rtf.RtfWriter2;  
    15. public class CreateWordDemo {  
    16.     public void createDocContext(String file,String contextString)throws DocumentException, IOException{  
    17.         //设置纸张大小  
    18.         Document document = new Document(PageSize.A4);  
    19.         //建立一个书写器,与document对象关联  
    20.         RtfWriter2.getInstance(document, new FileOutputStream(file));  
    21.         document.open();  
    22.         //设置中文字体  
    23.         BaseFont bfChinese = BaseFont.createFont("STSongStd-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);  
    24.         //标题字体风格  
    25.         Font titleFont = new Font(bfChinese,12,Font.BOLD);  
    26.         //正文字体风格  
    27.         Font contextFont = new Font(bfChinese,10,Font.NORMAL);  
    28.         Paragraph title = new Paragraph("标题");  
    29.         //设置标题格式对齐方式  
    30.         title.setAlignment(Element.ALIGN_CENTER);  
    31.         title.setFont(titleFont);  
    32.         document.add(title);  
    33.         Paragraph context = new Paragraph(contextString);  
    34.         context.setAlignment(Element.ALIGN_LEFT);  
    35.         context.setFont(contextFont);  
    36.         //段间距  
    37.         context.setSpacingBefore(3);  
    38.         //设置第一行空的列数  
    39.         context.setFirstLineIndent(20);  
    40.         document.add(context);  
    41.         //设置Table表格,创建一个三列的表格  
    42.         Table table = new Table(3);  
    43.         int width[] = {25,25,50};//设置每列宽度比例  
    44.         table.setWidths(width);  
    45.         table.setWidth(90);//占页面宽度比例  
    46.         table.setAlignment(Element.ALIGN_CENTER);//居中  
    47.         table.setAlignment(Element.ALIGN_MIDDLE);//垂直居中  
    48.         table.setAutoFillEmptyCells(true);//自动填满  
    49.         table.setBorderWidth(1);//边框宽度  
    50.         //设置表头  
    51.         Cell haderCell = new Cell("表格表头");  
    52.         haderCell.setHeader(true);  
    53.         haderCell.setColspan(3);  
    54.         table.addCell(haderCell);  
    55.         table.endHeaders();  
    56.           
    57.         Font fontChinese = new Font(bfChinese,12,Font.NORMAL,Color.GREEN);  
    58.         Cell cell = new Cell(new Paragraph("这是一个3*3测试表格数据",fontChinese));  
    59.         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);  
    60.         table.addCell(cell);  
    61.         table.addCell(new Cell("#1"));  
    62.         table.addCell(new Cell("#2"));  
    63.         table.addCell(new Cell("#3"));  
    64.           
    65.         document.add(table);  
    66.         document.close();  
    67.               
    68.     }  
    69.     public static void main(String[] args) {  
    70.         CreateWordDemo word = new CreateWordDemo();  
    71.         String file = "test.doc";  
    72.         try {  
    73.             word.createDocContext(file, "测试iText导出Word文档");  
    74.         } catch (DocumentException e) {  
    75.             e.printStackTrace();  
    76.         } catch (IOException e) {  
    77.             e.printStackTrace();  
    78.         }  
    79.     }  
    80. }</span>  


    图片版:

    [java]  view plain copy
    1. <span style="font-size: medium;">/** 
    2.  
    3. * @param args 
    4.  
    5. */  
    6.   
    7. public static void main(String[] args) {  
    8.   
    9. // TODO Auto-generated method stub  
    10.   
    11. try {  
    12.   
    13. RTFCreate rtfMain = new RTFCreate();  
    14.   
    15. rtfMain.createRTFContext(FILE_NAME);  
    16.   
    17.   
    18.   
    19.   
    20. catch (FileNotFoundException e) {  
    21.   
    22. // TODO Auto-generated catch block  
    23.   
    24. e.printStackTrace();  
    25.   
    26. catch (DocumentException e) {  
    27.   
    28. // TODO Auto-generated catch block  
    29.   
    30. e.printStackTrace();  
    31.   
    32. catch (IOException e) {  
    33.   
    34. // TODO Auto-generated catch block  
    35.   
    36. e.printStackTrace();  
    37.   
    38. }  
    39.   
    40. }  
    41.   
    42.   
    43.   
    44.   
    45. public void createRTFContext(String path) throws DocumentException,  
    46.   
    47. IOException {  
    48.   
    49. Document document = new Document(PageSize.A4);  
    50.   
    51. RtfWriter2.getInstance(document, new FileOutputStream(path));  
    52.   
    53. document.open();  
    54.   
    55. // 设置中文字体  
    56.   
    57. BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",  
    58.   
    59. "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);  
    60.   
    61. // 标题字体风格  
    62.   
    63. Font titleFont = new Font(bfChinese, 12, Font.BOLD);  
    64.   
    65.   
    66.   
    67.   
    68. // 正文字体风格  
    69.   
    70. Font contextFont = new Font(bfChinese, 10, Font.NORMAL);  
    71.   
    72.   
    73.   
    74.   
    75. Paragraph title = new Paragraph("标题");  
    76.   
    77. // 设置标题格式对齐方式  
    78.   
    79. title.setAlignment(Element.ALIGN_CENTER);  
    80.   
    81. title.setFont(titleFont);  
    82.   
    83. document.add(title);  
    84.   
    85.   
    86.   
    87.   
    88. String contextString = "iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。";  
    89.   
    90. Paragraph context = new Paragraph(contextString);  
    91.   
    92. // 正文格式左对齐  
    93.   
    94. context.setAlignment(Element.ALIGN_LEFT);  
    95.   
    96. context.setFont(contextFont);  
    97.   
    98. // 离上一段落(标题)空的行数  
    99.   
    100. context.setSpacingBefore(20);  
    101.   
    102. // 设置第一行空的列数  
    103.   
    104. context.setFirstLineIndent(20);  
    105.   
    106.   
    107.   
    108.   
    109. document.add(context);  
    110.   
    111.   
    112.   
    113.   
    114. // //在表格末尾添加图片  
    115.   
    116. Image png = Image.getInstance("c:/fruit.png");  
    117.   
    118. document.add(png);  
    119.   
    120. document.close();  
    121.   
    122. }  
    123.   
    124.   
    125.   
    126.   
    127. }  
    128.   
    129. </span>  

    更多相关内容
  • 如何用java生成动态word表格,以及在表格中插入图片是一个难题,花了两天时间做出来的,希望对大家有帮助 需要jar包:iText-2.1.7.jar, iText-rtf-2.1.7.jar, iTextAsian.jar和jxl.jar 注意前两个jar包的版本要能...
  • JAVA根据数据库表生成word表格文档
  • Java读取Word表格内容

    2018-06-09 22:07:28
    通过Java读取word表格中的内容,将内容存到数据库中,将Word中的图片存到硬盘中
  • Java读取并导出Word中的表格(Excel),导出文件为Excel
  • Java freemarker 模板生成word动态表格

    千次阅读 2022-04-13 08:41:10
    1、新建一个word文档 2、把调整完的word另存为xml格式: 3、使用文本编辑器打开...5、选定动态生成范围,添加 list 标签 6、java代码 导入依赖 <dependency> <groupId>org.freemarker&l...

    1、新建一个word文档

    2、把调整完的word另存为xml格式:

     3、使用文本编辑器打开

    4、xml格式化
    XML 在线格式化 | 菜鸟工具菜鸟工具-XML 在线格式化..https://c.runoob.com/front-end/710/

     5、选定动态生成范围,添加 list 标签

     6、java代码

    项目结构

    导入依赖

            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.23</version>
            </dependency>

     generateWord

        /**
         * 使用FreeMarker自动生成Word文档
         *
         * @param dataMap  生成Word文档所需要的数据
         * @param fileName 生成Word文档的全路径名称
         */
        public static void generateWord(Map<String, Object> dataMap, String fileName, String templatePath, String template) throws Exception {
            // 设置FreeMarker的版本和编码格式
            Configuration configuration = new Configuration(new Version("2.3.23"));
            configuration.setDefaultEncoding("UTF-8");
    
            // 设置FreeMarker生成Word文档所需要的模板的路径
            configuration.setDirectoryForTemplateLoading(new File(templatePath));
            // 设置FreeMarker生成Word文档所需要的模板
            Template t = configuration.getTemplate(template, "UTF-8");
            // 创建一个Word文档的输出流
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(fileName)), "UTF-8"));
            //FreeMarker使用Word模板和数据生成Word文档
            t.process(dataMap, out);
            out.flush();
            out.close();
        }

    调用

        public static void main(String[] args) throws Exception {
    
            List<Test> lt=new ArrayList<>();
            Test t=new Test();
            t.setSeq(1);
            t.setName("测试01");
            t.setDes("测试01说明");
            lt.add(t);
    
            t=new Test();
            t.setSeq(2);
            t.setName("测试02");
            t.setDes("测试02说明");
            lt.add(t);
    
            t=new Test();
            t.setSeq(3);
            t.setName("测试03");
            t.setDes("测试03说明");
            lt.add(t);
    
            Map<String, Object> params = new HashMap<>();
            params.put("TestList", lt);
            String fileName="test.doc";
            generateWord(params, "src/main/resources/temp/" + fileName, "src/main/resources/word/", "TemplateV1.xml");
    
        }

    生成效果

    demo下载https://download.csdn.net/download/lw112190/85122047

    展开全文
  • java使用POI导出word数据以及生成word表格

    万次阅读 热门讨论 2019-09-07 20:15:40
    暑期在杭州实习了两个月,主要是使用vue+SpringMVC进行...在网上搜索了许多方法,了解到要导出word文件,其实办法由很多,如jacob,java2word,FreeMarker,Apatch POI等等。 本文采用的是Apatch POI中的一系列API,它...

    暑期在杭州实习了两个月,主要是使用vue+SpringMVC进行一个网页开发。
    而在开发的过程中,也遇到了比较常见的文件导出问题–以固定格式将数据存储在word、excel等office文件格式中
    在网上搜索了许多方法,了解到要导出word文件,其实办法由很多,如jacob,java2word,FreeMarker,Apatch POI等等。
    本文采用的是Apatch POI中的一系列API,它可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。原则意义上来讲,POI更适合excel文件格式的导出,格式固定且代码简单。

    而在使用POI操作word文档时,比较麻烦的一点是.doc文件和.docx文件是不同的,也就是说,需要使用不同的API来操作.doc文件和.docx文件。

    一、.doc文件:使用HWPFDocument

    1)模板文件

    新建word模板文件,并在word文件中设置【标签】。

    • 普通数据:一般标签以 ${变量名} 的格式命名,其中 $ 和 {} 一定是英文符号,如 ${project} , ${time}。注意标签名不要重复
    • 表格文件:由于表格数据是由多组相同格式的数据组成,在计算机语言中,及由数组组成。其与普通数据不同,无需设置标签,只需要在word文件中新建空白表格,并设置表头即可,系统可以根据相应单元格的位置对表格数据进行设置。
      在这里插入图片描述
      模板文件编辑完成之后,记得将模板文件放在项目中。本项目放在了template文件夹中,当然,放在哪里,在代码中就要使用相应的路径来获取相应的模板文件。
      在这里插入图片描述

    2)文件导出

    在第一步中已经使用 ${} 的格式对标签进行了设置,那么在代码中,我们只需要使用给相应的标签设置值即可。具体代码如下:

    public boolean Export2GeotechnicalLayeringTable(Map<String, Object> map_data,ArrayList<Map<String, String>> list_data,String templatePath,OutputStream out) {
    		boolean result = false;
    		FileInputStream in = null;
    		HWPFDocument document = null;
    		try {
    			in = new FileInputStream(templatePath);
    			document = new HWPFDocument(in);
    			Range range = document.getRange();
    			range.replaceText("${project_id}", map_data.get("project_id").toString());  //
    			range.replaceText("${project_name}", map_data.get("project_name").toString());  //
    			range.replaceText("${depth}", map_data.get("depth").toString());  //
    			range.replaceText("${hole_id}", map_data.get("hole_id").toString());  //
    			range.replaceText("${hole_altitude}", map_data.get("hole_altitude").toString());  //
    			range.replaceText("${hole_mileage}", map_data.get("hole_mileage").toString());  //
    			range.replaceText("${endhole_depth}", map_data.get("endhole_depth").toString());  //
    			//写入表格数据
    			//遍历range范围内的table。
    			TableIterator tableIter = new TableIterator(range);  
    		     Table table;  
    		     TableRow row;  
    		     while (tableIter.hasNext()) {  
    		        table = tableIter.next();
    		        int rowNum = table.numRows();  
    		        for (int i=0, j=2; i<list_data.size()&&j<rowNum; i++,j++) {  
    		           row = table.getRow(j); 
    		           row.getCell(0).insertBefore(list_data.get(i).get("layer_id"));
    		           row.getCell(1).insertBefore(list_data.get(i).get("start_depth"));
    		           row.getCell(2).insertBefore(list_data.get(i).get("end_depth"));
    		           row.getCell(3).insertBefore(list_data.get(i).get("geotechnical_name"));
    		           row.getCell(4).insertBefore(list_data.get(i).get("geotechnical_description"));
    		           row.getCell(5).insertBefore(list_data.get(i).get("sample_id"));
    		           row.getCell(6).insertBefore(list_data.get(i).get("sample_depth"));
    		        }  
    		     }  
    			document.write(out);
    			out.close();
    		}catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return result;
    	}
    

    其中map_data中存储的是普通数据,而list_data中存储的是要生成word表格的数组数据。
    由于代码都是较简单的java代码,这里不做解释。
    代码封装好之后,进行单元测试:

    public void testTestWord() throws FileNotFoundException {
    		WordUtils wordUtils = new WordUtils();
    		String templatePath = "D:\\Program Files\\eclipse\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\ZJICInformationManagement\\"+"template/钻孔岩土分层表模板.doc";
    		Map<String, Object> map_data = new HashMap<>();
    		map_data.put("project_id", "2019.21");
    		map_data.put("project_name", "ZJIC");
    		map_data.put("depth", "10.22");
    		map_data.put("hole_id", "ZKS12");
    		map_data.put("hole_altitude", "100");
    		map_data.put("hole_mileage", "23.21");
    		map_data.put("endhole_depth", "43");
    		ArrayList<Map<String, String>> list_data = new ArrayList<>();
    		Map<String, String> temp = new HashMap<>();
    		for(int i=0;i<10;i++){
    			temp = new HashMap<>();
    			temp.put("layer_id", i+"");
    			temp.put("start_depth", "start_depth");
    			temp.put("end_depth", "end_depth");
    			temp.put("geotechnical_name", "geotechnical_name");
    			temp.put("geotechnical_description", "geotechnical_description");
    			temp.put("sample_id", "sample_id");
    			temp.put("sample_depth", "sample_depth");
    			list_data.add(temp);
    		}
    		File file = new File("d:\\word\\test.doc");
    		FileOutputStream out = new FileOutputStream(file);
    		wordUtils.Export2GeotechnicalLayeringTable(map_data, list_data, templatePath, out);
    	}
    

    最后生成的文件路径为:d:\word\test.doc。

    二、.docx文件:使用XWPFDocument

    遇到的巨大的坑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    XWPFDocument比HWPFDocument灵活,但是在生成word文件过程中,对于普通的数据,前者与后者一样,同样通过设置标签来进行导出。但是操作标签的方式不同,XWPFDocument可以读取段落中的所有字符,然后通过XWPFRun(文本对象),使用正则表达式对文本中的标签进行提取,然后设置标签的值…但是在获取标签(正则表达式匹配)的过程中,总是出现中断。如${project},系统会将该标签分为两个字符串 ${ 和 project} ,导致无法与正则表达式匹配,系统判断该段文本并不是标签,导致判断错误。

    暂时未找到该问题的解决办法。网上说是因为使用了中文的括号 {。需要将标签先使用文本编辑器–记事本等编辑之后,再复制粘贴到word文档中,本人亲测之后,问题未得到解决。

    三、结果展示

    在这里插入图片描述

    展开全文
  • 1、添加freemarker.jar 到java项目。2、新建word文档。...5、生成表格,包括动态列和动态行。其中columnList 是List格式的表头数据,datas 是List>格式的全部表格数据。#list>${cell}#lis...

    1、添加freemarker.jar 到java项目。

    2、新建word文档。

    ce09aecf332a92d67f91665a7459d7db.png

    3、将文档另存为xml 格式。

    4636ffde8c256a92e542b604e0c1546b.png

    4、将xml格式化后打开编辑(最好用notepad,有格式),找到需要替换的内容,将内容换为变量(${变量名})。

    5、生成表格,包括动态列和动态行。其中columnList 是List格式的表头数据,datas 是List>格式的全部表格数据。

    #list>

    ${cell}

    #list>

    #list>

    6、生成图片。将xml文件中 中的数据替换成需要的图片的base64编码即可。

    7、保存后,将文件后缀改为.ftl,放到java项目文件夹。生成word:

    Map map = new HashMap();

    map.put("变量名", 变量内容);

    public static void createWord(Map map, String filePath) {

    try {

    Configuration configuration = new Configuration();

    configuration.setDefaultEncoding("UTF-8");

    configuration.setClassForTemplateLoading(TemplateToWord.class, "/com/cn/templates/");//模板所在文件夹

    Template template = configuration.getTemplate("report.ftl");//根据名称加载模板

    File outFile = new File(filePath);//生成新word文档

    if (!outFile.getParentFile().exists()) {

    outFile.getParentFile().mkdirs();

    }

    Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));

    // 生成文件

    template.process(map, out);

    out.flush();

    out.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    展开全文
  • java动态生成word模版

    2018-01-15 17:00:01
    利用java实现简单动态生成word模版 项目中需要用 java 程序生成doc 文件,百度一番,发现FreeMarker 的评价比较高。 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,至于想详细了解 ...
  • JAVA使用POI-TL生成word表格列宽自定义
  • Java动态生成word

    2017-05-26 11:38:29
    使用Java动态生成可编辑的word
  • Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。文档提供相应的jar包和Word模板文件,表格支持动态添加数据,插入图片支持多种格式!
  • java 动态获取数据库信息生成word(含表格,柱状图),并下载
  • 网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。换行的word导致另一...
  • 最近公司有导出word的需求,由于word的样式有的很复杂所以记录一下Java中利用freemarker模板动态生成word表格,以防以后忘记。 配置 项目的gradle文件,xxx.gradle文件里配置好拷贝ftl文件的代码 (绿色部分...
  • JAVA用POI生成Word文档

    2017-10-24 14:52:46
    JAVA使用POI生成Word文档,并带下载功能。使用POI类包
  • java实现word表格指定位置盖章,并且设置印章悬浮于文字之上,达到跟用实体印章在A4纸上盖章一样的效果
  • word中根据表头动态增加表格行,然后把数据中数据中写入表格中。
  • Java POI导出word文件及生成表格

    千次阅读 多人点赞 2020-03-25 17:04:37
    HWPF是处理 Microsoft Word 97(-2007) .doc文件格式,它还为较旧的Word 6和Word 95文件格式提供了有限的只读支持。包含在poi-scratchpad-XXX.jar中。 XWPF是处理 Word 2007 .docx文件格式,包含在poi-ooxml-XXX....
  • Springboot Controller中使用service调SQL语句的方法,动态获取数据库信息添加到WORD表格中,检查到的数据绘制为柱形图(直方图)添加到文档中,并生成word(含表格,柱状图)存储到本地,在浏览器下载本地的word文档
  • Java操作Word生成动态表格 1.需要spire.doc的jar包,有免费的(官网可下载); 2.添加jar包至资源; 3.进行在word表格操作; 部分代码: 操作生成表格: //创建Document对象 Document doc = new Document(); ...
  • Java对PageOffice编程,从空白的word模板动态生成word文件,填充文本内容、图片,同时设置文本的字体、段落、格式。 PageOffice是标准Java组件,标准JSP Tag标签方式引用,完美支持Eclipse、MyEclipse等开发工具。 ...
  • NULL 博文链接:https://hnhhshun-126-com.iteye.com/blog/713411
  • Java根据ftl模板生成表格复杂性word文档,工程可直接导入eclipse中执行的。
  • ... import org.apache.poi.xwpf.usermodel.*; import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; import java.io.FileOutputStream; import java.math.BigInteger;...import java.ut
  • 对企业合同word模版,可通过java 程序实现生成word文件,然后再通过word转成pdf实现。本实例的方案,可实现模版到word文件的转换。附件有代码和效果图。
  • Java读取Word中的表格(Excel),并导出文件为Excel
  • java通过freemarker导出word循环合并表格单元格本文主要讲解通过freemarker模板引擎来导出word,并且在word中包含表格的合并部分需要循环生成。一、Java需要通过模板导出的word如上图所示。物品的信息是循环部分。...
  • SpringBoot_Freemarker生成Word_多个表格+两层嵌套循环; 步骤说明: 1.用Microsoft Office Word打开word原件;将文档中需要动态生成的内容,替换为属性名 ${name} 2.另存为,选择保存类型Word 2003 XML 文档(*....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,750
精华内容 6,300
关键字:

java生成word表格

java 订阅