带有标签的HTML文本,用于在Excel单元格中格式化文本[python]

时间:2020-05-13 12:21:20

标签: python html excel format

是否可以将带有标签的HTML文本作为格式文本放入Excel工作表中?

例如,我有一行HTML文本:

x = x.add(y)

我需要将它作为格式文本放入Excel单元格中。

What I get

What I need

我发现一些实际上可以工作的VBA脚本VBA - HTML Text with tags to formatted text in an Excel cell

但是,由于我要使用Beautifulsoup进行剪贴,并且要重新制作一个新的Excel文件,因此始终手动复制粘贴VBA函数并没有真正的帮助。

我尝试使用win32client以python代码传输此函数:

<span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:darkgray'>DarkGray</span>

但是我收到一个错误“ *** AttributeError:Excel.Application.document”

`Sub Sample()
Dim Ie As Object

Set Ie = CreateObject("InternetExplorer.Application")

 With Ie
 .Visible = False

 .Navigate "about:blank"

 .document.body.InnerHTML = Sheets("Sheet1").Range("A1").Value

 .document.body.createtextrange.execCommand "Copy"
 ActiveSheet.Paste Destination:=Sheets("Sheet1").Range("A1")

 .Quit
 End With
 End Sub

在python中,是否还有其他方法可以使用。用openpyxl或xlsxwriter吗?

1 个答案:

答案 0 :(得分:0)

您可能想尝试tablepyxl

例如:

import tablepyxl

table = """<table>
    <tbody>
    <tr>
    <td style="font-size:11.0;font-family:'Calibri';color:#a9a9a9";>DarkGray</td>
    </tr>
    </tbody>"""

tablepyxl.document_to_xl(table, filename = r"test.xlsx")
相关问题