将Excel中的Excel值存储到bert中的变量

时间:2017-03-29 18:16:11

标签: r excel

我目前只是想在Excel中使用BERT控制台,并且在将数据集Iris中的值存储到变量中的简单功能方面遇到了麻烦。我正在使用bert的示例脚本,如下所示:

#
# Here's an example of using the Excel scripting interface
# (paste this code into the shell). 
# 
# For more information, see
#
# https://bert-toolkit.com/excel-scripting-interface-in-r
#

#
# get a reference to the workbook
#
wb <- EXCEL$Application$get_ActiveWorkbook();

#
# add a sheet
#
new.sheet <- wb$get_Sheets()$Add();

# 
# change the name of the new sheet. note that this will
# fail if a sheet with this name already exists. 
#
new.sheet$put_Name( "R Data Set" );

#
# add some data. use matrices.
#
range <- new.sheet$get_Range( "B3:F152" );
range$put_Value( as.matrix( iris ));

#
# add column headers
#
header.range <- new.sheet$get_Range( "B2:F2" );
header.range$put_Value( t( colnames( iris )));

# 
# resize columns to fit
#
range$get_EntireColumn()$AutoFit();

#
# example of using constants: add border (underline) to headers
#
borders <- header.range$get_Borders();
border <- borders$get_Item( EXCEL$XlBordersIndex$xlEdgeBottom );
border$put_Weight( EXCEL$XlBorderWeight$xlThin );

单元格中数字的格式是General,我试图将B列的值存储到变量中,这样我就可以操作这些值。这是我测试的代码,用于获取B列中的值并将它们放在G列中:

col.B <- list("B3:B152");
test.input <- new.sheet$get_Range( "G3:G152" );
test.input$put_Value();

命令行中的输出为TRUE且没有错误,但是这些值没有粘贴到G列中。我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据运行第一个代码块后的设置,此代码将数据从 B 列复制到列 G

da_ta <- new.sheet$get_Range("B3:B152")$get_Value()
new.sheet$get_Range("G3:G152")$put_Value(da_ta)