精华内容
下载资源
问答
  • poi word 打印

    2019-01-22 17:00:34
    poi word 打印
  • java poi word开发

    2018-07-15 16:30:30
    java poi word开发,poi常用基本操作,各类API使用规范。
  • java Apache poi word模板 word表格模板 word报表.zip
  • poi word转html例子及jar包 poi word转html例子及jar包
  • poi word excel转html

    2017-07-07 15:05:15
    poi word excel转html,支持03 07版word excel,支持直接保存为html文件或者返回html字符串。maven工程,但lib中包含有所需要的jar,方便非maven工程直接copy使用。
  • POI word2007依赖jar包

    2017-09-15 11:16:39
    POI word2007依赖jar包 poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203.jar poi-scratchpad-3.9-20121203.jar ....
  • poi word转html架包

    2017-06-28 17:26:19
    poi word转html架包
  • 绝对好用的word操作 poi word2010替换文字 图片 表格
  • poi word,excel 转换成 html

    热门讨论 2013-05-30 08:52:07
    poi word,excel 转换成 html
  • 目录 需求:用POI写一个Word并导出 需求:用POI写一个Word并导出 想到一个小品,问把大象装冰箱需要几步?

    目录

     

    需求:用POI写一个Word并导出


    需求:用POI写一个Word并导出

    跟着我的步骤.让你一次记个够.下次在遇到这种需求的时候,不用在百度.

    想到一个小品,问把大象装冰箱需要几步?

    首先要有一个word的对象.

    那这个对象哪里来呢?

    XWPFDocument doc = new XWPFDocument(in);

    XWPEDocument 就是我们操作word的对象了.我是通过一个word模板创建的.我的模板是这个样子的

    那我要是没有模板可不可以呢,答案是肯定的  我们来看 XWPEDocument 构造方法

    在这里我们看到了 有空参构造.可以new一个全部参数为默认值的 word操作对象.其原理是用工厂模式,生产的对象.

    合并单元格

    // word跨列合并单元格
    	public  void mergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) {  
            for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) {  
                XWPFTableCell cell = table.getRow(row).getCell(cellIndex);  
                if ( cellIndex == fromCell ) {  
                    // The first merged cell is set with RESTART merge value  
                    cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);  
                } else {  
                    // Cells which join (merge) the first one, are set with CONTINUE  
                    cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);  
                }  
            }  
        }  
    	// word跨行并单元格
    	public void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) {  
            for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) {  
                XWPFTableCell cell = table.getRow(rowIndex).getCell(col);  
                if ( rowIndex == fromRow ) {  
                    // The first merged cell is set with RESTART merge value  
                    cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);  
                } else {  
                    // Cells which join (merge) the first one, are set with CONTINUE  
                    cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE);  
                }  
            }  
        } 

     

    设置字体

    private void getParagraph(XWPFTableCell cell,String cellText){
    		CTP ctp = CTP.Factory.newInstance();
    		XWPFParagraph p = new XWPFParagraph(ctp, cell);
    		p.setAlignment(ParagraphAlignment.CENTER);
            XWPFRun run = p.createRun();
            run.setText(cellText);
            CTRPr rpr = run.getCTR().isSetRPr() ? run.getCTR().getRPr() : run.getCTR().addNewRPr();
            CTFonts fonts = rpr.isSetRFonts() ? rpr.getRFonts() : rpr.addNewRFonts();
            fonts.setAscii("仿宋");
            fonts.setEastAsia("仿宋");
            fonts.setHAnsi("仿宋");
            cell.setParagraph(p);
    	}

     

     

    展开全文
  • poi word转html图片大小

    2017-01-11 10:28:00
    poi word转html时,如何读取word文档中图片的缩放比例
  • POI动态生成word和freemark各有优劣,POI兼容性差点 ,freemark模板改起来较为繁琐,但是代码简单,这里的是POI针对word2007(docx)的动态数据填充
  • poi word转html 图片问题

    2017-01-04 08:47:38
    ![图片说明](https://img-ask.csdn.net/upload/201701/04/1483519381_871484.png) word上画的图转不了 poi word转html 图片大小和word上图片大小不一致
  • poi word转html时读取word中的图片读取的是原图大小,我要的是word中缩放之后的 大小,代码应该怎么写
  • Apache POI Word基本使用

    2019-09-29 22:11:04
    Apache POI Word 1、什么是Apache POI? Apache POI是一个流行的API,使用Java程序创建,修改和显示MS-Office文件。它是由Apache Software Foundation开发和发布的一个开源库,用于使用Java程序设计或修改MS-Office...

    Apache POI Word

    1、什么是Apache POI

         Apache POI是一个流行的API,使用Java程序创建,修改和显示MS-Office文件。 它是由Apache Software Foundation开发和发布的一个开源库,用于使用Java程序设计或修改MS-Office文件。 它包含用于将用户输入数据或文件解码为MS-Office文档的类和方法。

    2、Apache POI的组件

    Apache POI包含用于MS-Office的所有OLE2复合文档的类和方法。 API的组件列表如下:

    POIFS:此组件是所有其他POI元素的基本因素。 它用于显式读取不同的文件。

    HSSF:用于读取和写入.xls格式的MS-Excel文件。

    XSSF(XML SpreadSheet格式):用于MS-Excel.xlsx文件格式。

    HPSF:用于提取MS-Office文件的属性集。

    HWPF:用于读取和写入MS-Word.doc扩展文件。

    XWPF(XML字处理器格式):用于读取和写入MS-Word的扩展文件 .docx 

    HSLF:用于阅读,创建和编辑PowerPoint演示文稿

    HDGF(Horrible DiaGram格式):它包含MS-Visio二进制文件的类和方法。

    HPBF(Horrible PuBlisher格式):用于读取和写入MS-Publisher文件。

    文章将指导您完成使用Java处理MS-Word文件的过程。因此,仅限于HWPFXWPF组件。

    3、安装Apache POI

     http://poi.apache.org/download 下载最新版本的Apache POI。并将其内容解压缩到一个文件夹,从中可以将所需的库链接到Java程序。导入jar如下:

     

     

     

    4、Apache POI Word - 文件

    以下简单程序用于创建空白MS-Word文档:

     

     

     

    5、Apache POI Word - 段落

     

    下面程序用于创建一个段落以及将其添加到文档中段落是Word文件中页面的一部分。

    首先创建一个文档,然后我们可以创建一个段落。使用Paragraph实例,您可以创建行,然后向文档中输入一些文本。例子如下:

     

    在c盘根目录下创建word文档:

     

    createparagraph.docx 文件如下所示

     

    6、Apache POI Word - 表格

    下面程序用于创建表格 并且设置表格的宽度,使用XWPFTable 类创建表数据。 将每个行添加到表格中,并将单元格添加到行

     

     

     

     

     

     

    7、Apache POI Word - 图片

    下面程序用与在文档中创建数据表,并向文档中导入图片。

     

     

     

    8、Apache POI Word - 文本提取

    对于.docx文件,我们使用类org.apache.poi.xwpf.extractor.XPFFWordExtractorWord文件中提取和返回简单数据Word文件中提取标题,脚注,表数据等。

    下面显示如何从Word文件提取简单文本:

     

     

     

    总结:关于使用HWPFXWPF组件来处理word就介绍到这里了,更多的资料可以参考完整的API文档:https://poi.apache.org/apidocs/index.html?org/apache/poi/openxml4j/opc/internal/package-summary.html

     

     

         

     

    转载于:https://www.cnblogs.com/jpfss/p/9816184.html

    展开全文
  • 关于poi word 文档生成的那些坑坑洼洼 关于poi word 文档生成的那些坑坑洼洼 产品需求 近期产品提了一个需求,要求我们将查询出来的数据以表格的形式保存在excel和word文档中,excel的单元格有强大的适应性和扩展性...

    产品需求

    近期产品提了一个需求,要求我们将查询出来的数据以表格的形式保存在excel和word文档中,excel的单元格有强大的适应性和扩展性,基本无难度,但是word,嗯,要兼容wps word和Microsoft Word,一言难尽。

    	/**
         * 导出word文件
         */
        public static XWPFDocument createXWPFDocument(List<Map<String, Object>> data,List<String> fileds) throws Exception {
        	//创建word文档
            XWPFDocument doc = new XWPFDocument();
            //创建表头
            createTitleParagraph(doc);
            //写入数据
            if(CollectionUtils.isNotEmpty(data)){
                createCell(doc, data,fileds);
            }
            //返回文档
            return doc;
        }
    
        /**
         * 创建表格的样式标题
         *
         * @param document
         */
        public static void createTitleParagraph(XWPFDocument document) {
            //新建一个标题段落对象(就是一段文字)
            XWPFParagraph titleParagraph = document.createParagraph();
            //样式居中
            titleParagraph.setAlignment(ParagraphAlignment.CENTER);
            //创建文本对象
            XWPFRun titleFun = titleParagraph.createRun();
            //设置标题的名字
            titleFun.setText("报告报表word文档导出");
            //加粗
            titleFun.setBold(true);
            //设置颜色
            titleFun.setColor("000000");
            //字体大小
            titleFun.setFontSize(20);
            //设置字体
            titleFun.setFontFamily("Courier");
            //换行
            titleFun.addBreak();
        }
    
        /**
         * 创建单元格并存储数据
         *
         * @param document
         */
        public static void createCell(XWPFDocument document, List<Map<String, Object>> data,List<String> fileds) {
            XWPFTable infoTable = document.createTable();
            //设置单元格表头,这个地方是做了一个汉化表头的处理
            List<String> assetHeadTemp = getAssetHeadTemp(fileds);
     		//设置单元格内字体大小,因为产品需求最多有10列,为了让字体正常显示,所以对字体大小调节
            int fontSize = 0;
            if(assetHeadTemp.size()>5){
               fontSize = 7;
            }else {
                fontSize = 10;
            }
            //获取每列的列宽
            long columnWidth  = new Double(Math.floor(8000/assetHeadTemp.size())).longValue();
            //遍历要添加的数据的list
            for (int i = 0; i <= data.size() ; i++) {
                //为表格添加行
                XWPFTableRow newRow = infoTable.insertNewTableRow(i + 1);
                //遍历list中的字符串数组
                for (int j = 0; j < assetHeadTemp.size(); j++) {
                    //在新增的行上面创建cell,并设置对齐方式为居中
                    newRow.createCell().setVerticalAlignment(XWPFTableCell.XWPFVertAlign.BOTH);
                    //设置单元格样= 式
                    XWPFTableCell cell = newRow.getCell(j);
    //                //设置单元格宽度
                    CTTcPr tcpr = cell.getCTTc().addNewTcPr();
                    CTTblWidth cellW = tcpr.addNewTcW();
                    cellW.setType(STTblWidth.DXA);
                    cellW.setW(BigInteger.valueOf(columnWidth));
    
                    //创建段落对象
                    XWPFParagraph p=cell.addParagraph();
                    //创建文本对象
                    XWPFRun run = p.createRun();
    				//可以换行,可以换行,可以换行,重要的事情说三遍,这个地方很重要
                    run.addBreak();
                    if (i == 0) {
                        run.setText(assetHeadTemp.get(j));
                    }else {
                        Map<String, Object> map = data.get(i - 1);
                        String key = fileds.get(j);
                        if (map.get(key) == null) {
                            //给每个cell赋值。
                            run.setText("");
                        } else {
                            run.setText(key.equals(DIMENSION_PREFIX+"_cw_raw_time")?DateUtil.convertTimeToString(Long.parseLong(map.get(key).toString())):map.get(key).toString());
                        }
                    }
                    run.setFontSize(fontSize);
                }
            }
            //删除第一空白行
            infoTable.removeRow(0);
            //写完数据后调整单元格样式
            //设置表格宽
            CTTbl table = infoTable.getCTTbl();
            CTTblPr pr = table.getTblPr();
            CTTblWidth tblW = pr.getTblW();
            tblW.setW(BigInteger.valueOf(8000));
            tblW.setType(STTblWidth.DXA);
            pr.setTblW(tblW);
            table.setTblPr(pr);
            CTJc jc = pr.addNewJc();
            jc.setVal(STJc.LEFT);
            pr.setJc(jc);
            //使布局固定,不随内容改变宽度,这个非常非常非常重要,如果不固定布局,一个单元格里边的字符长度成百上千的时候,单元格就会放飞自我,就像下边的例图一样,惨不忍睹。另附一张加上下边固定布局之后的代码格式。。
            CTTblLayoutType t = pr.isSetTblLayout()?pr.getTblLayout():pr.addNewTblLayout();
            t.setType(STTblLayoutType.FIXED);
        }
    	/**
         * 翻译表头信息
         * @return
         */
        private static  List<String> getAssetHeadTemp(List<String> fileds){
            List<String> assetHeadTemp = new ArrayList<>();
            fileds.forEach(field->{
                if(field.startsWith(DIMENSION_PREFIX)){
                    assetHeadTemp.add(LogFieldsEnum.getChinese(field.replace(DIMENSION_PREFIX,""))+"(聚合维度)");
                } else {
                    assetHeadTemp.add(LogFieldsEnum.getChinese(field));
                }
            });
            System.out.println("获得的表头信息是:"+assetHeadTemp);
            return assetHeadTemp;
        }
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • poi word2003转html

    2017-07-24 20:21:04
    spring poiword2003转换成html,包含格式、包含图片
  • POI中中关于word的各种操作都在这里,将数据导入方便转换!
  • POI word 换行

    千次阅读 2019-08-08 18:40:12
    近日使用Java+poi生成word文件,其中表格里的字段换行显示更美观,一开始是根据经验觉得使用String字符串的换行符就可以现了,可是生成的word并没有照我想的那样换行。然后百度了不少文章,试了"\n"、"\r"、"\n\r"、...

    近日使用Java+poi生成word文件,其中表格里的字段换行显示更美观,一开始是根据经验觉得使用String字符串的换行符就可以现了,可是生成的word并没有照我想的那样换行。然后百度了不少文章,试了"\n"、 "\r"、 "\n\r"、"\r\n"、" \n "、(char)11都不行。

    后来使用了自带的方法才实现了,代码如下:

    XWPFDocument document = new XWPFDocument(new FileInputStream(filepath));
    document.getTableArray(4).getRow(0).getCell(1).getParagraphArray(0).createRun().setText("hello");
    			document.getTableArray(4).getRow(0).getCell(1).getParagraphArray(0).createRun().addBreak();//换行
    document.getTableArray(4).getRow(0).getCell(1).getParagraphArray(0).createRun().setText("hello world");

    参考

    展开全文
  • POI Word 模板 文字 图片 替换

    万次阅读 热门讨论 2015-01-30 16:12:27
    POI Word 模板 文字 图片 替换 博客分类:  java poi POIjavaWOrd  实验环境:POI3.7+Word2007 Word模板:   替换后效果:   代码: 1、入口文件 Java代码  ...
  • POI Word单元格合并

    千次阅读 2020-04-08 16:58:56
    1、pom.xml <dependency> <...org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dep...
  • poi word 删除表格

    千次阅读 2019-04-22 19:00:07
    poi 删除表格,docx 版 /** * 删除表格 * @param table 表格对象 */ public static void deleteTable(XWPFTable table){ List<XWPFTableRow> rows = table.getRows(); int rowLength = ...
  • I am trying to use apache POI to dynamically generate a word file by collecting some data in an arraylist and then printing it in the console output as well as the word file. I am able to get the outp...
  • 使用POI 对 图片插入 目录插入 不用模板文件。 绝对好使的。分简单模式和复杂模式。以前上传过一份,以为上传提交后可以修改上传文件。对不住那位哥,此次是完整项目,在生产环境中有使用的。有注释,有Sample。不懂...
  • poi word替换内容

    2018-05-22 12:09:55
    word替换只需要poi-ooxml jar包 maven: &lt;dependency&gt;  &lt;groupId&gt;org.apache.poi&lt;/groupId&gt;  &lt;artifactId&gt;poi-ooxml&lt;/artifactId&gt; ...
  • POI word目录处理备忘

    2019-05-28 01:22:37
    NULL 博文链接:https://shappy1978.iteye.com/blog/635748
  • java 对word关键字替换,可替换word表格中的关键字,word转PDF
  • POI word 转 Pdf

    万次阅读 2018-11-12 19:55:26
    1.代码比较简单,本人踩的坑是 在转换的时候 报空指针...org.apache.poi.xwpf.converter.core.XWPFConverterException: java.lang.NullPointerException  at org.apache.poi.xwpf.converter.pdf.PdfConverter.doCon...
  • Java Poi Word 添加标题

    千次阅读 2019-08-11 09:37:34
    代码 @Test public void test() throws Exception { int level = 1; String styleName = "标题 1"; String name = "标题内容"; String filePath = "C:/Users/... // 获得word的pack对象 OPCPacka...

空空如也

空空如也

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

poiword