簡體   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