#python #excel
Вопрос:
Я пытаюсь преобразовать файл Excel в файл HTML, сохраняя при этом формат книги.
Используя Excel, я могу переключиться с xlsx на htm: Файл -> Сохранить как ->> Веб-страница (*.html, *.htm)
Используя Python, я всегда получаю какую-то тарабарщину, подобную изображению ниже, как workbook.htm или workbook.html.
import xlwings as xw
file_path = "*.xlsx"
excel_app = xw.App(visible=False)
wb = excel_app.books.open(file_path)
wb.save("*.html")
wb.save("*.htm")
from xlsx2html import xlsx2html
xlsx2html('*xlsx', '*.htm')
xlsx2html('*xlsx', '*.html')
Я использовал фиктивные файлы, я просто пытаюсь перейти из файла xlsx в файл htm/hmtl, используя Python и сохраняя формат, например, цвета фона, границы и т. Д.
Ответ №1:
У меня раньше была такая проблема. Я также использовал библиотеку xlwings, настроил ее и добился успеха. Вы находите и редактируете в файле xlwings/_xlwindows.py следующим образом:
def save(self, path=None):
saved_path = self.xl.Path
source_ext = os.path.splitext(self.name)[1] if saved_path else None
target_ext = os.path.splitext(path)[1] if path else '.xlsx'
if saved_path and source_ext == target_ext:
file_format = self.xl.FileFormat
else:
ext_to_file_format = {'.xlsx': FileFormat.xlOpenXMLWorkbook,
'.xlsm': FileFormat.xlOpenXMLWorkbookMacroEnabled,
'.xlsb': FileFormat.xlExcel12,
'.xltm': FileFormat.xlOpenXMLTemplateMacroEnabled,
'.xltx': FileFormat.xlOpenXMLTemplateMacroEnabled,
'.xlam': FileFormat.xlOpenXMLAddIn,
'.xls': FileFormat.xlWorkbookNormal,
'.xlt': FileFormat.xlTemplate,
'.xla': FileFormat.xlAddIn,
'.html': FileFormat.xlHtml # ---> add new
}