一、安装xls2dta命令
clear all
ssc install xls2dta,replace
2.1单个excel的单个表单转换为dta文件。
这是最基本的用法,通过以下一行命令就可以实现。(不指定sheet的范围时,xls2dta默认处理第一张表单。)
xls2dta: import excel 财务报表1.xlsx
2.2单个excel的多个表单转化为dta文件。
xls2dta,sheet(1/3): import excel 财务报表1.xlsx,first case(lower)
指定转换财务报表中的前三个sheets,另外可以附加import excel中的选项,令第一行变量作为变量名称,第一行英文字母为小写。
程序运行结果为:
use "e:\xls2dta\财务报表1_1.dta",clear
2.3多个excel的单个表单转换成dta文件。
recursive表示递归地搜索文件名,默认搜索指定路径下的所有子目录中的excel文件,使用这一选项可以实现多个excel文件的一次性转换。sheet(1/3)用于指定前三张表单。把e:/xls2dta/merge路径下的所有excel文件中的前三个表单转换成dta文件,保存到当前路径下。此选项需要安装filelist。
clear all ssc install filelist,replace xls2dta,replace recursive : import excel using e:/xls2dta
2.4多个excel的多个表单转换成dta文件。
xls2dta,replace sheet(1/3) recursive : import excel using e:/xls2dta
ps. 反向输出,如何将dta文件格式输出为excel
1. export excel using "1" // 清楚标注文件路径
2. 复制粘贴
3. 用stata的导出模块
此时输出文件不包含变量名,如果包含变量名需要设置
export excel using "回归文件.dta" ,firstrow(variable) replace #获取变量名 export excel using "nlsw88_varlab.dta" ,firstrow(varlabels) replace #获取变量标签
3合并处理。
3.1横向合并。
xls2dta,replace clear allsheets: merge m:m A using e:/xls2dta/财务报表1.xlsx save merge.dta,replace
将e:/xls2dta/财务报表1.xlsx文件中的所有sheets横向合并起来,转换成一个dta文件。allsheets用于指定所有表单。转换成的dta文件变量名默认依次为ABCDE等大写英文字母。使用A作为关键变量进行横向合并。
3.2纵向合并。
xls2dta,replace clear sheet(1) :append using e:/xls2dta/xls/财务报表*.xlsx save append.dta,replace