python - 使用python将文本文件(.txt)作为.txt插入Excel工作表的单元格中-LMLPHP

我想使用python将文本文件嵌入到excel工作表中(如上所示),这样,当您单击该单元格时,该文件会自动打开。我不想将路径指定为超链接。例如“c:\My Documents\xyz.txt”。这样做的原因是我希望代码具有可移植性,也就是说,其他人也应该能够在他们想要的任何文件夹中的计算机上运行该程序。在这种情况下,由于指定的路径名​​,代码无法在其他计算机上运行。

import win32com.client as win32
xl = win32.Dispatch('Excel.Application')
xl.Visible = 1
wb = xl.Workbooks.Open("C:\Users\\automation\\abcdef.xlsx")

column = wb.ActiveSheet.Range("A2:A200")
Embedded_object = wb.ActiveSheet.OLEObjects()
i = 2
for cell in column:
    hostname_cell = wb.ActiveSheet.Cells(i,1).Value
    fi = 'C:\Users\\212632723\utomation\\geckodriver.txt'
    if hostname_cell is None:
        print fi
        xl.ActiveSheet.OLEObjects().Add(Filename=fi, Link=False, DisplayAsIcon=True).Select
        i += 1

我已经使用了Embedding text file into excel using Python中的上述代码来完成我需要的操作,但是它引发了错误



编辑 :
import win32com.client as win32
xl = win32.Dispatch('Excel.Application')
xl.Visible = 1
wb = xl.Workbooks.Open("C:\Users\\212632723\python_ui_automation\\abcdef.xlsx")

column = wb.ActiveSheet.Range("A2:A200")
Embedded_object = wb.ActiveSheet.OLEObjects()
i = 2
for cell in column:
    hostname_cell = wb.ActiveSheet.Cells(i,1).Value
    fi = 'C:\Users\\212632723\python_ui_automation\\geckodriver.txt'
    if hostname_cell is None:
        print fi
        #xl.ActiveSheet.OLEObjects().Add(Filename=fi, Link=False, DisplayAsIcon=True).Select
        xl.ActiveSheet.OLEObjects().Add(Filename=fi, Link=False, DisplayAsIcon=True, IconFileName="excel.exe", IconIndex=0, IconLabel="IcoLabel").Select()
        i += 1

我已根据评论尝试过此操作,并引发以下错误

最佳答案

我认为这篇文章:

Embedding text file into excel using Python

回答问题的第一部分。

关于路径问题,您可以尝试使用相对路径或环境变量(在Windows上,您可以依赖HOMEPATH)。

问候。

关于python - 使用python将文本文件(.txt)作为.txt插入Excel工作表的单元格中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48146408/

10-11 22:36
查看更多