精华内容
下载资源
问答
  • 本文实例讲述了C#采用OpenXml给Word文档添加表格的方法,是非常实用的操作技巧。分享给大家供大家参考。具体分析如下: 这里将展示如何使用Openxml向Word添加表格. 代码中表头和数据我们用的同个TableRow来添加,...
  • 后来经过研究,才发现Word的重复标题只对表格内文字有效,对表头是无效的——Word中的表格在设置重复标题后,当表格上方没有任何文字或空行时,出现在标题及以上区域的图片、文本框就会重复出现在每页的相同...

    大多数财务都知道如何在Excel中添加表头,可在Word中的超长表格怎么自动添加表头呢?第一次做的时候,设置了重复标题行,但出现的只有标题行,而总标题、单位、日期等表头部分却没能出现。后来经过研究,才发现Word的重复标题行只对表格内文字有效,对表头是无效的——Word中的表格在设置重复标题行后,当表格上方没有任何文字或空行时,出现在标题行及以上区域的图片、文本框就会重复出现在每一页的相同位置。利用这点即可轻松让表头出现在每一页,具体操作如下:

    在Word中切换到“页面布局”选项卡,点击“页边距”,选择底部的“自定义边距”,在弹出的窗口中将“页边距”处“上”的值设置为5厘米,给表头预留出空白空间,再选中并剪切表头内容,剪切后表格顶部会保留一个空行,按Delele键删除该空行,之后切换“插入”选项卡,点击“文本框”,选择“绘制文本框”,拖动鼠标画出一个文本框,把剪切的表头粘贴到文本框中,选中文本框从“格式”选项卡中设置形状填充为“无填充颜色”,形状轮廓为“无轮廓”,调整好文本框的大小并拖动到标题行上的表头位置即可。

    最后,在表格首行的标题行左侧点击一下鼠标,选中标题行时就可以同时选中表头,再切换到 “表格工具”的“布局”选项卡,选择“重复标题行” 即可让表头和标题行一起出现在每一页了。

    展开全文
  • 利用python-docx自动生成表格 add_table()方法会返回个Table对象。rows代表行数,cols代表列数;...上述代码就在word里插入了个8、5列的表格。(有8*5=40个cell) 生成的每个cell都是有“坐标”的,

    利用python-docx自动生成表格

    add_table()方法会返回一个Table对象。rows代表行数,cols代表列数;style代表样式,具体可以查看官方文档。

    一、创建一个8行5列的表格

    from docx import *
    doc=Document()
    table = doc.add_table(rows=8,  cols=5)
    doc.save('table.docx')
    

    上述代码就在word里插入了一个8行、5列的表格。(有8*5=40个cell)
    在这里插入图片描述

    生成的每个cell都是有“坐标”的,比如上面的表格左上角cell为(0,0),右下角cell为(7,4)
    Table()对象中报了对表格进行操作的方法和属性,如下:

    add_column(width):添加列(需要设置列宽)
    add_row():添加行
    cell(row_idx, col_idx):访问单个单元格
    row_cells(row_idx):返回一个序列(行号为row_idx的行内所有单元格)
    column_cells(column_idx):返回一个序列(列号为column_idx的列内所有单元格)
    rows:返回的是_Rows对象,是一个包含了所有行(_Row对象)的列表
    columns:返回的是_Columns对象,是一个包含了所有列(_Column对象)的列表
    想要熟练使用python-docx操作Word文档:需要认识Table()、_Cell()、 _Row()、 _Rows() _Column() 和 _Columns()五个类。
    
    

    二、设置表头
    rows代表行数,rows[0]即第一行。hdr_cells = table.rows[0].cells,hdr_cells即第一行的所有单元格。

    from docx import *
    doc=Document()
    table = doc.add_table(rows=8,  cols=5)
    hdr_cells = table.rows[0].cells
    hdr_cells[0].text = '编号编号'
    hdr_cells[1].text = '漏洞名称'
    hdr_cells[2].text = '影响IP'
    hdr_cells[3].text = 'CVE ID'
    hdr_cells[4].text = '危险程度'
    doc.save('table.docx')
    
    

    运行结果:
    在这里插入图片描述

    三、设置表格样式

    上边的表格是默认的没有格式的,下边提供了两种设置表格边框的方式.

    1、使用系统style

    #方法一:创建表格时设置
    doc=Document()
    table = doc.add_table(rows=8, cols=5,style =‘Table Grid’)
    doc.save('table.docx')
    #方法二:创建表格后,再设置
    doc=Document()
    table = doc.add_table(rows=8, cols=5)
    table.style =‘Table Grid’
    doc.save('table.docx')
    

    运行结果:
    在这里插入图片描述
    2、自定义表格边框

    #设置表格的边框
    def set_cell_border(cell, **kwargs):
        """
        Set cell`s border
        Usage:
        set_cell_border(
            cell,
            top={"sz": 12, "val": "single", "color": "#FF0000", "space": "0"},
            bottom={"sz": 12, "color": "#00FF00", "val": "single"},
            left={"sz": 24, "val": "dashed", "shadow": "true"},
            right={"sz": 12, "val": "dashed"},
        )
        """
        tc = cell._tc
        tcPr = tc.get_or_add_tcPr()
    
        # check for tag existnace, if none found, then create one
        tcBorders = tcPr.first_child_found_in("w:tcBorders")
        if tcBorders is None:
            tcBorders = OxmlElement('w:tcBorders')
            tcPr.append(tcBorders)
    
        # list over all available tags
        for edge in ('left', 'top', 'right', 'bottom', 'insideH', 'insideV'):
            edge_data = kwargs.get(edge)
            if edge_data:
                tag = 'w:{}'.format(edge)
    
                # check for tag existnace, if none found, then create one
                element = tcBorders.find(qn(tag))
                if element is None:
                    element = OxmlElement(tag)
                    tcBorders.append(element)
    
                # looks like order of attributes is important
                for key in ["sz", "val", "color", "space", "shadow"]:
                    if key in edge_data:
                        element.set(qn('w:{}'.format(key)), str(edge_data[key]))
    
    
    

    调用该函数:

    
    set_cell_border(hdr_cells[0],
            top={"sz": 12, "val": "single", "color": "#FF0000"},
            bottom={"sz": 12, "val": "single", "color": "#FF0000"},
            left={"sz": 12, "val": "single", "color": "#FF0000"},
            right={"sz": 12, "val": "single", "color": "#FF0000"},
        )
    
    
    

    整体代码:

    from docx import *
    from docx.oxml import OxmlElement
    from docx.oxml.ns import  qn##qn#设置中文字体
    #设置表格的边框
    def set_cell_border(cell, **kwargs):
        """
        Set cell`s border
        Usage:
        set_cell_border(
            cell,
            top={"sz": 12, "val": "single", "color": "#FF0000", "space": "0"},
            bottom={"sz": 12, "color": "#00FF00", "val": "single"},
            left={"sz": 24, "val": "dashed", "shadow": "true"},
            right={"sz": 12, "val": "dashed"},
        )
        """
        tc = cell._tc
        tcPr = tc.get_or_add_tcPr()
    
        # check for tag existnace, if none found, then create one
        tcBorders = tcPr.first_child_found_in("w:tcBorders")
        if tcBorders is None:
            tcBorders = OxmlElement('w:tcBorders')
            tcPr.append(tcBorders)
    
        # list over all available tags
        for edge in ('left', 'top', 'right', 'bottom', 'insideH', 'insideV'):
            edge_data = kwargs.get(edge)
            if edge_data:
                tag = 'w:{}'.format(edge)
    
                # check for tag existnace, if none found, then create one
                element = tcBorders.find(qn(tag))
                if element is None:
                    element = OxmlElement(tag)
                    tcBorders.append(element)
    
                # looks like order of attributes is important
                for key in ["sz", "val", "color", "space", "shadow"]:
                    if key in edge_data:
                        element.set(qn('w:{}'.format(key)), str(edge_data[key]))
    
    
    
    
    
    
    
    doc=Document()
    #设置默认字体
    doc.styles['Normal'].font.name = u'宋体'
    doc.styles['Normal'].font.name = u'宋体'
    doc.styles['Normal'].font.name = 'Times New Roman'
    doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
    
    table = doc.add_table(rows=8,  cols=5)
    table.style ='Table Grid'
    hdr_cells = table.rows[0].cells
    hdr_cells[0].text = '编号编号'
    
    
    hdr_cells[1].text = '漏洞名称'
    hdr_cells[2].text = '影响IP'
    hdr_cells[3].text = 'CVE ID'
    hdr_cells[4].text = '危险程度'
    
    
    # #用table的row方法可以得到一个表格的一行list其中包含了这一行的所有cell
    # hdr_cells0 = table.rows[1].cells
    # hdr_cells0[0].add_paragraph('1')
    # hdr_cells0[2].add_paragraph('192.168.1.1')
    # hdr_cells0[3].add_paragraph('CVE-2019-0708')
    # hdr_cells0[4].add_paragraph('高')
    
    
    set_cell_border(hdr_cells[0],
            top={"sz": 12, "val": "single", "color": "#FF0000"},
            bottom={"sz": 12, "val": "single", "color": "#FF0000"},
            left={"sz": 12, "val": "single", "color": "#FF0000"},
            right={"sz": 12, "val": "single", "color": "#FF0000"},
        )
    
    doc.save('table.docx')
    

    运行结果:
    在这里插入图片描述

    三、向表格中添加数据

    1、向表格中第二行添加数据

    hdr_cells0 = table.rows[1].cells
    hdr_cells0[0].add_paragraph('1')
    hdr_cells0[1].add_paragraph('CVE-2019-0708 远程桌面代码执行漏洞')
    hdr_cells0[2].add_paragraph('192.168.1.1')
    hdr_cells0[3].add_paragraph('CVE-2019-0708')
    hdr_cells0[4].add_paragraph('高')
    
    

    运行结果:
    在这里插入图片描述
    2、向指定单元格添加数据

    cell = table.cell(1, 3)  # 获取第二行三列的表格对象(索引是从0开始的)
    cell.text='向第二行第三列添加的文字'# 在单元格中添加文本:
    
    

    运行结果:
    在这里插入图片描述
    四、设置表格对齐

    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
    from docx.enum.table import WD_TABLE_ALIGNMENT, WD_CELL_VERTICAL_ALIGNMENT
    
    
    table.alignment = WD_TABLE_ALIGNMENT.CENTER  # 设置表格居中对齐
    
    for column in table.columns:  # 所有列
        for cell in column.cells:  # 所有单元格
            for paragraph in cell.paragraphs:  # 所有段落
                paragraph.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 水平对齐,居中
    

    运行结果:
    在这里插入图片描述
    我公众号大家可以关注支持一哈
    主要记录一些网络安全和Python的学习。
    在这里插入图片描述

    展开全文
  • 我在Word中制作了一张超长表格,为了让每页表格都能有表头和标题,我设置了重复标题。但是出现的只有标题,而总标题、单位、日期等表头部分却没能出现。请问要怎么做才能让每页自动添加表头(图1)? 图1答:...

    我在Word中制作了一张超长表格,为了让每一页表格都能有表头和标题行,我设置了重复标题行。但是出现的只有标题行,而总标题、单位、日期等表头部分却没能出现。请问要怎么做才能让每页自动添加表头(图1)?

    图1

    答:Word的重复标题行只对表格内文字有效,对表头是无效的。Word中的表格在设置重复标题行后,有一个有趣的特点,那就是当表格上方没有任何文字或空行时,出现在标题行及以上区域的图片、文本框就会重复出现在每一页的相同位置。利用这点即可轻松让表头出现在每一页。

    在Word 2010中载入表格,切换到“页面布局”选项卡,单击“页边距”,选择最下面的“自定义边距”,在弹出的窗口中将“页边距”中“上”的值设置为5厘米(图2),操作的目的是给表头预留空白空间。

    图2

    接着选中表头部分的全部内容进行剪切,剪切后表格上面一般会保留一个空行,按Delete键删除空行以确保表格上没有任何文字。然后切换“插入”选项卡,单击“文本框”,选择“绘制文本框”,拖动鼠标画出一个文本框,把剪切的表头粘贴到文本框中,再选中文本框从“格式”选项卡中设置形状填充为“无填充颜色”,形状轮廓为“无轮廓”。最后调整好文本框的大小,并拖动到标题行上的表头位置即可。

    现在,只要在表格首行的标题行左侧单击一下,在选中标题行时就会同时选中表头(图3),再切换到“表格工具”的“布局”选项卡,单击“重复标题行”即可让表头和标题行一起出现在每一页了。

    图3

    注意:操作中务必注意在表格标题行以上区域,除文本框外不能有其他的文字或空行,否则表头将无法重复出现。除文本框外添加图形、图片等都是可以的。

    展开全文
  • (1)在Word中插入一行两列的表格 (2)将所需要的图片分别拖入两个的格子里 (3)添加图注 比如第一列,将鼠标放在图片的右边,按回车键,再输入标题即可(按需可对图片和图注进行居中) (4)去除表格的...

    结果:
    这里写图片描述

    实现方法:
    (1)在Word中插入一行两列的表格
    这里写图片描述
    (2)将所需要的图片分别拖入两个的格子里
    这里写图片描述
    (3)添加图注
    比如第一列,将鼠标放在图片的右边,按回车键,再输入标题即可(按需可对图片和图注进行居中)
    这里写图片描述
    (4)去除表格的边框,将表格边框设置为无边框即可!
    这里写图片描述

    展开全文
  • 下面将展示如何使用Openxm向Word添加表格.代码中表头和数据我用的同一个TableRow来添加,...表头那一行可以自己通过设置样式来控制 代码如下: using System; using System.Collections.Generic; using System....
  • 表格是组织整理数据的种重要手段,应在生活中的方方面面。...使用工具:Spire.Doc for .NET使用方法:安装后,添加引用dll文件到项目中即可表格添加方法:动态地向Word添加表格和单元格内容,需调用方法...
  • 2007-04-29word文档打印或预览多页的表格中每页问:WORD文件中表格表头如何带到下一页?答:选定需要自动带到下一页的-------右键单击-------表格属性--------在各页顶端以标题形式重复出现上加上“勾”即可。...
  • 问:我在Word中制作了一张超长...为Word文档长表格每页自动添加表头 图1  答:Word的重复标题只对表格内文字有效,对表头是无效的。Word中的表格在设置重复标题后,有个有趣的特点,那就是当表格上方没有
  • 1.word编辑的时候下一页 怎么弄啊word文档增加新页主要有以下几个途径:1、自动添加新页。当文档内容超出页高度时,会自动添加新页,超出页的内容将自动移到下一页。2、手动添加新页,主要有使用快捷键和菜单...
  • 开始想着用freemark做模板解析,但是freemark生成的word文档,无法用poi转化为pdf文档,最后放弃了,只能自己着手写。 在poi的官方代码中提供了四种添加行的方法: table.addNewRowBetween 官方没实现 table....
  • 利用python-docx自动生成表格add_table()方法会返回个Table对象。...、创建个85列的表格from docx import *doc=Document()table = doc.add_table(rows=8, cols=5)doc.save('table.docx')上述代码就在...
  • 昨日使用了PHPword生成WORD文档,折腾了半天,终于折腾出来了。 特此记录一下,分享给大家使用。 1、下载最新PHPWORD 类库 http://phpword.codeplex.com/ 2、解决中文乱码问题。 a)情况 /Writer/Word2007/...
  • Java生成Word文档

    2018-05-09 14:36:31
    在开发文档系统或办公系统的过程中,有时候我们需要导出word文档。在网上发现了个用PageOffice生成...下面的例子中主要有添加标题,正文(段落、字体、字号、倍间距、对齐方式、首行缩进等),插入图片等操作。...
  • 布局,编号选项,然后看图片
  • 怎么把扫描到的文字图片转为word文档...软件的右下角有一个“浏览”按钮,根据自己的需求选择识别后文件的输出存储路径,也可以选择上一行的“保存在原文件夹内”。第三步:开始转换。这一步是最为关键的一步,但也...
  • 通过${ValueList1.value1} 来往里面添加数据, ValueList 即每一行数据的集合 保存word 文档,另存为 xml 格式 2、打开xml文件 搜索 <w:tr> 标识符,在相应的 行 前后 加上 <#list TestEntityList as ...
  • 如果你在某一行文字前也想要添加编号,那么只需要点一次多级列表,它出现1.以后自己按tab键选择需要的编号级数; 3.当你每一级都弄好以后(如上图所示),你可以设置每一级的项目符号和编号,你只需要鼠标点击对应...
  • 场景:有没有遇到过这样的情况,你在一个新打开的Word文档里插入了一个表格,突然想起忘记在表格前写标题了,却发现找不到在表格前插入一行的方法 解决办法:光标放到表格第一个单元(表格最左上角的单元),...
  • [转载]Java生成Word文档

    2018-05-10 14:46:00
    在开发文档系统或办公系统的过程中,有时候我们需要导出word文档。在网上发现了个用PageOffice...下面的例子中主要有添加标题,正文(段落、字体、字号、倍间距、对齐方式、首行缩进等),插入图片等操作。这里写...
  • [原创]Java生成Word文档

    2018-05-09 10:24:00
    在开发文档系统或办公系统的过程中,有时候我们需要导出word文档。在网上发现了个用...下面的例子中主要有添加标题,正文(段落、字体、字号、倍间距、对齐方式、首行缩进等),插入图片等操作。这里写的例子给...
  • 使用Word编辑文档时,可能为了使...1、添加下框线如果要在Word文档的段落之间添加分割线,可先选中整个段落或段落的最后一行,然后在“开始”选项卡的“段落”选项组中,单击【边框和底纹】的下三角按钮,在随即打开...
  • 我是通过预先定义word模版的方式,在里面定义一些特殊字符,然后在导出word时先读取这个模版文档,然后根据传入的map对象将模版中的特殊字符换乘要换的内容,但是如果要换的内容里面加入换行的话 ,无论加入什么...
  • asponse.word按模板导出word文档

    千次阅读 2015-02-12 16:18:09
    前段时间没有表格也是轻松做,今天突然需要往里面添加表格,并且要能自动增加,我就疯了。。。。我查了天资料又研究了一下Asponse.word机理,于是我发现。。。我简直是想多了。挪挪代码就好了嘛。这是我的第篇...
  • 每行必须包含一行,否则将引发错误。 每行必须以以下快捷方式之一开头 缩进会自动添加,因此不要自己添加 如果.rpy文件中未显示任何行,请将快捷方式设为粗体并删除,然后读取以下空格 如果您有任何自定义的python...
  • Java如何制作带表格的word文档

    千次阅读 2020-08-05 17:44:10
    设置和添加表格有关操作 写在最前 ...表格计算行列时,全部和我们平时使用一样,从1开始 创建表格 new WordTable(int row, int column) new WordTable(int row, int column, String css)...创建个 row ,column 列的表

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 305
精华内容 122
关键字:

word文档添加一行