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