用于查看xls文件的命令行工具

大卫·奥尼尔(David Oneill)

有用于查看/打开excel(.xls)文件的命令行工具吗?

因此,除非工作表没有自定义名称,否则答案很有效。

当我尝试打开文件时,我得到:

Traceback (most recent call last):
  File "/usr/bin/py_xls2csv", line 17, in <module>
    for sheet_name, values in parse_xls(arg, 'cp1251'): # parse_xls(arg) -- default encoding
  File "/usr/lib/python2.5/site-packages/pyExcelerator/ImportXLS.py", line 334, in parse_xls
    raise Exception, 'No workbook stream in file.'
Exception: No workbook stream in file.

但是,如果我打开文件并将工作表重命名为“测试”,则可以正常工作。我需要进行哪些调整才能处理默认名称?(Sheet1等)

我目前要打开的文件只有一张,名为Sheet1。

它是

是的,虽然有点hacky。让我们从安装两个软件包开始:

sudo apt-get install python-excelerator w3m

从那里开始,我们使用捆绑在一起的脚本python-excelerator将文档转换为HTML文件。然后,我们将其通过命令行浏览器(w3m)进行显示。

py_xls2html spreadsheet.xls 2>/dev/null | sed 's/"//g' | w3m -dump -T 'text/html'

如果您不想继续键入它,则可以创建一个bash函数或别名。它应该给你这样的输出:

Sheet = Sheet1
┏━━━━┯━━━┯━━━━━┯━━━━━━━━━━━━┓
┃this│is │a    │spreadsheet ┃
┠────┼───┼─────┼────────────┨
┃it  │is │very │nice        ┃
┠────┼───┼─────┼────────────┨
┃this│has│three│rows        ┃
┗━━━━┷━━━┷━━━━━┷━━━━━━━━━━━━┛
Sheet = Sheet2 Sheet = Sheet3

非常有力。显然,这将不支持任何形式的宏,编辑或任何交互性。这纯粹是一个观众。您也可以删除包装东西的引号。在这一点上,我对他们并没有特别的困扰。

如果您不需要将其显示为表格,则可以简单地输入以下内容:

py_xls2csv spreadsheet.xls 2>&1 | less

您可以走得更远,然后以一种更好的方式显示它:

py_xls2csv spreadsheet.xls 2>&1 | grep '^"' | sed 's/"//g' | column -s, -t | less -#2 -N -S

这样可以为您提供以下内容:

  1 this   is    a       spreadsheet
  2 it     is    very    nice
  3 this   has   three   rows

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章