# ========== 1. 设置国内清华镜像，大幅提升包安装速度（强烈建议执行） ==========
#options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))

# ========== 2. 安装依赖包（仅第一次运行需要，后续使用可注释掉） ==========
#install.packages(c("haven", "writexl"))

# ========== 3. 加载功能包 ==========
library(haven)   # 专业读取.dta格式，完整保留变量名、标签等信息
library(writexl) # 轻量导出.xlsx，无需额外安装Java环境

# ========== 4. 修改为你自己的文件信息（必须改） ==========
# 设置工作目录：存放4个dta文件的文件夹路径
# Windows路径注意：用正斜杠 / 或者双反斜杠 \\，禁止用单反斜杠 \
#setwd("D:/Stata14")

# 填写你的4个dta文件名（带.dta后缀，按实际文件名替换）


library(readstata13)
library(writexl)

# ========== 以下两处必须修改成你自己的信息 ==========
# 4. 设置dta文件所在的文件夹路径（Windows用正斜杠 /）
setwd("D:/Stata14")

# 5. 填写你的4个dta文件名
dta_file_list <- c(
  "ecfps2018childproxy_202012.dta",
  "ecfps2018famconf_202008.dta",
  "ecfps2018famecon_202101.dta",
  "ecfps2018person_202012.dta"
)
# ======================================================

# 6. 批量循环转换
for (dta_name in dta_file_list) {
  if (!file.exists(dta_name)) {
    cat("??? 找不到文件：", dta_name, "\n")
    next
  }
  
  data_df <- read.dta13(dta_name)  # 核心读取函数
  xlsx_name <- sub("\\.dta$", ".xlsx", dta_name)
  write_xlsx(data_df, path = xlsx_name)
  
  cat("??? 转换完成：", dta_name, " → ", xlsx_name, "\n")
}

cat("\n全部转换完成！文件已输出到原文件夹内。")
