2
我想將保存爲啓用宏的工作簿(Jimmy.xlsm)保存爲Jimmy.xlsx的Excel文件(稱其名稱爲「Jimmy」)。在R中將.xlsm轉換爲.xlsx
我需要在編碼環境中完成此操作。我不能簡單地通過在Excel中打開文件並分配不同的文件類型來改變這一點。我目前正在編程R.如果我使用功能
file.rename("Jimmy.xlsm", "Jimmy.xlsx")
該文件變得損壞。
我想將保存爲啓用宏的工作簿(Jimmy.xlsm)保存爲Jimmy.xlsx的Excel文件(稱其名稱爲「Jimmy」)。在R中將.xlsm轉換爲.xlsx
我需要在編碼環境中完成此操作。我不能簡單地通過在Excel中打開文件並分配不同的文件類型來改變這一點。我目前正在編程R.如果我使用功能
file.rename("Jimmy.xlsm", "Jimmy.xlsx")
該文件變得損壞。
在您的框架中,您必須在表格中閱讀並將其寫回。假設你有一個名爲「testXLSM2X.xlsm」的XLSM文件(包含宏,我假設)包含一個帶有表格列數據的工作表。這將做到這一點:
library(xlsx)
r <- read.xlsx("testXLSMtoX.xlsm", 1) # read the first sheet
# provides a data frame
# use the first column in the spreadsheet to create row names then delete that column from the data frame
# otherwise you will get an extra column of row index numbers in the first column
r2w<-data.frame(r[-1],row.names=r[,1])
w <- write.xlsx(r2w,"testXLSMtoX.xlsx") # write the sheet
當然,宏將被剝離出來。
這是一個答案,但我會質疑你在努力完成什麼。一般來說,從Excel中控制R比從R中控制Excel更容易。我使用來自http://rcom.univie.ac.at/的REXCEL,它不是開源的,但非常強大。
[百萬種連接R和excel的方式](http://www.thertrader.com/2014/02/11/a-million-ways-to-connect-r-and-excel/)值得一讀取,以及[xlsx包是否適用於R中的xlsm文件?](http://stackoverflow.com/a/11215451/4002530) – tospig