繁体   English   中英

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

[英]Insert a text file (object) as .txt into a cell of excel sheet using python

在此输入图像描述

我想使用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

我已经使用上面的代码从使用Python嵌入文本文件到excel来完成我需要的东西,但它会抛出一个错误

xl.ActiveSheet.OLEObjects()。Add(Filename = fi,Link = False,DisplayAsIcon = True)。在Add com_error中选择文件“”,第6行:( - 214703567,'Exception occurred。',(0,u' Microsoft Excel',u'Add方法的OLEObjects类失败',u'xlmain11.chm',0,-2146827284),无)

编辑:

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

我已经根据评论尝试了这个,它会引发跟随错误

Traceback(最近一次调用最后一次):

文件“C:\\ Users \\ 212632723 \\ python_ui_automation \\ hello.py”,第15行,在xl.ActiveSheet.OLEObjects()中添加(Filename = fi,Link = False,DisplayAsIcon = True,IconFileName =“excel.exe”, IconIndex = 0,IconLabel =“IcoLabel”)。选择()文件“”,第6行,在添加com_error:( - 214703567,'异常发生。',(0,u'Microsoft Excel',u'Add方法的OLEObjects class failed',u'xlmain11.chm',0,-2146827284),None)

我认为这篇文章:

使用Python将文本文件嵌入到Excel中

回答你问题的第一部分。

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

问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM