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)

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

相关推荐
天桥下的卖艺者20 小时前
chrals.CTI函数升级版发布,增加了CTI衍生的脂肪指数提取
数据库·r语言
小师兄吃牛肉2 天前
什么是R语言?如何快速学习R语言
开发语言·学习·r语言
喆星时瑜3 天前
Win10/11 安装 R 与 RStudio 详细图文教程
开发语言·r语言·安装
喆星时瑜3 天前
R语言基础语法入门
开发语言·r语言
喆星时瑜3 天前
R语言向量语法的详细教程
开发语言·r语言
临床数据科学和人工智能兴趣组5 天前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
babe小鑫15 天前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
深兰科技16 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
赵钰老师17 天前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言
User_芊芊君子21 天前
RStudio 鸿蒙 PC 适配全记录:以 Qt 原生工作区承载嵌入式 R
qt·r语言·harmonyos