将XLSX转换为ODS
把Excel工作簿转成OpenDocument电子表格,供LibreOffice、OpenOffice以及要求使用ODF的机构使用——每个工作表、公式、格式和图表都完整保留。
- 转换完成后立即删除
- 加密传输,立即删除
- 无需注册,无水印
使用方法
添加Excel文件
将一个或多个.xlsx或.xls文件拖放到页面上,或点击选择文件。
转换
只需点一下——每个工作簿都会逐个工作表重建为OpenDocument格式。
下载
每个文件得到一个.ods,也可以打包成一个ZIP一起下载。
OpenDocument容纳不了的内容
工作簿的大部分内容都能顺利转过去,因为两种格式都是ZIP压缩的XML,描述的也基本是同样的东西:每个工作表及其值、公式、数字格式、字体、颜色、边框、合并单元格、列宽、冻结窗格、批注、图表和图片。公式会以OpenDocument中的名称写入,因此标准函数库——查找、统计、日期、文本和财务函数——都会和原来一样正常工作。
转不过去的,是Excel后来添加、而OpenDocument从未纳入标准的功能,在依赖转换结果之前值得先检查一下。数据透视表在某些情况下会被转成普通数据,而不是可交互的透视表;切片器和日程表没有对应项;Power Query连接、数据模型以及较新的动态数组函数都是Excel专有的。建立在这些功能之上的工作簿,与其说是恰好采用Excel格式的电子表格,不如说是一个Excel应用程序,转换后得到的文件能打开,但功能会变少。
普通工作簿则完全是另一回事,而大多数工作簿都属于这一类。预算表、清单、由SUM、VLOOKUP、IF和一张图表构成的模型,都能干净地转换,在LibreOffice Calc中的表现也完全一致。最好的判断标准是:是否有人需要别人教才会用这个工作簿。
VBA宏不会被转过去:.ods无法容纳VBA,而LibreOffice Basic是另一种语言,面向不同的对象模型,所以不存在可以进行的翻译。值得知道的是,LibreOffice直接打开.xlsx时,可以在兼容模式下*运行*部分VBA——这有时比转换更好。如果我们的服务器无法访问,页面会明确告知并改为在本地转换,保留值、公式、数字格式、合并单元格和列宽,但会丢失字体、颜色和图表。
如果您需要的是别的
转换之前,先确认是否真的需要。LibreOffice Calc可以直接打开.xlsx,而且已经支持很多年了——在兼容模式下甚至能运行一部分转换时会被丢弃的宏。只有当文件确实必须以OpenDocument格式保存时才需要转换,这通常是政策要求,而不是技术要求:好几个国家的政府规定公共档案必须使用ODF,正是因为它是一个不归任何人所有的公开标准。
如果确实有这个要求,就在本地批量处理:soffice --headless --convert-to ods *.xlsx没有大小限制,也不会发送任何内容。然后打开几个结果文件看看公式——转换报告成功,却在九个单元格里留下#NAME?,这就是需要警惕的失败情况,而且只有亲自查看才能发现。
常见问题
为什么要转换为ODS?
ODS是电子表格的国际标准(ISO/IEC 26300),是LibreOffice的原生格式,也是许多政府和公共机构对其接收和发布的文件所要求的格式。
会保留哪些内容?
每个工作表及其公式、数字格式、字体、颜色、边框、合并单元格、列宽、冻结窗格、条件格式、数据验证、批注、图表和图片。
我的文件会被存储吗?
文件通过加密连接发送到我们的服务器,完成转换,并在文件就绪的那一刻被删除——不存储、不记录、不分享任何内容。如果服务器暂时无法访问,您的浏览器会改为在本地转换,并准确告诉您哪些内容无法保留。
我的Excel公式还能计算吗?
能。Excel函数会以OpenDocument的公式语法写入,在LibreOffice中的计算结果完全相同。少数最新的Excel专有函数可能在旧版LibreOffice或OpenOffice中不存在。
宏怎么办?
VBA宏不会被保留:LibreOffice只能运行部分VBA,结果可能会在没有任何提示的情况下与Excel不同。
受密码保护的文件怎么办?
需要先移除密码——打开文件,在“文件 → 信息 → 保护工作簿”(LibreOffice中为“文件 → 属性 → 安全”)中移除密码,保存后再重新转换。没有设置密码的工作表保护会被保留。
小贴士: VBA宏不会被带入.ods。每个文件最大50 MB。如果我们的服务器无法访问,浏览器备用转换会保留值、公式、数字格式、合并单元格和列宽,但不保留字体、颜色和图表。