精华内容
下载资源
问答
  • 选中Word中全部表格和修改表格列

    千次阅读 2019-01-28 09:23:34
    1.背景:当word中有很多表格需要修改时,逐个修改既费时又可能有遗漏。如果能同时选中所有表格,对所有表格同步进行修改,就能大大提高效率。 2.方法:通过Word中的宏命令,选中全部表格,并修改表格列宽。 3.选中...

    1.背景:当word中有很多表格需要修改时,逐个修改既费时又可能有遗漏。如果能同时选中所有表格,对所有表格同步进行修改,就能大大提高效率。

    2.方法:通过Word中的宏命令,选中全部表格,并修改表格列宽。

    3.选中全部表格的宏命令。

    在WPS中,依次选择视图>>宏>>编辑,添加代码如下:

    Sub SelectAllTables()
    Dim tempTable As Table
    
        Application.ScreenUpdating = False
        '判断文档是否被保护
        If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
            MsgBox "文档已保护,此时不能选中多个表格!"
            Exit Sub
        End If
        '删除所有可编辑的区域
        ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
        '添加可编辑区域
        For Each tempTable In ActiveDocument.Tables
            tempTable.Range.Editors.Add wdEditorEveryone
        Next
        '选中所有可编辑区域
        ActiveDocument.SelectAllEditableRanges wdEditorEveryone
        '删除所有可编辑的区域
        ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
        
        Application.ScreenUpdating = True
       
    End Sub
    

    宏名为SelectAllTables,保存为docm格式,后续调用时,先打开这个文件,依次选择视图>>宏>>选中要运行的宏>>运行。

    4.修改第一列列宽的代码:

    Sub SelectAllTables1column()
    
    Dim tempTable As Table
    
    For Each tempTable In ActiveDocument.Tables
        '设置第一列列宽为2.4cm
        tempTable.Columns(1).Width = 68
    Next
    
    
    End Sub
    

     

    展开全文
  • 近期,要完成个项目,要求大概是动态的生成表格,需求项目书给的样式是这样的 但是,使用过phpword的人都知道,phpword需要自定义样式才能完成这样的效果,而网上又很少有这样的案例,官方文档又很坑,于是,...

    近期,要完成一个项目,要求大概是动态的生成一个表格,需求项目书给的样式是这样的

    在这里插入图片描述
    但是,使用过phpword的人都知道,phpword需要自定义样式才能完成这样的效果,而网上又很少有这样的案例,官方文档又很坑,于是,写一个demo特此记录,给有需要的童孩。

    首先,书写自定义样式

    其中部分样式摘自他处

    		// 部分含义可能不准确,大概就是这个意思
            $styleTable = array('borderSize' => 6, 'borderColor' => '999999'); //设置表格样式
            $cellRowSpan = array('vMerge' => 'restart', 'valign' => 'center'); // 设置可跨行,且文字在居中
            $cellRowContinue = array('vMerge' => 'continue'); //使行连接,且无边框线
            $cellColSpan = array('gridSpan' => 2, 'valign' => 'center'); //设置跨列
            $cellHCentered = array('align' => 'center'); //居中
            $cellVCentered = array('valign' => 'center'); //居中
    
    		$table->addRow();  //添加一行
            $table->addCell(2000, $cellRowSpan)->addText('1 Technical knowledge and reasoning 技术知识与推理能力',
                null, $cellHCentered); //设置该列可以跨行,且样式居中
            $table->addCell(2000,$cellRowSpan)->addText("1.1相关科学知识",null,$cellHCentered);
            $table->addCell(2000,$cellRowSpan)->addText("1.1.1人文社会科学知识",null,$cellHCentered);
            $table->addCell(5000)->addText('掌握马克思主义基本原理、毛泽东思想和中国特色社会主义理论体系。');
    		
            $table->addRow();
            $table->addCell(null, $cellRowContinue);
            $table->addCell(null, $cellRowContinue);
            $table->addCell(2000,$cellRowSpan)->addText("1.1.3外语知识",null,$cellHCentered);
            $table->addCell(5000)->addText('能够独立的阅读专业外文资料,具有一定的口语交流能力。');
            $table->addRow();
            $table->addCell(null, $cellRowContinue);
            $table->addCell(2000,$cellRowSpan)->addText("1.2专业基础知识",null,$cellHCentered);
            $table->addCell(2000,$cellRowSpan)->addText("1.2.1专业基础知识",null,$cellHCentered);
            $table->addCell(5000)->addText('理解计算机组成及基本原理,掌握计算机处理数据的类型及算法,理解操作系统的组成、工作原理及使用方法,掌握计算机网络基本原理,掌握数据库基本原理及应用技术,掌握面向过程的编程思想并运用C语言编写中等规模程序,掌握面向对象的编程思想并具有一定的算法设计和分析能力。');
            $table->addRow();
            $table->addCell(null, $cellRowContinue);
            $table->addCell(2000,$cellRowSpan)->addText("1.3专业知识",null,$cellHCentered);
            $table->addCell(2000,$cellRowSpan)->addText("1.3.1专业知识",null,$cellHCentered);
            $table->addCell(5000)->addText('理解计算机组成及基本原理,掌握计算机处理数据的类型及算法,理解操作系统的组成、工作原理及使用方法,掌握计算机网络基本原理,掌握数据库基本原理及应用技术,掌握面向过程的编程思想并运用C语言编写中等规模程序,掌握面向对象的编程思想并具有一定的算法设计和分析能力。');
    
    

    如果数据是动态的,可以通过获取到的数据进行foreach进行处理,多层foreach循环(json格式)即可。
    只需要在addText(替换的数据)替换。

    实际效果图:

    在这里插入图片描述
    其中基本原理既可以理解为书写每一行,在对其样式进行处理,看起来就像一行或者一列。

    另一个demo

    $section->addTextBreak(1);
    $styleTable = array('borderSize' => 6, 'borderColor' => '999999');
    $cellRowSpan = array('vMerge' => 'restart', 'valign' => 'center');
    $cellRowContinue = array('vMerge' => 'continue');
    $cellColSpan = array('gridSpan' => 2, 'valign' => 'center');
    $cellHCentered = array('align' => 'center');
    $cellVCentered = array('valign' => 'center');
    
    $PHPWord->addTableStyle('Colspan Rowspan', $styleTable);
    $table = $section->addTable('Colspan Rowspan');
    $table->addRow();
    $table->addCell(2000, $cellRowSpan)->addText('A', null, $cellHCentered);
    $table->addCell(4000, $cellColSpan)->addText('B', null, $cellHCentered);
    $table->addCell(2000, $cellRowSpan)->addText('E', null, $cellHCentered);
    $table->addRow();
    $table->addCell(null, $cellRowContinue);
    $table->addCell(2000, $cellVCentered)->addText('C', null, $cellHCentered);
    $table->addCell(2000, $cellVCentered)->addText('D', null, $cellHCentered);
    $table->addCell(null, $cellRowContinue);
    

    效果图

    在这里插入图片描述
    原网页:https://github.com/PHPOffice/PHPWord/issues/74

    phpword/php 解析 json 格式的数据防止出现\u***
    接收端

    $MajorItems = $Messages->getProgramMessage(5); // 获取数据 自定义
     json_encode($item,JSON_UNESCAPED_UNICODE);
     JSON_UNESCAPED_UNICODE即为解析汉字
    

    大家还有什么方法也可以进行沟通,共同进步,哈哈哈哈。

    展开全文
  • 要删除所有表格的哪一列?注意,删除后无法撤销。")If IsNumeric(intCol) Then for i=1 to Tables.Count Tables(i).Columns(intCol).Delete NextElse MsgBox("输入数据应为数值...

    按ALT+F11,输入以下内容,按F5执行即可。


    sub test()

    intCol=InputBox("要删除所有表格的哪一列?注意,删除后无法撤销。")

    If IsNumeric(intCol) Then

        for i=1 to Tables.Count

            Tables(i).Columns(intCol).Delete

        Next

    Else

        MsgBox("输入数据应为数值")

    end if

        MsgBox("所有表格的第"&intCol&"列已删除。")

    end sub


    如果按了ALT+F11没有反应

    打开文件-选项-自定义功能区,把开发工具勾上,再在开发工具里点一下“Visual Basic”也一样


    展开全文
  • 最近需要在word中绘制表格,绘制完成后发现 wps不支持poi的跨合并,百度没有找到好的解决办法。自己在office中把文档转换为doc格式之后发现wps可以正常显示word中的表格了,同时之前微信预览不到表格的问题也解决...

       最近需要在word中绘制表格,绘制完成后发现 wps不支持poi的跨列合并,百度没有找到好的解决办法。自己在office中把文档转换为doc格式之后发现wps可以正常显示word中的表格了,同时之前微信预览不到表格的问题也解决了。

    poi版本为3.17 以下是跨列以及跨行合并代码 之前网上搜到的 忘记原作者是哪位大佬了

    maven

            <!--poi 用于操作word-->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.14</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>3.14</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.14</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>3.14</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>ooxml-schemas</artifactId>
                <version>1.3</version>
            </dependency>
        // 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);
                }
            }
        }

       docx转doc用的是aspose-words-jdk16.jar   这个jar包全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换 且linux和windiws下均可使用。效率也很高。比之前使用的jacob要好用很多,以下是调用方法十分简单

        /**
         * word转pdf 需引入 aspose-words-16.4.0-jdk16.jar包  收费插件windows linux下均可用
         *
         * @param inPath  源文件路径
         * @param outPath 输出文件路径
         */
        public static void docx2pdf(String inPath, String outPath) {
            //jar包为破解版 不用进行验证
            /*
            if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
                return;
            }*/
    
            try {
                File file = new File(outPath); // 新建一个空白pdf文档
                FileOutputStream os = new FileOutputStream(file);
                com.aspose.words.Document doc = new com.aspose.words.Document(inPath); // Address是将要被转化的word文档
                doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * docx转doc 需引入 aspose-words-16.4.0-jdk16.jar包  收费插件windows linux下均可用
         *
         * wps不兼容docx的表格跨列合并,微信文件预览不支持docx下的表格
         * 转换为doc格式的可以被wps兼容 微信可预览表格
         *
         * @param inPath  源文件路径
         * @param outPath 输出文件路径
         */
        public static void docx2doc(String inPath, String outPath) {
            try {
                File file = new File(outPath); // 新建一个空白pdf文档
                FileOutputStream os = new FileOutputStream(file);
                com.aspose.words.Document doc = new com.aspose.words.Document(inPath); // Address是将要被转化的word文档
                doc.save(os, SaveFormat.DOC);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    这个是aspose的下载地址 破解版本 转换之后没有发现水印 下载后放至maven对应目录下 或者直接把jar包放入工程内

    aspose下载地址

            <!-- word转pdf插件包 破解版 此包需要手动导入至maven仓库 -->
            <dependency>
                <groupId>com.aspose.words</groupId>
                <artifactId>aspose-words-jdk16</artifactId>
            </dependency>

     

    展开全文
  • word宏 批量删除含有关键字的表格列

    千次阅读 2019-10-03 22:42:02
    工作中,由于每次修改word文档,都需要进行繁琐的修改,删除多余的或者调节表格的宽度。 使用列word宏编程的方式对word文档进行对应的操作。 宏: 1 Sub del_key() 2 Dim str As String 3 Dim table_...
  • 如题,开始以为是代码问题,后来通过删减word模板排查,发现有一行表格时9列, 删掉一列生成的word是没问题的,只要超过8列生成的word就是空白的。求解!
  • python 批量填写word表格

    千次阅读 2020-03-22 22:01:21
    今天因为老爸下乡扶贫工作,要填很多word表格,一张表一张表填写显然太慢了,就简单写了个python代码去处理。大体上就是使用docx库来批量填写word表格,至于word表格的数据来源是使用xlrd库从excel表格中读取出来...
  • 接这上篇,导入数据,也要完整导出来。话不说,直接上代码。 效果图 //根据实体对象 ,生成XWPFDocument public static XWPFDocument exportDataInfoWord(List<DataInfoEntity> list) throws ...
  • 新手求问word表格问题

    2015-10-29 12:37:09
    现在Word表格中已经添加了1000行左右的数据,但这些表格的并没有全部写完,现在另外个Word中有了100条与原1000条一样的数据,并且比原来的数据详细。如何用这100条数据去替换1000条中的不完整数据?两个Word表格...
  • 在工作过程中,常常会因表格行列颠倒不方面查看 其实在excel中就有一项功能可以轻松的将表格的行列转置 如下面这个表格 姓名 ...这时我们就需要将该表格的第一行和第一列调换一下,
  • 在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,每次拖拉线后,需要等待段时间其才完成调整,...
  • 对已经生成的word进行处理,要对表格中的行、进行合并。 参考:...
  • 、准备工作 能遇到这种问题的相信大家都有jar包了,如果没有那就度娘找一下吧。 闲话不直接上代码 二、代码 在这里插入代码片
  • Word表格之VBA知识

    千次阅读 多人点赞 2019-01-28 13:56:10
    该对象代表个单独的表格。Table 对象是Tables集合的个成员。Tables集合包含了指定的选定内容、范围或文档中的所有表格。 下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,...
  •  如果要访问绘制表格中单独的行或,而该表格又不统一,则会产生个运行时错误。例如,如果活动文档中第表格的每中具有不同数量的行,则使用下列指令将导致出错。 Sub RemoveTableBorders() ...
  •  '**************遍历级目录 获取路径和村名*******************    Do While I  Key = DicList.keys '本次要遍历的目录  NowDic = Dir(Key(I), vbDirectory) '开始查找  Do While NowDic <> ""  If ...
  • java IText 导出word表格

    千次阅读 2017-11-20 14:20:49
    之前写的导出表格都是导出成Excel,但是接到的项目新需求要求导出成横表类型的Word文本,据了解,POI对word的导出支持略低,之前用的是自己设置本地模板,然后读取到模板后进行数值的获取补充,但是由于博主接到的需求所有...
  • C#操作Word表格

    千次阅读 2013-09-06 09:07:39
    表格中添加行,有两种操作形式:种是在WORD模板中已经存在了表格种是我们在程序中直接添加表格对象。 第种情况下,需要注意:在WORD模板中要操作的表格中,不能有纵向合并的单元格,不然程序无法...
  • Word表格公式

    千次阅读 2009-07-01 07:17:00
    Word自身的表格公式功能为我们解决这类问题提供了方便。 、公式的使用 ---- 将光标定位到需用公式的单元格中,选择“表格”*“公式”,打开“公式”对话框(如图1所示),在“公式”栏中输入正确的公式,或者在...
  • 批量修改Word表格的宽度

    千次阅读 2019-08-20 21:36:39
    怎么批量修改Word表格的宽度呢。Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样。当页面设置了新的页边距后,所有的表格都需要调整新的宽度。或者文档中有许多大大小小的表格,希望宽度全部...
  • PageOffice动态插入Word表格

    千次阅读 2018-09-11 15:29:16
    在项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置生成不定数目的表格,每个表格的结构是一样的,但是需要根据数据库中的数据记录对每个表格填充不同的数据。上面所说的这个需求的基本...
  • Word表格处理技巧

    千次阅读 2009-05-05 05:56:00
    1 文字巧妙转换成表格通常大家制作表格时,都是采用表格和边框工具...具体方法是这样:(1)按照自己的计划先将表格中的各项内容输入Word文件中,在这需注意的是,一定要利用种特别的分隔符隔开准备产生表格列线的文
  • POI导出Word表格

    千次阅读 2018-08-24 15:13:55
    网上很有拿到word模板然后对其赋值的例子我就不说了 我这边就只记录创建document table public InputStream exportWordContainTable(){ try { ByteArrayOutputStream os = new ByteArrayOutputStream(); ...
  • ## 安装 模块 pip install python-docx ## 使用 ...## 读取 Word 文件里的表格信息 try: doc = Document('A:\\ABC.docx') except Exception as e: print("读取 Word 文件失败", e) else: print("...
  • 、Aspose.word改写word表格中某个单元格的值 用Aspose.word来读写word文档方便快捷,比c#自带的读写word文档的类库好用很,网上很都是循环给单元格赋值,这里我给出改写或直接给某个单元格赋值的方法: 1、...
  • word制作表格详细教程

    2020-04-14 20:10:24
    Word制作表格大家要先建立个概念word表格多是行列结构比较复杂如登记表等,不需要填写较数据以及进行表的计算处理等。这篇文章将从word如何制作插入表格,对操作过的表格进行编辑,以及表格制作后的美化讲解。 ...
  • 如何批量处理word中的表格

    千次阅读 2019-08-03 13:52:05
    比如,我这有一个word文档有200表格(全部是3列的),现在要求第一列宽度3cm,第二列4cm,第三列5cm。一个一个改不太可能吧???执行如下的宏代码就搞定: 点击(此处)折叠或打开 SubMacro1() DimMyTable...
  • python将word表格转写入excel

    千次阅读 2019-09-30 20:15:57
    想将word 文件中的几个表格转写入 excel 文件中,后续用 excel 处理。 用到 python-docx 和 pandas 分别处理 word 和 excel。 安装 python-docx:pip install python-docx,它不接受 .doc 文件,先转存为 .docx...
  • 表格的功能在Word 2000 中得到了很大的加强,在采用页面视图 或 Web 视图时, Word 2000 的这些功能得到了很大...利用Word 2000 编制网页是初级用户的首选, 所以学会使用表格项基本的技能。xp系统下载,关于如何用
  • 根据Excel内容批量生成Word表格

    千次阅读 2020-08-13 17:09:07
    现在提供种解决方法:将大量内容信息填到Excel中,然后利用下面软件批量生成Word表格。 步骤:①先制作映射文件(txt格式);②根据映射文件从Excl中读取数据,至Word中填写数据 下面是下载地址(附教程):...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,538
精华内容 12,215
关键字:

word表格一列变多列