[英]Converting Excel XML-Spreadsheet into xlsx
我有一個XML-Excel文件(SpreadsheetML格式):
<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas- microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Company>My Company</Company>
</DocumentProperties>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="stTxt">
<Font ss:FontName="Arial" ss:Size="8"/>
<Alignment ss:Horizontal="Left"/>
<NumberFormat ss:Format="@"/>
</Style>
<Style ss:ID="stTopHeadline">
<Font ss:FontName="Arial" ss:Size="8" />
<Alignment ss:Horizontal="Left"/>
<NumberFormat ss:Format="@"/>
</Style>
...
現在我需要使用C#將這些文件轉換為XLSX文件。 有沒有辦法使用Open Xml或其他庫將其轉換為Excel 2010 XLSX格式?
你得到的是Flat OPC格式。 這是一篇關於將其轉換為常規Open XML格式的文章。
這是一個簡單的示例,如何使用Python和已安裝的Excel進行轉換。 先決條件:必須在計算機上安裝Microsoft Excel!
import os
from win32com.client import Dispatch
def convert_xls_to_xlsx(oldName:str, newName:str):
oldName = os.path.abspath(oldName)
newName = os.path.abspath(newName)
xlApp = Dispatch("Excel.Application")
wb = xlApp.Workbooks.Open(oldName)
wb.SaveAs(newName,51)
wb.Close(True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.