![](/img/trans.png)
[英]Can we parse .txt file and copy multiline parsed text to excel cell using python?
[英]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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.