excel转换为dta格式

时间:2024-03-12 12:00:26

一、安装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