R语言高效数据处理-自定义格式EXCEL数据输出

注:以下代码均为实际数据处理中的笔记摘录,所以很零散,

将就看吧,这一篇只是代表着我还在,所以可能用处不大,这一段时间都很煎熬!

在实际数据处理中为了提升效率,将Excel报表交付给需求方时减少手动调整的环节很有必要

1、excel工作薄创建保存

R 复制代码
#工作薄创建
data_deal_main01<- createWorkbook()
工作薄中添加新的sheet表,当需要在同一个工作薄添加多个时可以直接赋予表格名称新增

addWorksheet(
  data_deal_main01,
  'data_deal_c01',
  gridLines = TRUE,#是否隐藏单元格网格线
  tabColour = NULL,#工作表选项卡颜色设置
  zoom = 100,#工作表缩放大小
  visible = TRUE)#工作表是否隐藏
#工作薄保存
saveWorkbook(data_deal_main01, "data_deal_main01_donefile.xlsx", 
            overwrite = TRUE)#是否重写

2、工作表单元格格式配置与添加

R 复制代码
#创建单元格格式
set_style <- createStyle(fontColour = '#FFFFFF', #字体颜色
                            fgFill = '#2f4cc3',#单元格填充颜色
                            halign = 'center', #单元格数据水平对齐
                            valign = 'bottom',#单元格数据垂直对齐
                            textDecoration = 'bold',#字体加粗
                            border = 'TopBottomLeftRight')#单元格边框的设置
R 复制代码
#1.1单独添加:对指定单元格添加已配置的格式
addStyle(data_deal_main01,
         sheet='data_deal_c01', 
         style=set_style, 
         rows=2:100, 
         cols=1:4, 
         gridExpand = FALSE, #将格式应用于参数中的行列组合,否则格式添加要求行列数相等
         stack = FALSE)#应用的单元格格式是对已有的合并还是替换


#1.2写入数据时添加:将数据写入工作薄,并附带格式(没有对整个表格设定格式的参数)
writeData(data_deal_main01, #工作薄名称
            'data_deal_c01',#sheet表名称 
            data_eg_test,#写入的数据集
            headerStyle=set_style,#已经配置的表头格式
            borders = openxlsx_getOp('borders','all'),#数据边框线覆盖范围
            borderStyle = openxlsx_getOp('borderStyle','thin'))#数据边框线格式

3、工作表字段添加筛选功能的3种方式

R 复制代码
单独对指定表的指定列添加筛选
addFilter(data_deal_main01, #工作薄名称
         'data_test4', #工作表名称
         row = 1,#所在的行
         cols = 1:3)#对应哪些列添加筛选
R 复制代码
#对工作表写入数据时添加筛选,但是是给所有字段
writeData(data_deal_main01, 'data_test4', x = iris[1:100,], withFilter = TRUE)
R 复制代码
#这个函数在工作表写入数据时会自动为字段添加筛选
writeDataTable(data_deal_main01, 'data_test4', iris[1:100,])

4、工作表的复制克隆

R 复制代码
cloneWorksheet(data_deal_main01, 
                'data_deal_c02', #新表名称
                 clonedSheet ='data_deal_c01')#复制的对象表

5、同一个工作表写入多份数据

同一个sheet中写入多个数据,多份数据要给定开始列,写入数据则不会覆盖已有数据

createnameregion创建区域数据的名称,便于在同一个sheet中写入多份数据

R 复制代码
createNamedRegion(
  data_deal_main01 = data_deal_main01,
  sheet = 1,
  name = "data_deal_c04",
  rows = 1:(nrow(data_deal_c04) + 1),
  cols = 1:ncol(data_deal_c04)
)

就像下面的数据输出示例

6、设置单元格列宽与有条件的格式化单元格

R 复制代码
#设置表格列宽度
setColWidths(
  data_deal_main01,
  sheet='data_deal_c01',
  cols=1:5,
  widths =15)
#格式化表格数据
conditionalFormatting(wb,'data_deal_c01',
                    cols=1:5,
                    rows=1:nrow(data_deal_c01)+1,
                    rule='>=0',
                    style=sheet_style)
#数据写入
writeData(data_deal_main01, 'data_deal_test1', data_deal_c01,startCol=1)
writeData(data_deal_main01, 'data_deal_test1', data_deal_c02,startCol=7)

慢慢调整更新吧,都是基础的,也有点用!

相关推荐
Chh07151 天前
《R语言SCI期刊论文绘图专题计划》大纲
开发语言·r语言
Tiger Z2 天前
R 语言科研绘图第 41 期 --- 桑基图-基础
开发语言·r语言·贴图
jerry2011083 天前
R语言之rjava版本不匹配解决方法
开发语言·r语言
Tiger Z6 天前
R 语言科研绘图 --- 饼状图-汇总
开发语言·人工智能·程序人生·r语言·贴图
maizeman1266 天前
R语言——方差分析2
开发语言·r语言·可视化·方差分析·单因素·多重t检验多重比较·tukey多重比较
zhanghongyi_cpp9 天前
R语言操作练习2
r语言
jerry2011089 天前
R语言之环境清理
开发语言·r语言
TDengine (老段)10 天前
TDengine 语言连接器(R语言)
大数据·数据库·物联网·r语言·时序数据库·tdengine·iotdb
maizeman12611 天前
R语言——分布和公式
开发语言·r语言·公式·随机数·分布
Tiger Z12 天前
R 语言科研绘图第 39 期 --- 饼状图-旭日
开发语言·程序人生·r语言·贴图