當前位置:
首頁 > 最新 > 玩轉stata15—putdocx生成word文檔

玩轉stata15—putdocx生成word文檔

putdocx是Stata15最閃亮的功能之一,有了putdocx,用戶可以用命令行生成word文檔。你可以控制文檔的紙張大小、頁邊距、每一個字的字體、大小、顏色、背景,你可以向文檔中插入圖片、表格,控制表格內每一個單元格的格式、對齊方式、單元格的網格狀態等。本公眾號將陸續介紹putdocx的這些功能。有了putdocx,Stata幾乎可以和MS WORD無縫對接。

我最閃亮

GIF/1K

在我們學習這個命令之前,需要先做一些準備工作,學習兩個命令:

如果我們使用putdocx命令去修改一個已經打開的.docx文件,將會報錯。因此,我們試圖用命令關閉已經打開的word文檔,注意,這一行命令非常危險,萬一你有一個正在修改的文件沒有保存,一下的命令會強行關閉你的word,相關的修改也將丟失!

關閉word的命令是一個DOS命令!這就是臭名昭著的taskkill,他根本不問你要不要存檔,就不問青紅皂白地將你的word關閉了!命令很簡單,就是下面的一行,其中最前面的「!」是調用操作系統shell的命令。

! taskkill /F /IM WINWORD.EXE /T

最終編輯完後,需要查看文件內容,我們可以用winexec命令將一個word文檔打開,不過你一定要知道你的WINWORD.exe在哪裡保存,以我的計算機為例,我的WINWORD.exe保存在如下的路徑:

C:Program Files (x86)Microsoft OfficeOffice14/WINWORD.EXE

假定你要打開的word文檔是D:mytable.docx,那麼,打開這個文檔的命令就是下面的了:

winexec "C:Program Files (x86)Microsoft OfficeOffice14/WINWORD.EXE" ///

D:/mytable.docx

先試試下面的命令吧,這個命令首先試圖關閉word,然後打開一個word文檔,然後休息10秒鐘後再關閉掉!

! taskkill /F /IM WINWORD.EXE /T

winexec "C:Program Files (x86)Microsoft OfficeOffice14/WINWORD.EXE" ///

D:/mytable.docx

sleep 10000

! taskkill /F /IM WINWORD.EXE /T

下面我們就開始對putdocx命令的學習,我們試圖構造一個簡單的word文檔,並把它打開。

1

錄入文本內容

為了防止要編輯的.docx文件已經打開,造成程序報錯,我們首先用taskkill命令關閉所有打開的word文件。

! taskkill /F /IM WINWORD.EXE /T

要實現putdocx命令各種強大的功能,首先必須聲明,聲明我們要開始putdocx了,對應的命令是:

putdocx begin

然後,我們可以試圖寫入一段話,注意,一個docx文件包含很多段落,每一次寫入一段必須聲明,對應的命令是:

putdocx paragraph, halign(left) //寫入一段,將段落內容左對齊

此時,我們可以開始輸入文本內容了,所用到的命令是putdocx text。例如我們輸入如下內容:

putdocx text ("This is the first paragraph"), bold linebreak //輸入加粗的文本"This is the first paragraph",並在結尾處換行。

putdocx text ("這是一個粗體字"), bold linebreak underline(dotted) //輸入加粗的文本"這是一個粗體字",給文本加上點式下劃線,並在結尾處換行

putdocx text (""), linebreak //不輸入文本內容,直接換行

putdocx text ("這是一個粗體字"), font("華文楷體",30,red) bold underline(dash) //輸出加粗文本"這是一個粗體字",字體為華文楷體,字型大小為30,顏色為紅色,給文本內容加上虛下劃線。

putdocx paragraph, halign(center) //再重新開始一段新的文本內容,使文本內容居中。

putdocx text ("這是一個粗體字"), font("華文隸書",80,blue) //輸入文本"這是一個粗體字",字體為華文隸書,字型大小為80,顏色為藍色。

我們要把以上輸入的這段文字保存在.docx文件裡面,這時候需要用到命令putdocx save。

putdocx save D:/mytable.docx, replace //將文本內容保存成D盤的mytable.docx文件。

我們用winexec命令打開編輯後的docx文件,就可以看到輸出的結果如下:

winexec "C:Program Files (x86)Microsoft OfficeOffice14/WINWORD.EXE" ///

D:/mytable.docx

2

插入表格

由於剛才我們已經使用putdocx save命令將錄入的文本內容進行保存了,為了插入表格,我們需要再次聲明開始putdocx。

putdocx begin

插入和編輯表格需要用到的命令是putdocx table,使用這個命令時,我們需要對插入的表格設定一個名字。這裡,我們首先插入一個三行四列的空白表格,表格的名字叫做tbl2,並對表格的單元格內容進行編輯。

putdocx table tb12=(3,4)

putdocx table tb12(1,1)=("cell 1by1"), halign(center) //將表格第一行第一列的單元格加入文本"cell 1by1",並居中。

輸入完表格內容,我們同樣是需要用putdocx save保存一下,但是如果我們用選項replace,先前的文本內容就會被替換掉,所以我們用了選項append將表格拼接到原來的文本內容後面。

putdocx save D:/mytable.docx, append

這個時候我們在用程序打開這個文件,就可以看到輸出結果如下,表格放置在了我們之前編輯的文本內容之後:

除了可以插入一個表格外,putdocx table命令也可以將Stata中的矩陣插入到.docx文件中。在這裡,我們調用auto.dta文件,做一個簡單的回歸,並將結果通過矩陣輸出到.docx文件中。

sysuse auto, clear

reg mpg weight length headroom foreign

回歸中各個變數的係數、標準誤、t值等信息都存儲在了矩陣r(table)中,我們可以用mat list命令看到矩陣的內容。

mat list r(table)

但是這樣的矩陣和我們平時輸出的習慣不一樣,我們更偏愛的格式是變數名在第一列,因此我們需要對這個矩陣進行轉置。

mat rt=r(table)

mat list rt

接下來,我們就要把這個矩陣的內容輸出了,還是要先聲明我們開始使用putdocx了。

putdocx begin

在使用putdocx table命令將矩陣輸出時,我們保留行列名稱,並將數字的格式設置為%7.2f。

putdocx table tbl2 = matrix(rt), rownames colnames nformat(%7.2f)

插入表格後,我們將這部分內容拼接到D:/mytable.docx,並用程序打開。

putdocx save D:/mytable.docx, append

winexec "C:Program Files (x86)Microsoft OfficeOffice14/WINWORD.EXE" ///

D:/mytable.docx

我們通過以上程序生成的.docx文件已經上傳到了網站上,鏈接為:http://202.114.234.173:8669/appres/COMMONUSE/mytable.docx,大家可以下載查看。今天我們介紹的是putdocx很基本的一些功能,今後我們還將陸續為大家介紹putdocx、putpdf、markdown等Stata15更多更強大的新功能。

以上就是今天給大家分享的內容了,說得好就賞個銅板唄!有錢的捧個錢場,有人的捧個人場~。

應廣大粉絲要求,爬蟲俱樂部的推文公眾號打賞功能可以開發票啦,累計打賞超過1000元我們即可給您開具發票,發票類別為「諮詢費」。用心做事,只為做您更貼心的小爬蟲。第一批發票已經寄到各位小主的手中,大家快來給小爬蟲打賞呀~

文字編輯:司海濤

技術總編:劉貝貝

往期推文推薦:

1.高校學術大神:你的導師上榜了嗎?

2.中國高校財經、管理與綜合類期刊灌水排行榜

3.關於RTF你不知道的命令之番外篇

4.免費事件研究,一片片從郵局寄來

5.免費的股價同步性,一片片從郵局寄來

6.Stata叫你回家聽音樂了!

7.一言不合就用stata寫郵件(Outlook/Foxmail)

8.聽說你想知道怎麼用stata畫地圖?

9.I have a Stata, I have a python

10.I have a Stata, I have a Python之二——pdf轉word

此外,歡迎大家踴躍投稿,介紹一些關於stata的數據處理和分析技巧。

歡迎關注爬蟲俱樂部

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 爬蟲俱樂部 的精彩文章:

TAG:爬蟲俱樂部 |

您可能感興趣

WordPress怎麼生成sitemap.xml?插件XML Sitemap & Google News
mysql8+mybatis-plus3.1自動生成lombok和swagger和增刪改查介面
lunix 腳本運行時,自動生成hs err pid14165.log
Gradle Kotlin DSL的accessors 生成問題
rapid-generator自動生成代碼步驟
使用gradle生成Spring Boot應用的Docker Image
NetCore2.1 WebAPI 根據swagger.json自動生成客戶端代碼
「python」生成器的高級應用send、close和throw方法
Regenerate Thumbnails讓WordPress重新生成特色圖像更簡單
LeaFlet學習之結合turf.js生成簡單的等值線demo
4月Feelreal將為氣味生成面具再次開啟Kickstarter眾籌
Mybatis+velocity自動生成代碼
Additive Works推出用於生成3D列印支撐的新Amphyon模塊
TensorFlow官方力推、GitHub爆款項目:用Attention模型自動生成圖像字幕
Python 模塊學習:random 隨機數生成
靜態站點生成器:makesite.py
SpringMVC,Spring,Hibernate框架自動生成器
python機器學習庫sklearn——生成樣本數據
facebook:用音樂生成3D動畫
CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解