在前边的推文中,我们介绍了用putdocx命令将list结果输出到docx文件,在此基础上,今天给大家介绍一下如何将list结果加上表头,并以不同的表格格式分批输出到docx文件中,并分页展示。
一、 编辑文字内容
首先,我们输入文本“Auto.dta,list结果展示”,并保存为mytable.docx文件。程序如下:
clear all
cap mkdir E:\Stata教程\docx\
cd E:\Stata教程\docx\
! taskkill /F /IM WINWORD.EXE /T
putdocx begin
putdocx paragraph, halign(center)
putdocx text ("Auto.dta"), font("Times New Roman",60,blue) bold linebreak
putdocx text ("list结果展示"), font("华文楷体",50,black) bold
putdocx save mytable1.docx, replace
以上程序在前边putdocx系列推文中已经介绍过,这里不再赘述,执行结果如下:
二、 分批输出list结果
输出1/20行观测值到mytable.docx文件中,程序如下:
sysuse auto,clear
putdocx begin
putdocx pagebreak
putdocx paragraph, halign(left) spacing(after,0)
putdocx text ("Auto,list in 1/20"), bold
putdocx table tbl = data("make price weight length") in 1/20, varnames layout(autofitwindow)
putdocx save mytable.docx,append
首先,调用auto数据,在开始使用putdocx命令后(putdocx begin),用putdocx pagebreak进行换页,然后开始新的一段,输入文本"Auto,list in 1/20",最后将make、price、weight、length四个变量的前20行数据输出到mytable.docx文件中。
这里,介绍一下table选项中的layout选项,autofitwindow表示根据窗口大小自动调整列宽;autofitcontents表示根据表格内容自动调整列宽;fixed表示表格所有的列都相同。默认以窗口大小自动调节列宽。
执行结果如下所示:
02
输出21/40行观测值到mytable.docx文件中,程序如下:
putdocx begin
putdocx pagebreak
putdocx paragraph, halign(left) spacing(after,0)
putdocx text ("Auto,list in 21/40"), bold
putdocx table tbl = data("make price weight length") in 21/40, varnames width(5.5)
putdocx save mytable.docx,append
以 上程序跟前边的程序基本相同,只是改变了文本内容和输出数据的范围,另外注意一下width(5.5)选项,其可以设置表格的宽度,单位可以是 in(inch)、pt (point)、cm (centimeter)、twip (twentieth of a point)。默认以in为单位,即英尺。这里我们设置表格宽度为5.5英尺。
执行结果如下所示:
03
输出41/60行观测值到mytable.docx文件中,程序如下:
putdocx begin
putdocx pagebreak
putdocx paragraph, halign(center) spacing(after,0)
putdocx text ("Auto,list in 41/60"), bold
putdocx table tbl = data("make price weight length") in 41/60, varnames layout(autofitcontents) indent(2)
putdocx save mytable.docx,append
这里把表格设置为以表格内容自动调整列宽,并且用indent(2)选项将表格缩进2英寸,执行结果如下:
04
输出61/74行观测值到mytable.docx文件中,程序如下:
putdocx begin
putdocx pagebreak
putdocx paragraph, halign(center) spacing(after,0)
putdocx text ("Auto,list in 61/74"), boldputdocx table tbl = data("make price weight length") in 61/74, varnames width(5.5)
halign(center) cellspacing(0.08)
putdocx save mytable1.docx,append
这里我们用width选项设置表格宽度为5.5英寸;halign(center)设置表格居中对齐; cellspacing(0.08) 设置相邻单元格之间以及单元格与表格边缘之间的宽度为0.08英寸,执行结果如下:
这样,我们就将list结果加上表头,并以不同的表格格式分批输出到docx文件中,并分页展示。我们也可以通过循环,将list结果分批输出到docx文件中,程序如下:
sysuse auto,clear
forvalue i = 1(20)`=_N'{
putdocx begin
putdocx pagebreak
putdocx paragraph, halign(left) spacing(after,0)
if `=`i'+19' > `=_N'{
putdocx text ("Auto,list in `i'/`=_N'"), bold
putdocx table tbl = data("make price weight length") in `i'/`=_N', varnames width(5.5)
}
else {
putdocx text ("Auto,list in `i'/`=`i'+19'"), bold
putdocx table tbl = data("make price weight length") in `i'/`=`i'+19', varnames width(5.5)
}
putdocx save mytable1.docx,append
}
这也仅仅是Stata15众多新功能之一,后续我们会陆续介绍更多在Stata15中好玩好用的命令,好期待呐!Stata15真是好用的不得了,亲爱的读者朋友们,你有没有心动呢?
如需新版本采购及老版本升级服务,请联系Stata软件在中国大陆的指定经销商友万科技(www.uone-tech.cn),联系人徐青青:Tel/WeChat 18610597626,感谢您的支持与关注!
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
文字编辑:徐露露
技术总编:刘贝贝
往期推文推荐:
7.一言不合就用stata写邮件(Outlook/Foxmail)
9.I have a Stata, I have a python
10.I have a Stata, I have a Python之二——pdf转word
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号