精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python_docx制作word文檔的使用說明

        在實習工作中,遇到用python制作word模板的任務,其實說白了就是python-docx的使用。目前網上對這一個庫的介紹得很少,很零散,所以很多功能我是盡量參考其官網,但是官網上面很多功能目前只有說明文檔,而代碼并還沒有及時更新,以至于按照官網上面做了,python卻報錯。比如:自定義表格的高度。下面,我對我在此次工作任務中,所遇到的一些基本的功能分別做一下說明與展示。我用的是python2.7

      1.創建文檔     

  1. from docx import Document
  2. document = Document()

若括號里面寫入word文件路徑,則表明打開該文件

     2.添加標題

document.add_heading('This is my title', 0)

但是,這個有個問題是標題下面有一條橫線,對于重度強迫癥的我是無法容忍的。所以我直接添加段落文字表示標題

  3.添加段落文字

document.add_paragraph('my paragraph')

但是,這只實現了默認格式的段落文字添加,且這里的文字只能是英文。如果要設置中文字體,且對文字設置對齊,顏色,大小等設置,則:

  1. from docx.shared import RGBColor
  2. from docx.shared import Pt
  3. from docx.enum.text import WD_ALIGN_PARAGRAPH
  4. document.styles['Normal'].font.name = u'黑體' #可換成word里面任意字體
  5. p = document.add_paragraph()
  6. p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #段落文字居中設置
  7. run = p.add_run(u'我添加的段落文字')
  8. run.font.color.rgb = RGBColor(54,95,145) #顏色設置,這里是用RGB顏色
  9. run.font.size = Pt(36) #字體大小設置,和word里面的字號相對應

4.添加圖片

pic = document.add_picture('pic.png',width = Inches(1.5))     #圖片和python文件不在同一個文件夾下面的時候,要補全文件地址

默認情況下,圖片在文檔中是左對齊的,如果要對圖片進行居中顯示,在網上找了很多方法都不可行,最后找到一種方法是直接加入以下代碼:

  1. last_paragraph = document.paragraphs[-1]
  2. last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER #圖片居中設置

5.添加表格

table = document.add_table(rows=2, cols=3,style="Table Grid") #添加2行3列的表格

表格的style有很多種,默認情況下表格是沒有邊框的,Table Grid格式是普通的黑色邊框表格,更多表格樣式可以百度。但是,我們很多時候希望對表格進行更為漂亮的修改,比如自定義表格某一列的寬度,表格的高度。

  1. from docx.shared import Inches
  2. # table.autofit = False
  3. col = table.columns[1]
  4. col.width = Inches(5) #設置表格第2列寬度為Inches(5) 默認情況下表格是自動適應文檔寬度

對于表格的高度官網上面有說明文檔,但是其庫函數的代碼沒有更新,所以找了很久才找到下面一種方法,以后官網要是更新了代碼可以按照官網上面的方法進行設置更為簡單一些。

  1. from docx.oxml.ns import qn
  2. from docx.oxml import OxmlElement
  3. for i in range(rows): #遍歷表格的所有行
  4. tr = table.rows[i]._tr
  5. trPr = tr.get_or_add_trPr()
  6. trHeight = OxmlElement('w:trHeight')
  7. trHeight.set(qn('w:val'), "450")
  8. trPr.append(trHeight) #表格的每一行進行高度設置,450這個值可以任意修改

6.表格里面添加文字

  1. heading_cells = table.rows[0].cells #將表格的第一行設置為表頭
  2. for i in range(cols): #cols為表格的列數
  3. p = heading_cells[i].paragraphs[0] #利用段落功能添加文字
  4. run = p.add_run(Arr[i]) #把表頭放在一個數組里面的,這樣方便賦值
  5. p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #居中設置,默認是左對齊
還有一種直接對表格賦值的方式:
table.cell(i,j).text = u'表格文字'       #在表格的i行j列設置文字,默認文字在表格中是左對齊

7.添加表格行

row = table.add_row()

若需要對添加的行進行賦值,其方法和上面是一樣的。

8.文檔的保存

document.save('test.docx')  #可以設置其他路徑

整體代碼如下:

  1. from docx import Document
  2. from docx.oxml.ns import qn
  3. from docx.oxml import OxmlElement
  4. from docx.shared import RGBColor
  5. from docx.shared import Pt
  6. from docx.enum.text import WD_ALIGN_PARAGRAPH
  7. from docx.shared import Inches
  8. document = Document()
  9. document.add_heading('This is my title', 0)
  10. document.add_paragraph('my paragraph')
  11. document.styles['Normal'].font.name = u'黑體'
  12. p = document.add_paragraph()
  13. p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
  14. run = p.add_run(u'我添加的段落文字 ')
  15. run.font.color.rgb = RGBColor(54, 95, 145)
  16. run.font.size = Pt(36)
  17. pic = document.add_picture('logo1.PNG')
  18. last_paragraph = document.paragraphs[-1]
  19. last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER # 圖片居中設置
  20. rows = 2
  21. cols = 3
  22. table = document.add_table(rows=rows, cols=cols,style = "Table Grid") # 添加2行3列的表格
  23. for i in range(rows):
  24. tr = table.rows[i]._tr
  25. trPr = tr.get_or_add_trPr()
  26. trHeight = OxmlElement('w:trHeight')
  27. trHeight.set(qn('w:val'), "450")
  28. trPr.append(trHeight) # 表格高度設置
  29. # table.autofit = False
  30. col = table.columns[1]
  31. col.width = Inches(5)
  32. arr = [u'序號',u"類型",u"詳細描述"]
  33. heading_cells = table.rows[0].cells
  34. for i in range(cols):
  35. p = heading_cells[i].paragraphs[0]
  36. run = p.add_run(arr[i])
  37. run.font.color.rgb = RGBColor(54, 95, 145) # 顏色設置,這里是用RGB顏色
  38. run.font.size = Pt(12) # 字體大小設置,和word里面的字號相對應
  39. p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
  40. table.cell(1, 1).text = u'表格文字'
  41. table.add_row()
  42. document.save('test1.docx')

運行結果如下:





本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python操作docx文檔設置居中并創建表格
用Python讀寫word文檔
Word 神器 python-docx
用python解析word文件(三):style
Python|利用第三方庫編輯word的基本操作
使用python-docx模塊讀寫word文件
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 昌图县| 肃南| 松滋市| 永新县| 柞水县| 景宁| 孟津县| 囊谦县| 马鞍山市| 新竹市| 冷水江市| 洱源县| 黑龙江省| 孝感市| 澜沧| 河东区| 大田县| 合江县| 共和县| 都安| 独山县| 西吉县| 威信县| 洛扎县| 维西| 高雄县| 黄骅市| 永济市| 牙克石市| 长宁区| 浦江县| 鞍山市| 开原市| 承德市| 吉木乃县| 两当县| 汉阴县| 江西省| 焦作市| 蕉岭县| 苍山县|