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)

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

相关推荐
开开心心就好17 小时前
系统管理工具,多功能隐私清理文件粉碎工具
java·网络·windows·r语言·电脑·excel·symfony
kisshuan1239621 小时前
【植物图像分析系列】:基于Cascade R-CNN的叶片气孔状态识别与分类任务详解_1
分类·r语言·cnn
Tiger Z4 天前
《R for Data Science (2e)》免费中文翻译 (第17章) --- Dates and times(1)
r语言·编程·数据科学
杜子不疼.4 天前
计算机视觉热门模型手册:Faster R-CNN / YOLO / SAM 技术原理 + 应用场景对比
人工智能·计算机视觉·r语言·cnn
Davina_yu4 天前
Windows 下升级 R 语言至最新版
开发语言·windows·r语言
青春不败 177-3266-05205 天前
基于R语言生物信息学大数据分析与绘图技术应用
数据分析·r语言·生物信息·生信·高通量
Catherinemin5 天前
【R语言】2.注释&基础运算
开发语言·r语言
邢博士谈科教5 天前
TCGA单基因高低分组的差异分析后的GSEA-GO和KEGG富集分析教程
数据分析·r语言
Catherinemin6 天前
【R语言】1.安装&基础语法
开发语言·r语言
Tiger Z6 天前
R 语言科研绘图 --- 3D绘图-汇总1
r语言·论文·科研·绘图·研究生