还在纠结用如何用R读取Excel的同学有福了。昨天逛CRAN的时候发现了一个xlsx包,它给出的介绍是可以读取、写入Excel 2007/2003文件并支持格式的设置。简单地来说,将Excel读取为数据框,以及将数据框写入为Excel文件都不是问题,而更加强大的是它能处理Excel中的格式,比如合并单元格,设置列的宽度,设置字体和颜色等等。

如果只需要基本的读取/写入操作,那么其中的read.xlsx()write.xlsx()应该就能满足大部分的需求了,其用法也很简单,看看帮助文档就了解了。此外,还有两个相应的函数read.xlsx2()write.xlsx2(),按作者的话说,这两个函数使用了不同的实现方式,效率上会更高一些。

除了基本的读写操作之外,如之前所说,xlsx包还能进行格式方面的设置。下面是一个简单的例子,说明了如何创建工作簿和工作表,如何操作单元格等。感兴趣的朋友不妨运行一下下面的例子,看看最终的效果。

ind = read.table(url("http://yixuan.cos.name/cn/wp-content/uploads/2012/01/ind.txt"),sep = "\t");library(xlsx);
# Create a new workbook
wb = createWorkbook();
# Create a new sheet with a name
sheet1 = createSheet(wb, "第一页");
# Set the zoom ratio when you open the Excel file
setZoom(sheet1, 50, 100);
# Set the width of columns
setColumnWidth(sheet1, 1:100, 2.8);# Create rows
rows = createRow(sheet1, 1:40);
# Create cells for each row
cells = createCell(rows, 1:73);
# Merge the first row into one cell
addMergedRegion(sheet1, 1, 1, 1, 73);
# Create the style for title cell
title_cell_style = CellStyle(wb,alignment = Alignment(horizontal = "ALIGN_CENTER"),font = Font(wb, "blue", 50, isBold = TRUE));
# Create the style for black cells
black_cell_style = CellStyle(wb,border = Border(),fill = Fill(foregroundColor= "black"));
# Get the first row
first_row = getRows(sheet1, 1);
# Get the title cell from first row
title_cell = getCells(first_row, 1)[[1]];
# Set the value of the title cell
setCellValue(title_cell, "Read/Write Excel!");
# Set the style of the title cell
setCellStyle(title_cell, title_cell_style);
# Set the style of black cells
tmp = mapply(function(x, y) setCellStyle(cells[[x, y]], black_cell_style),ind[, 1] + 3, ind[, 2] + 5);
# Save the workbook into a file
saveWorkbook(wb, "test.xlsx");

总的来说,xlsx包是我目前见过的功能最全的操作Excel的R包,它只依赖于Java环境和rJava、xlsxjars两个包,在多种平台下都能运行,局限是写操作只支持Excel 2007格式(*.xlsx),对于机器上只有MS Office 2003的人来说可能会有些不便。(LibreOffice和OpenOffice.org都可以打开Excel 2007文件)

用R读取Excel的新方法相关推荐

  1. pythonselenium实战 excel读取和写入_Python3.6+selenium2.53.6自动化测试_读取excel文件的方法...

    环境: 编辑工具: 浏览器: 安装xlrd 安装DDT 一 分析 1 目录结构 2 导入包 二 代码 import xlrd class ExcelUtil(): def __init__(self, ...

  2. java利用poi读取excel_java利用POI读取excel文件的方法

    摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...

  3. R语言读取Excel文件的方法

    [软件版本] 操作系统:Win7 旗舰版 R语言版本:R-3.6.3-win.exe RStudio版本:RStudio-1.3.1093.exe RTools版本:Rtools35.exe Java ...

  4. R读取excel文件乱码 read.xlsx() 解决方法

    1. 参考[R语言]R读取含中文excel文件,read.xlsx乱码问题  该文章总结得很好,可以直接跳到最后看博主的总结. 2. 如果依旧是乱码那么用read.xlsx2()去读取excel文件, ...

  5. POI 读取excel大量数据方法

    今天在做excel文件上传时,发现数据量超过10万条后,系统会出现内存溢出. 跟踪代码发现程序卡在如下代码这里: Workbook workbook=WorkbookFactory.create(ne ...

  6. 小计64位win7上R读取excel过程

    首先尝试的是RODBC,不过过程相当不顺利 我电脑上安装的是office 2003,ODBC数据源里面找不到excel的驱动程序 原因是office是32为版本,安装的驱动程序无法在64位的win7上 ...

  7. java读取excel数据的方法是_java怎么读取excel文件里的数据

    展开全部 下面是一个简单的读取例子,如果报"java.io.IOException: Invalid header signature; read 4503608217567241, exp ...

  8. java poi 读取excel 图片_Poi读取excel插图的方法和操作步骤

    我们在使用Excel制作表格的时候,有时会使用"Poi读取excel插图",但是很多初学者都不懂也不会制作.下面,我就给大家讲一下"Poi读取excel插图"的 ...

  9. 使用JDBC操作EXCEL的新方法

    Excel是常用的办公工具,如果你是一个sql高手,可能希望能用SQL来操作Excel文件,因为有时候用SQL操作数据更简单,功能更强.目前在Java中用sql操作excel文件的方法一般是通过jdb ...

  10. R 读取excel的方法

    1.加载 readxl 包,利用 reade_excel() 函数 install.packages("readxl") library(readxl) data = read_e ...

最新文章

  1. HDU1203_I NEED A OFFER!【01背包】
  2. Hessian 原理分析--转
  3. LeetCode 68. 文本左右对齐(字符串逻辑题)
  4. vue 列表更改排序,不刷新问题
  5. mysql数据表的字段操作
  6. 在經歷了8個Beta版和1個RC版後
  7. Ext.data.Store 获取Json数据只有一行,而且是最后一行
  8. 中国大学50强排行:北大清华复旦位列三甲
  9. [转载] python中list与string的转换
  10. html进阶css(5)
  11. 程序员,成为北京人,只差月薪 7w 了。
  12. 我的世界光影mod怎么用_我的世界RTX beta版视频体验:仿佛打破了次元壁
  13. 用php照片艺术化,不满足简单修图?这些应用能让照片充满艺术感
  14. JDK的环境变量配置(步骤超级简单)
  15. delphi跨平台linux的版本,Delphi 2011 发布了 跨 MAC,LINUX,WINDOWS 平台
  16. ctf 实验吧 围在栅栏中的爱 (最近一直在好奇一个问题,QWE到底等不等于ABC? )
  17. Alertmanager 告警详解
  18. 谭浩强c语言第五版视频,张子枫平胸
  19. 「带队伍」的关键是什么?
  20. C# 浅拷贝与深拷贝

热门文章

  1. [转载]你是那个能和我同行一生的人吗?
  2. 【OpenCV入门指南】第十一篇 鼠标绘图
  3. MacBook进阶技巧,如何在触控栏添加一键截屏?
  4. Baby Audio Smooth Operator for Mac(智能信号平衡器插件)
  5. Mac新手教程:Adobe Illustrator 如何创建文件
  6. Android中保存网络图片到SD卡
  7. Ubuntu 20.04 安装 php 并配置 OpenResty
  8. iOS底层探索之Runtime(二): objc_msgSend汇编快速查找分析
  9. blob类型对象转为file类型对象
  10. 德江多措施推进大数据应用“智慧德江”建设