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)

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

相关推荐
善木科研15 小时前
读文献先读图:GO弦图怎么看?
机器学习·数据分析·r语言
Tiger Z16 小时前
R 语言科研绘图第 55 期 --- 网络图-聚类
开发语言·r语言·贴图
十三画者21 小时前
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
python·机器学习·数据挖掘·数据分析·r语言·数据可视化
lishaoan773 天前
实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题
回归·r语言·线性回归·残差分析·实验设计与数据分析·回归显著性
南瓜胖胖3 天前
【R语言编程绘图-mlbench】
开发语言·机器学习·r语言
天桥下的卖艺者3 天前
R语言使用随机过采样(Random Oversampling)平衡数据集
开发语言·r语言
Biomamba生信基地4 天前
R语言基础| 创建数据集
开发语言·r语言·生信·医药
lishaoan774 天前
实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.19 R语言解题
r语言·方差分析·实验设计与分析·残差分析·正态假设·交互作用
weixin_493202635 天前
R语言错误处理方法大全
开发语言·r语言
lishaoan775 天前
实验设计与分析(第6版,Montgomery)第4章随机化区组,拉丁方, 及有关设计4.5节思考题4.1~4.4 R语言解题
r语言·统计分析·方差分析·实验设计与分析·随机化区组