R xlsx Excel 数字格式

问题描述 投票:0回答:1

我创建了一个工作簿 (createWorkbook) 并设置了标题格式,但是如何设置数值格式,以便在写入/保存到 Excel 时得到以下信息:

对于第一个字段,例如 3615 变成 3,615

对于后续字段,例如 70.658 变成 70.7

注意,我仍然希望 Excel 将值识别为双精度值。

谢谢!

r number-formatting xlsx
1个回答
0
投票

这里有一个方法可以考虑。这种方法只能在 Windows 上使用。

library(RDCOMClient)

path_Excel_File <- "D:/Dropbox/Reponses_Stackoverflow/stackoverflow_346/empty_Excel_File.xlsx"

xlApp <- COMCreate("Excel.Application")
xlApp[["Visible"]] <- TRUE
xlApp[["UseSystemSeparators"]] <- FALSE 
xlApp[["DecimalSeparator"]] <- "."
xlApp[["ThousandsSeparator"]] <- ","
xlWbk <- xlApp$Workbooks()$Open(path_Excel_File)
Sheets <- xlWbk$Sheets()

vector_Val <- c(3615, 70.658)
vector_Format <- c("#,##0", "0.0")
nb_Val <- length(vector_Val)

for(i in 1 : nb_Val)
{
  cell_Obj <- Sheets[[1]]$Cells(1, i)
  cell_Obj[["Value"]] <- vector_Val[i]
  cell_Obj[["NumberFormat"]] <- vector_Format[i]
}
© www.soinside.com 2019 - 2024. All rights reserved.