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

news2024/11/13 14:29:59

在日常工作中,我们经常需要处理和转换不同格式的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.coloradmin.cn/o/2144853.html

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

相关文章

【SQLite数据库常规使用命令】

之前在做围绕数据库相关的一些小工具的时候,想找一款数据库作为小工具的资料库。需求是:不用复杂的安装,支持简单SQL,空间占用小,操作简单等等。 结合着之前接触到的一些研发同事做的产品的使用经验,我想到…

递归7小题

[ 注意:前6道题均是使用递归完成的,需要数组、指针、链表相关知识,第7道题是求水仙花数的加强版,也是使用递归完成的,3位数的水仙花数我们很熟悉,那5位数的呢?7位数的呢?9位数的呢&a…

【pycharm】如何两个窗口打开同一代码

文章目录 前言解决方案结果 前言 在 编辑长代码,要看上下离得较远的变量 时遇到的问题 解决方案 “window” → “Editor Tabs” → “Split right" 结果

CleanClip vs 传统剪贴板:究竟谁更胜一筹?

在日常工作和生活中,复制粘贴可以说是我们使用最频繁的操作之一。传统的剪贴板功能虽然简单易用,但在功能性和效率上还有很大的提升空间。今天,我们就来比较一下新兴的剪贴板增强工具CleanClip与传统剪贴板,看看到底谁更胜一筹。 1. 剪贴历史管理 传统剪贴板只能存储最后一次…

动态线程池实战(一)

动态线程池 对项目的认知 为什么需要动态线程池 DynamicTp简介 接入步骤 功能介绍 模块划分 代码结构介绍

设计模式学习[6]---代理模式

文章目录 前言1.原理阐述2.举例2.1 例子与类图2.2 代码 总结 前言 代理这个词,从小到大听过不少。比如什么代理服务器,代理商,代理人之类的。通俗来说,代理无非无非就是我代表你处理事务的意思。 那么在设计模式中,针…

Android WebView H5 Hybrid 混和开发

对于故乡,我忽然有了新的理解:人的故乡,并不止于一块特定的土地,而是一种辽阔无比的心情,不受空间和时间的限制;这心情一经唤起,就是你已经回到了故乡。——《记忆与印象》 前言 移动互联网发展…

智能车镜头组入门(三)巡线

镜头组的特点是通过摄像头来获取赛道的信息,从而达到前瞻的效果,完成转向和速度决策。 我们的方案,带上元素识别,大概在TC264上5ms一帧,所以我们开了100hz的图象。 之前我看别的博客上有人说,他们组的50帧…

MyBatis框架SqlSession浅析

1、SqlSessionFactory作用 MyBatis框架SqlSessionFactory是线程安全的,负责创建SqlSession。 DefaultSqlSessionFactory是线程安全的,属性Final。 2、SqlSessionFactoryBuilder SqlSessionFactoryBuilder负责创建SqlSessionFactory。SqlSessionFactory…

C++伟大发明--模版

C起初是不受外界关注的,别人觉得他和C语言没有本质上的区别,只是方便些,直到祖师爷发明了模版,开始和C语言有了根本的区别。 我们通过一个小小的例子来搞清楚什么是模版,模版的作用到底有多大,平时我们想要…

UAC2.0 麦克风——类特殊请求

UAC2.0 麦克风枚举过程参考 UAC2.0 麦克风——单声道 USB 麦克风(16bit) 文章目录 set interfaceget device status类特殊请求get curget rangevolume rangesample rangeset interface USB 请求代码 typedef enum {USB_REQ_GET_STATUS = 0 ,USB_REQ_CLEAR_FEATURE …

自动化中验证码的操作笔记,懂的赶紧收藏!

在自动化测试的过程中,验证码一直被视为一个“拦路虎”。很多测试人员在做接口或UI自动化时都会遇到验证码的阻碍,导致测试无法继续进行。今天,我们就来讨论如何在自动化过程中破解验证码,快速绕过这道关卡,轻松完成自…

【C51】独立按键控制LED灯

1.简介 在单片机应用系统中,常常使用轻触按键组成键盘。轻触按键具有自动回弹的特点,即按下按键,两个触点接通,放开按键,两个触点断开。轻触按键的外形及电路符号如图,通常轻触按键有4个引脚,4个…

Redis - 深入理解Redis事务

目录 Redis是如何实现事务的?事务中执行的命令出现错误,会回滚事务吗?同一个连接可以重复开启事务吗?多个客户端同时开启事务会怎样?使用Redis事务只用MULTI和EXEC吗?Redis中的WATCH机制是怎么实现的&#…

GAMES104:13 引擎工具链基础-学习笔记

文章目录 一,工具链二,复杂的工具2.1 界面GUI2.2 设计模式Design Pattern2.3 数据的加载和存储2.4 资产引用 三,资产加载Deserialization3.1 资产解析Parse3.2 资产版本兼容性(Compatibility) 四, 如何制作…

搞安全必看——IPS和IDS到底有啥区别?

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 随着数字化转型的加速推进,网络安全已成为各行业不可或缺的一环。对于现代企业和组织而言&#x…

【JavaEE初阶】多线程6(线程池\定时器)

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 实例3:线程池 参数解释 核心线程数, 最大线程数 允许空闲的最大时间 ,时间单位 任务队列(阻塞队列) 线程工厂>工厂设计模式 拒绝策略 使用举例 模拟实现一个线…

从零开始讲DDR(0)——DDR的前世今生

一、计算机组成 计算机组成结构(Computer Architecture)是计算机系统的核心,它定义了计算机的基本工作原理和设计模式。计算机的组成可以分成以下3大类:中央处理器(CPU)、存储器和输入/输出子系统。 1.1 中…

Linux文件IO-基础知识了解及文件描述符

1、简介 本章给大家介绍 Linux 应用编程中最基础的知识,即文件 I/O(Input、Outout),文件 I/O 指的是对文件的输入/输出操作,说白了就是对文件的读写操作;Linux 下一切皆文件,文件作为 Linux 系…

深度学习 之 常见损失函数简介:名称、作用及用法

引言 在机器学习和深度学习中,损失函数(Loss Function)是模型训练过程中一个不可或缺的部分。它用来度量模型预测结果与真实值之间的差异,从而指导模型参数的优化。合理选择损失函数对于提高模型的准确性和泛化能力至关重要。本文…