Мне нужно иметь возможность конвертировать xls в файлы xlsx с помощью Python и запускать сценарий в качестве веб-задания Azure.
Я могу выполнить работу на локальном компьютере с помощью следующего кода:
import win32com.client as win32
import os
def xls_2_xlsx(xls_path, xlsx_path):
# Create temp xlsx-File
if os.path.exists(xlsx_path): os.remove(xlsx_path)
excel = win32.DispatchEx("Excel.Application")
excel.Visible = 0
wb = excel.Workbooks.Open(xls_path)
wb.SaveAs(xlsx_path, FileFormat = 51) #FileFormat = 51 is for .xlsx extension
wb.Close()
При выполнении кода в качестве веб-задания Azure я получаю следующую ошибку:
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
Возможно, из-за того, что (очевидно) не установлен Excel на компьютере с веб-заданием Azure.
Я попробовал другие подходы к конвертации файлов, как описано здесь:
как конвертировать xls в xlsx
К сожалению, некоторые из xls-файлов имеют значения ячеек, которые начинаются с «+» - знак get интерпретируется как формула, что приводит к ошибке. При преобразовании ячейки xls-файла в ячейку фактическое значение этих ячеек теряется.
Буду очень признателен за помощь в решении этой задачи с использованием Python в качестве веб-задания Azure.