需要导入 包rJava和xlsx
运用函数write.xlsx:格式:write.xlsx(x, file, sheetName="Sheet1",col.names=TRUE, row.names=TRUE, append=FALSE, showNA=TRUE)
x为数据集,file为文件名(导出到默认文件夹,通过过getwd()查询默认目录,setwd()修改目录)
还可以运用函数write.cxv:格式:write.csv(x, file)
R语言Excel文件Microsoft Excel是使用最广泛的电子表格程序,它是以.xls或.xlsx格式存储数据。 R可以使用某些excel特定的包直接读取这些文件的内容。一些常用的软件包有 - XLConnect,xlsx,gdata等。在这个篇文章中,我们将使用xlsx软件包。 R也可以使用这个包写入excel文件。
安装xlsx软件包
可以在R控制台中使用以下命令来安装xlsx软件包。它可能会要求安装一些这个包所依赖的附加包。按照相同的命令与所需的包名来安装附加的包。
install.packages("xlsx")
R
验证并加载“xlsx”软件包
使用以下命令来验证和加载xlsx包。参考以下代码 -
# Verify the package is installed.
any(grepl("xlsx",installed.packages()))
# Load the library into R workspace.
library("xlsx")
R
当脚本运行时,得到以下输出 -
[1] TRUE
Loading required package: rJava
Loading required package: methods
Loading required package: xlsxjars
Shell
注: 如果第一个输出结果为:FALSE,请 install.packages("xlsx") 语句重新加载安装。
准备xlsx文件用作为输入
打开Microsoft excel。将以下数据复制并粘贴到名为sheet1的工作表中。
idname salarystart_datedept
1Rick 623.31/1/2012IT
2Dan 515.2 9/23/2013 Operations
3Michelle 61111/15/2014IT
4Ryan 7295/11/2014HR
5Gary 843.253/27/2015Finance
6Nina 578 5/21/2013IT
7Simon 632.87/30/2013Operations
8Guru 722.56/17/2014Finance
Txt
如下所示 -
如下所示 -
还将以下数据复制并粘贴到另一个工作表,并将此工作表重命名为city。
name city
Rick Seattle
Dan Tampa
Michelle Chicago
Ryan Seattle
Gary Houston
Nina Boston
Simon Mumbai
Guru Dallas
如下所示 -
将Excel文件另存为“input.xlsx”,应该将此文件保存在R工作区的当前工作目录中。
读取Excel文件
使用read.xlsx()函数读取input.xlsx,如下所示,结果作为数据帧存储在R环境中。
# Read the first worksheet in the file input.xlsx.
data <- read.xlsx("input.xlsx", sheetIndex = 1)
print(data)
R
当我们执行上述代码时,会产生以下结果 -
id name salary start_date dept
1 1 Rick 623.30 2012-01-01 IT
2 2 Dan 515.20 2013-09-23 Operations
3 3 Michelle 611.00 2014-11-15 IT
4 4 Ryan 729.00 2014-05-11 HR
5 NA Gary 843.25 2015-03-27Finance
6 6 Nina 578.00 2013-05-21 IT
7 7Simon 632.80 2013-07-30 Operations
8 8 Guru 722.50 2014-06-17Finance
可以,不过我没有发现比较容易的办法,您提到的这个功能很好用,可以随意改变报表的结构而不需要拆分单元格,可以把excel的数据变成图片的格式,这个图片可以根据目标的单元格的数据改变而改变,同时具有图片的特性,可以灵活调整大小等等,非常的灵活和方便。步骤如下: 1、插入-对象 2、选择 位图图像 3、然后确定:此时可以在excel看到一个空白的位图 4、点击空白位图(此时单元格的值为=EMBED("Paint.Picture","") 5、把=EMBED("Paint.Picture","")变成=A1:C10,此时就可以把A1到C10的数据变成图片了=A1:C10可以随便改变的。 顺便提一下,此位图具有画图的功能,可以在上边画一些特殊的图像。 有更简单的方法请告知我(以前一个朋友告诉我使用什么照相机等等可以实现)!谢谢