码了几天字,@Conda 终于让我码到了10000,还有10000字,停下来休息下,记录下昨晚熬夜奋战的结果。
受某个德国小朋友的委托,需要处理一个53M的xlsx文件。据这位小朋友介绍,如果直接用gdata包中的read.xls函数读取会很慢,据说是半年
。恰好我服务器上的gdata安装总是不成功,自然也不能正常加载和使用read.xls文件。仔细考虑和查询,发现xlsx文件实际上是压缩的xml文件。
对于这一点在Microsoft
Excel的英文维基百科写的还是比较清楚的(遇到问题一定要先去调查清楚,不要盲目的喊不知道)。这里附上Microsoft
Excel的wiki首页:http://en.wikipedia.org/wiki/Microsoft_Excel
从wiki的截图我们可以看到,Microsoft Excel
2007以前的版本都是用的二进制文件(以xls结尾)作为主要的excel文件。而Microsoft Excel
2007则采用的是Office Open XML文件作为主要文件格式。Office Open
XML是基于XML文件格式的XML扩展文件,这个文件格式增在Excel2002中首次引入。PS:我没有见过2002这个版本,这个版本比Excel2003还古老,那时候我还只会玩热血传奇。
所以综上考虑,我可以用XML格式的读取方式来读取xlsx文件了。
1、解压xlsx文件。
以下命令在bash shell中执行:
[con