Python 实现Excel XLS和XLSX格式相互转换

在日常工作中,我们经常需要处理和转换不同格式的Excel文件,以适应不同的需求和软件兼容性。Excel文件的两种常见格式是XLS(Excel 97-2003)和XLSX(Excel 2007及以上版本)。本文将详细介绍如何使用Python在XLS和XLSX格式之间进行转换

Python库安装

所需Python - Spire.XLS for Python。该Python库支持多种对Excel文档的编程操作,包括创建、读取、编辑、转换等。可以通过此链接下载产品包后再从本地路径安装,也可以直接使用以下pip命令安装

pip install Spire.XLS

XLS格式与XLSX格式互转

XLSX格式因其基于XML的结构、更强大的功能支持和安全性,成为现代Excel文件处理的首选格式。而XLS格式则因其在较旧版本的Excel中的兼容性和特定功能的使用而仍有其特定的应用场景。

要使用Python在这两种格式件实现灵活转换,参考以下步骤:

  1. 创建 Workbook 工作簿对象;
  2. 使用 LoadFromFile() 方法加载 .xls 或 .xlsx文件;
  3. 使用 SaveToFile(fileName, version) 方法实现转换。

代码示例如下:

Python 将XLSX转为XLS

from spire.xls import *
from spire.xls.common import *# 加载XLSX文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")# 将XLSX文件另存为XLS格式
workbook.SaveToFile("Xlsx转Xls.xls", ExcelVersion.Version97to2003)
workbook.Dispose()

Python 将XLS转为XLSX

from spire.xls import *
from spire.xls.common import *# 加载XLS文件
workbook = Workbook()
workbook.LoadFromFile("示例.xls")# 将XLS文件另存为XLSX格式
workbook.SaveToFile("Xls转Xlsx.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Spire.XLS for Python 还支持将Excel(.xls/ .xlsx)文件转换为PDF、图片、HTML等多种文件格式,教程示例:

Spire.XLS for .NET 中文教程Spire.XLS for .NET 是一款专业的 .NET Excel 组件, 它可以用在各种 .NET 框架中,包括 .NET Core、.NET 5.0、.NET 6.0、ASP.NET 和 Windows Forms 等相关的 .NET 应用程序。Spire.XLS for .NET 提供了...icon-default.png?t=O83Ahttps://www.e-iceblue.cn/spirexls/spire-xls-for-net-program-guide-content.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构篇】~链表算法题3(环形链表)

链表算法题3(环形链表) 环形链表的证明1. 环形链表I​1) 思路2)代码实现 2. 环形链表II​1) 思路11) 思路22)代码实现 3. 随机链表的复制​1) 思路2)代码实现 环形链表的证明 1. 环形链表I​ https://leetcode.cn/prob…

Redhat 7,8系(复刻系列) 一键部署Oracle21c-xe rpm

Oracle21c-xe前言 无论您是开发人员、DBA、数据科学家、教育工作者,还是仅仅对数据库感兴趣,Oracle Database Express Edition (XE) 都是理想的入门方式。它是全球企业可依赖的强大的 Oracle Database,提供简单的下载、易于使用和功能齐全的体验。您可以在任何环境中使用该…

git push出错Push cannot contain secrets

报错原因: 因为你的代码里面包含了github token明文信息,github担心你的token会泄漏,所以就不允许你推送这些内容。 解决办法: 需要先把代码里面的github token信息删除掉,并且删掉之前的历史提交,只要包…

Stable Diffusion Fooocus批量绘图脚本

当当当挡~,流动传热数值计算之余发布点AIGC相关文章,希望大家能喜欢~ 1 Stable Diffusion各种UI分析对比 提示:此部分主要是对SD各种界面的简要介绍和对比,只关注Fooocus批量绘图的读者可直接跳到第二部分。 Stable Diffusion …

微服务_入门2

文章目录 一、Feign远程调用二、Gateway服务网关2.1、为什么需要网关2.2、gateway快速入门2.3、断言工厂2.4、过滤器 一、Feign远程调用 来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一&…

周末愉快!——周复盘

加班的晚上有一个美梦! 周末愉快简单复盘结尾 精华: 在这个信息爆炸的时代,我们的大脑每天都被无数的数据和刺激充斥,以至于我们常常感到应接不暇。然而,正如古人所言:“不飞则已,一飞冲天”&am…

2025年最新大数据毕业设计选题-基于Spark分析相关

选题思路 回忆学过的知识(Python、Java、Hadoop、Hive、Sqoop、Spark、算法等等。。。) 结合学过的知识确定大的方向 a. 确定技术方向,比如基于Hadoop、基于Hive、基于Spark 等等。。。 b. 确定业务方向,比如民宿分析、电商行为分析、天气分析等等。。。…

人工智能开发实战辅助诊断应用解析

内容导读 项目分析预备知识项目实战 一、项目分析 1、提出问题 随着人们生活水平的提升和健康意识的增强,民众定期进行身体健康体检已成为常态,这种早期的疾病检测和筛查可以及早发现身体里已经出现的异常体征信息,做出正确诊断和有效处理…

css实现居中的方法

水平居中 1. 行内设置text-align 给父元素设置text-align为center,一般用于实现文字水平居中 2. 给当前元素设置margin:0 auto 原理:块级独占一行,表现为在水平方向上占满整个父容器,当水平方向padding,…

navicat无法连接远程mysql数据库1130报错的解决方法

出现报错:1130 - Host ipaddress is not allowed to connect to this MySQL serve navicat,当前ip不允许连接到这个MySQL服务 解决当前ip无法连接远程mysql的方法 1. 查看mysql端口,并在服务器安全组中放开相应入方向端口后重启服务器 sud…

音视频入门基础:AAC专题(7)——FFmpeg源码中计算AAC裸流每个packet的size值的实现

音视频入门基础:AAC专题系列文章: 音视频入门基础:AAC专题(1)——AAC官方文档下载 音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件 音视频入门基础:AAC…

【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL77

编写乘法器求解算法表达式 描述 编写一个4bit乘法器模块,并例化该乘法器求解c12*a5*b,其中输入信号a,b为4bit无符号数,c为输出。注意请不要直接使用*符号实现乘法功能。 模块的信号接口图如下: 要求使用Verilog HDL语言实现以上…

水下目标检测数据集 urpc2021

项目背景: 水下目标检测在海洋科学研究、水下考古、海洋资源勘探等多个领域具有重要的应用价值。由于水下环境的复杂性和多变性,传统的人工检测方法存在诸多限制,自动化检测技术的需求日益增加。URPC2021数据集旨在为水下目标检测提供高质量…

蔚来是如何算加电网络的「大账」的?

作者 | 张马也 编辑 | 德新 李斌很忙,连中秋假期也没休息,开着ES8在新疆喀什周边的县区考察。 这次考察的目的,是为了推进「加电县县通」计划的落地。蔚来在一个月前的加电日发布会,推出了这个大胆的计划,要实现全国县…

如何在webots中搭建一个履带机器人

前期准备 下载webotswebots基本知识 a. 官方文档:Webots documentation: Track b. B站教程:webots-超详细入门教程(2020)_哔哩哔哩_bilibili搭建流程 搭建履带机器人主要使用到了webots中的track节点,这个节点是专门用来定义履带的相关属性,模拟履带运动的 首先,创建一个…

C一语言—动态内存管理

目录 一、为什么要有动态内存管理 二、malloc和free (2.1)malloc (2.2)free 三、calloc和realloc (3.1)calloc (3.2)realloc 四、常见的动态内存的错误(举例均为错…

sqli-lab靶场学习(四)——Less11-14(post方法)

前言 第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。 Less11 第11关打开是一个输入用户名密码的界面 显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过…

Scrapy爬虫实战——某瓣250

# 按照我个人的习惯,在一些需要较多的包作为基础支撑的项目里,习惯使用虚拟环境,因为这样能极大程度的减少出现依赖冲突的问题。依赖冲突就比如A、B、C三个库,A和B同时依赖于C,但是A需要的C库版本大于N,而B…

Python中lambda表达式的使用——完整通透版

文章目录 一、前言二、 基本语法三、举个简单的例子:四、常见应用场景1. 用于排序函数sort() 方法简介lambda 表达式的作用详细解释进一步扩展总结 2、与 map、filter、reduce 等函数结合1、 map() 函数示例:将列表中的每个数字平方 2、 filter() 函数示…

音视频直播应用场景探讨之RTMP推流还是GB28181接入?

技术背景 好多开发者跟我们沟通音视频解决方案的时候,不清楚什么时候用RTMP推送模块,什么时候用GB28181设备接入模块,也不清楚二者差异化。实际上,RTMP推流和GB28181接入模块,在很多方面存在差异,如应用领…