跳转到主要内容

将xls文件转换为xlsx

项目描述

https://img.shields.io/pypi/v/xls2xlsx.svg https://img.shields.io/travis/snoopyjc/xls2xlsx.svg Documentation Status

将xls文件转换为xlsx

功能

  • 使用xlrd和openpyxl将.xls文件转换为.xlsx

  • 使用beautifulsoup4和openpyxl将包含表格或Excel内容的.htm.mht文件转换为.xlsx

我们尝试支持底层包所支持的任何内容。例如,以下功能对两种输入类型都支持

  • 多工作表

  • 文本、数字、日期/时间、Unicode

  • 字体、文字颜色、粗体、斜体、下划线、双下划线、删除线

  • 实心图案填充和带颜色的填充

  • 边框:实线、发丝、细、粗、双线、虚线、点线;带颜色

  • 对齐:水平、垂直、旋转、缩进、缩放以适应

  • 数字格式,包括Unicode货币符号

  • 隐藏行和列

  • 合并单元格

  • 超链接(每个单元格只能有一个)

  • 注释

这些功能还由.xls输入格式支持

  • 冻结窗格

这些功能还由.htm.mht输入格式支持

  • 图片

两种格式都不支持

  • 条件格式(保留当前样式)

  • 公式(保留计算值)

  • 图表(图表的图像由.htm.mht输入格式处理)

  • 图纸(图纸图像由.htm.mht输入格式处理)

  • 数据透视表(保留当前数据)

  • 文本框(由.htm.mht输入格式转换为图像)

  • 形状和剪辑艺术(由.htm.mht输入格式转换为图像)

  • 自动筛选(保留当前筛选出的行)

  • 单元格中的富文本(openpyxl不支持此功能:仅保留应用于整个单元格的样式)

  • 命名范围

  • 宏(VBA)

安装

要安装xls2xlsx,请在您的终端中运行此命令

$ pip install xls2xlsx

这是安装xls2xlsx的首选方法,因为它将始终安装最新的稳定版本。

用法

要从命令行使用xls2xlsx

$ xls2xlsx [-v] file.xls ...

这将在当前文件夹中创建file.xlsxfile.xls可以是任何.xls.htm.mht文件,也可以是URL。 -v标志将打印输入和输出文件名。

要在项目中使用xls2xlsx

from xls2xlsx import XLS2XLSX
x2x = XLS2XLSX("spreadsheet.xls")
x2x.to_xlsx("spreadsheet.xlsx")

或者

from xls2xlsx import XLS2XLSX
x2x = XLS2XLSX("spreadsheet.xls")
wb = x2x.to_xlsx()

xls2xlsx.to_xlsx方法返回给定的文件名。如果没有提供文件名,则该方法返回openpyxl工作簿。

输入文件可以是以下格式之一

  • Excel 97-2003工作簿(.xls

  • 网页(.htm.html),可选地包括_Files文件夹

  • 单个网页文件(.mht.mhtml

指定的输入也可以是以下任何一种

  • 文件名/路径名

  • URL

  • 文件-like对象(对于.xls以二进制模式打开,否则以二进制或文本模式打开)

  • .xls文件的内容作为bytes对象

  • .htm.mht文件的内容作为str对象

注意:文件格式是通过检查文件内容确定的,而不是通过查看文件扩展名。

依赖项

需要Python >= 3.6。

还需要以下这些包:xlrd, openpyxl, requests, beautifulsoup4, Pillow, python-dateutil, cssutils, webcolors, currency-symbols, fonttools, PyYAML

实现说明

对于.htm.mht输入格式转换,使用Pillow的ImageFont来测量单元格内容的大小(宽度和高度)。第一次使用时,它将在您的系统标准位置查找字体文件,并创建字体名称到文件名的映射。如果您的系统上没有找到与输入文件中使用的字体相对应的正确字体文件,则将使用备份的估计算法。

如果传递了.mht文件(或URL),则将使用文件中指定的临时文件夹名称来解包内容以进行处理,处理完成后将删除此文件夹。

鸣谢

开发负责人

贡献者

尚未有贡献者。为什么不做第一个呢?

致谢

部分代码基于John Ricco(johnricco226@gmail.com)的工作,2017年4月4日:https://johnricco.github.io/2017/04/04/python-html/

此包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

历史

0.2.0 (2023-01-05)

  • 针对更近期的 Python 和包进行现代化改造。放弃对 Python 3.6 的支持。修复问题 #11、#14、#16。增加功能 #12。

0.1.5 (2020-11-03)

  • 修复问题 #1、#3、#5

0.1.4 (2020-11-02)

  • 修复问题 #4

0.1.3 (2020-10-15)

  • 修复问题 #2 - 命令行界面不工作

0.1.0 (2020-09-13)

  • 在 PyPI 上首次发布。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

xls2xlsx-0.2.0.tar.gz (1.3 MB 查看散列值)

上传时间

构建分发

xls2xlsx-0.2.0-py3.10.egg (77.3 kB 查看散列值)

上传时间

xls2xlsx-0.2.0-py2.py3-none-any.whl (39.2 kB 查看散列值)

上传时间 Python 2 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面