图片 14

Python读写docx文件的方法

关于Word新建表格样式的问题解答

问题:比如,我想在word中设置固定的页边距为上下均为3.6cm,左右均为2.7cm;正文为三号仿宋字体。怎么设置能够保证每次新建文档都是以上固定格式?

Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip
install python-docx安装一下。

本文实例讲述了使用PHPWord生成word文档的方法。分享给大家供大家参考,具体如下:

①启动Word2010,插入表格,如下图所示。

回答:

这里说一句,ppt和excel也有类似的库哦,而且是直接读取文件里面的xml数据。所以doc格式得另找其他库处理,doc格式不是基于xml的。

有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑。PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。

图片 1

  1. 一、在电脑桌面的Word2013文档程序图标上双击鼠标左键,将其打开运行。点击“空白文档”命令,新建一个空白的Word文档。如图所示;

    图片 2

  2. 二、在打开的Word文档窗口中,在开始菜单选项卡中,点击“样式”功能区的“样式”按钮。如图所示;

    图片 3

  3. 三、在打开的“样式”窗格中,点击“新建样式”按钮。如图所示;

    图片 4

  4. Python读写docx文件的方法。四、点击“新建样式”按钮选项后,这个时候会打开“根据格式设置创建新样式”对话窗口。如图所示;

    图片 5

  5. 五、在打开“根据格式设置创建新样式”对话框中,在“名称”编辑框中输入新建样式的名称。然后单击“样式类型”下拉三角按钮,在“样式类型”下拉列表中包含五种类型:

    a段落:新建的样式将应用于段落级别;

    b字符:新建的样式将仅用于字符级别;

    c链接段落和字符:新建的样式将用于段落和字符两种级别;

    d表格:新建的样式主要用于表格;

    e列表:新建的样式主要用于项目符号和编号列表。

    图片 6

    图片 7

    图片 8

    图片 9

    图片 10

    图片 11

  6. 六、点击“样式基准”下拉三角按钮,在“样式基准”下拉列表中选择Word2013中的某一种内置样式作为新建样式的基准样式。如图所示;

    图片 12

  7. 七、点击“后续段落样式”下拉三角按钮,在“后续段落样式”下拉列表中选择新建样式的后续样式。本教程选择新建的样式作为后续样式。如图所示;

    图片 13

  8. 八、在“格式”区域,根据实际需要设置字体、字号、颜色、段落间距、对齐方式等段落格式和字符格式。如果希望该样式应用于所有文档,则需要选中“基于该模板的新文档”单选框。设置完毕单击“确定”按钮即可。如图所示;

    图片 14

帮助文档:http://python-docx.readthedocs.org/en/latest/

下载源码

②选中表格,菜单栏会出现设计选项卡,单击新建表样式。

回答:

1、新建或打开文件。这个比较简单用docx的Document类,若指定路径则是打开文档;若没有指定路径则是新建文档

安装

图片 15

在日常公文处理中,对于页边距有固定的要求。一般情况下,要求上边距3.7cm,下边距3.3cm,左右边界各2.7cm。但是word一般默认的页边距是上下各2.54cm,左右各3.17cm,不符合要求。从事文秘工作的人员每次都要对页边距进行调整,有时候难免会有疏忽,没有调整,甚至因此被认为是做事不认真。其实,完全可以把自己所用的word调整为固定格式。方法也十分简单:

#coding:utf-8
import docx

#新建文档
doc_new = docx.Document()

#读取文档
doc = docx.Document(ur'C:1.docx')

我们使用Composer 来安装PHPWord。

③我们可以根据自己的需要手动进行设置,属性格式可共选择的很多。
word新建表格样式,word如何新建表格样式

第一步,打开word,从“文件”选项找到找到“页边距”。

2、保存文件。有打开,就有保存。用Document类的save方法,其中参数是保存的文件路径,或者要保存的文件流。一般指定路径即可。

composer require phpoffice/phpword

图片 16

第二步,把页边距分别设为边距3.7cm,下边距3.3cm,左右边界各2.7cm。

doc.save(path_or_stream)

如何使用

④确定之后,我们在第二步的界面中就可以看到新建立的表格样式了。

第三 步,设置完后点击“页边距”左下角的“默认”。

3、对象集合。python-docx包含了word文档的相关对象集合。

自动加载

图片 17

设置完成,再次在同一台电脑上打开”word“时,页边距就是固定的标准格式了。

doc.paragraphs #段落集合
doc.tables #表格集合
doc.sections #节 集合
doc.styles #样式集合
doc.inline_shapes #内置图形 等等...

安装好phpword后,新建一个php文档,引入autoload.php。

4、插入段落。段落是word最基本的对象之一。

require 'vendor/autoload.php';
doc.add_paragraph(u'第一段',style=None) #插入一个段落,文本为“第一段”
#默认是不应用样式,这里也可以不写style参数,或者指定一个段落样式
doc.add_paragraph(u'第二段',style='Heading 2')

#这些样式都是word默认带有的样式,可以直接罗列出来有哪些段落样式
print [s.name for s in doc.styles if s.type==1]

实例化

5、新增样式。这个帮助文档里面说得不仔细,而且还是英文的。我手头上的项目用到这个,就自己琢磨出怎么使用,如下。

实例化并新增一个空白页。

#coding:utf-8
from docx import Document
from docx.shared import RGBColor #这个是docx的颜色类

#新建文档
doc = Document()

#新增样式(第一个参数是样式名称,第二个参数是样式类型:1代表段落;2代表字符;3代表表格)
style = doc.styles.add_style('style name 1', 2)

#设置具体样式(修改样式字体为蓝色,当然还可以修改其他的,大家自己尝试)
style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)
$phpWord = new PhpOfficePhpWordPhpWord();$section = $phpWord->addSection();

6、应用字符样式。字符自然是在段落里面的,可以采用下面方法给段落追加文字和设置字符样式。

添加文字内容

#插入一个空白段落
p = doc.add_paragraph('')
p.add_run('123', style="Heading 1 Char")
p.add_run('456')
p.add_run('789', style="Heading 2 Char")

#这样一个段落就应用了两个字符样式,中间“456”就没应用样式
print p.text #输出结果是u'123456789' 也还是连续的

向空白页添加文字内容,可以设置文字的样式,包括字体、颜色、字号、粗体等等。

7、设置字体。当然可以不用通过设置样式对某些字进行设置,也可以直接设置。

$fontStyle = [ 'name' => 'Microsoft Yahei UI', 'size' => 20, 'color' => '#ff6600', 'bold' => true];$textrun = $section->addTextRun();$textrun->addText('你好,这是生成的Word文档。 ', $fontStyle);
p = doc.add_paragraph('')
r = p.add_run('123')
r.font.bold = True #加粗
r.font.italic = True #倾斜 等等...

链接

8、表格操作。表格也是经常用到的一种对象类型。

可以为Word文档中的文字添加用于点击跳转的链接。

#新建一个2x3的表格,style可以不写
table=doc.add_table(rows=2,cols=3,style=None)

#可以用table 的rows和columns得到这个表格的行数和列数
print len(table.rows)
print len(table.columns)

#遍历表格
for row in table.rows:
 row.cells[0].text = '1'
 #print row.cells[0].text

#新增行或列
table.add_row()
table.add_column()
$section->addLink('https://www.helloweba.net', '欢迎访问Helloweba', array('color' => '0000FF', 'underline' => PhpOfficePhpWordStyleFont::UNDERLINE_SINGLE));$section->addTextBreak();

Word常见操作差不多就是这些。大家可以查看帮助文档,也可以用dir和help查看对象的方法属性和帮助。

图片

以上这篇Python读写docx文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

可以在word中添加图片,如图片地址logo.png,尺寸为64×64。图片源也可以是远程图片。

您可能感兴趣的文章:

  • Python使用win32com模块实现数据库表结构自动生成word表格的方法
  • 使用Python通过win32
    COM实现Word文档的写入与保存方法
  • Python读取指定目录下指定后缀文件并保存为docx
  • python docx
    中文字体设置的操作方法
  • Python读取Word(.docx)正文信息的方法
  • python3如何将docx转换成pdf文件
  • Ubuntu下使用python读取doc和docx文档的内容方法
  • python-docx修改已存在的Word文档的表格的字体格式方法
  • Python操作word常见方法示例【win32com与docx模块】
$section->addImage('logo.png', array('width'=>64, 'height'=>64));

页眉

为Word文档添加页眉。

$header = $section->addHeader();$header->addText('Subsequent pages in Section 1 will Have this!');

页脚

为word文档添加页脚,页脚内容是页码,格式居中。

$footer = $section->addFooter();$footer->addPreserveText('Page {PAGE} of {NUMPAGES}.', null, array('alignment' => PhpOfficePhpWordSimpleTypeJc::CENTER));

增加一页

继续增加一页,加入内容。

$section = $phpWord->addSection();$section->addText;

表格

增加一个基础表格,可以设置表格的样式。

$header = array('size' => 16, 'bold' => true);$rows = 10;$cols = 5;$section->addText('Basic table', $header);$table = $section->addTable();for ($r = 1; $r <= 8; $r++) { $table->addRow(); for ($c = 1; $c <= 5; $c++) { $table->addCell->addText("Row {$r}, Cell {$c}"); }}

生成Word文档

如果你想生成word文档放在服务器上,可以使用:

$objWriter = PhpOfficePhpWordIOFactory::createWriter;$objWriter->save;

下载Word文档

如果你想直接下载Word文档,不在服务器上保存的话,可以使用:

$file = 'test.docx';header("Content-Description: File Transfer");header('Content-Disposition: attachment; filename="' . $file . '"');header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');header('Content-Transfer-Encoding: binary');header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header;$xmlWriter = PhpOfficePhpWordIOFactory::createWriter;$xmlWriter->save;

上述代码会强制浏览器下载为word文档。

更多有关PHPWord的内容,请参考PHPWord文档:.

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《php字符串用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。