建立Excel文件超链接-python 工具

Excel 超链接在整理规格书之类的文档时会经常用,主要是在Excel其它列做备注或者信息使用,留一列放超链接直接链接到对应的文档或者图片,方便快速查看,但手动一个一个建立超链接比较花时间,用python文本填充实现很简单,思路如下:

1.超链接的excel公式

=HYPERLINK(路径,"显示的名称")

我们用python的文本填充功能将公式中如上两个地方填充好就可以,因为超链接经常和可编辑的Excel其它列一起使用,也就是如果生成excel文件还需要复制到其它地方,excel本身打开比较慢,也要复制就干脆将公式放到了txt中,哪个excel需要贴那个excel里。

2.文件路径的获取

os.walk实现

3.显示名称

用文件名显示即可

import os,time

note='''Hyperlink [版本 0.02]
(c) 2021 Michael。保留所有权利。
可指定文件目录的版本
输出当前目录下所有文件的超链接格式,文本粘贴到Excel单元格中即为超链接
'''

#保存的txt文件
print(note)
fileName = input('请输入要要保存的txt文件名,如不输入请直接按enter,默认文件为:dirlist.txt\n')

if fileName =='':
    fileName = 'dirlist.txt'
    
print('save in {}'.format(fileName))

#获取当前文件目录下的完整文件路径list
def get_file_path_by_name(file_dir):
    '''
    获取指定路径下所有文件的绝对路径
    :param file_dir:
    :return:
    '''
    dirlist = []
    for root, dirs, files in os.walk(file_dir):  # 获取所有文件
        for file in files:  # 遍历所有文件名
            dirlist.append(os.path.join(root, file))  # 拼接处绝对路径并放入列表
    print('总文件数目:', len(dirlist))
    return dirlist
filePath = input('请输入文件夹路径,默认为当前路径\n')
if filePath == '':
    filePath = os.getcwd()
dirlist = get_file_path_by_name(filePath)
#print(get_file_path_by_name(os.getcwd()))



#向设定的txt中追加写入内容
def writeNote(context):
    with open(fileName, 'a',encoding='UTF-8') as file_object:
        file_object.write(context)

writeNote(time.ctime())
writeNote('\n')

#写入的内容处理
for dir1 in dirlist:
    #输出完整目录
    #writeNote(dir1)
    #writeNote('\n')
    #分解出文件名
    #writeNote(dir1.split('\\')[-1])
    #writeNote('\n')
    writeNote('=HYPERLINK("{}","{}")'.format(dir1,dir1.split('\\')[-1]))
    writeNote('\n')

#最终效果如:=HYPERLINK("C:\eBook_Test\pluginlog.ini","pluginlog.ini")

time.sleep(5)

如果没有安装python环境,也可以直接下载我打包好的exe。

excel超链接+Python实现工具-IT管理文档类资源-CSDN下载

你可能感兴趣的:(Python,python)