python一键批量插入图片到Excel

查看 82|回复 10
作者:Eks6666   
[Python] 纯文本查看 复制代码from openpyxl import load_workbook
from openpyxl.drawing.image import Image as OpenpyxlImage
from openpyxl.utils import get_column_letter
import os
def insert_images_into_excel(worksheet, image_dir, target_column, start_row=2, image_size=(20, 20)):
    """
    插入图片到Excel的工作表中
    :param worksheet: Excel工作表对象
    :param image_dir: 包含图片文件的目录路径
    :param target_column: 目标列字母,例如 'A' 或 'Z'
    :param start_row: 开始插入图片的行号,默认为 2
    :param image_size: 图片的宽度和高度,单位为厘米(cm),默认为 (20, 20)
    :return: None
    """
    images_paths =[os.path.join(image_dir, img_path) for img_path in os.listdir(image_dir) if img_path.lower().endswith(('.png', '.jpg'))]
    images_paths.sort(key=lambda x: os.path.basename(x))
    for i, img_path inenumerate(images_paths, start=start_row):
        img = OpenpyxlImage(img_path)
        img.width, img.height = image_size
        cell_position =f'{target_column}{i}'
        worksheet.add_image(img, cell_position)
if __name__ =="__main__":
    try:
        workbook = load_workbook('qrcode.xlsx')
        worksheet = workbook.active
        dir_path ='./images'
        last_column = get_column_letter(worksheet.max_column)
        worksheet.cell(row=1, column=worksheet.max_column, value='二维码数据')
        insert_images_into_excel(worksheet, dir_path, last_column)
        workbook.save('modified_file.xlsx')
    except Exception as e:
        print(f"An error occurred: {e}")

插入图片, 行号

wudalang123   


jessylake 发表于 2024-11-19 10:33
加空格是好了又说路径不对,应该把qrode.xlsx 放在哪里?
>>> %Run 31.py
An error occurred: [Errno 2 ...

错误提示 `[Errno 2] No such file or directory: 'qrcode.xlsx'` 表示Python脚本在尝试打开名为 `qrcode.xlsx` 的Excel文件时,没有在预期的位置找到这个文件。
要解决这个问题,你需要确保 `qrcode.xlsx` 文件位于Python脚本能够访问到的路径上。以下是几种可能的解决方案:
1. **将文件放在脚本的当前工作目录**:
   - 确保 `qrcode.xlsx` 文件位于与你的Python脚本(`31.py`)相同的目录下。
2. **指定完整的文件路径**:
   - 在脚本中,将 `qrcode.xlsx` 的路径修改为完整的文件路径。例如,如果 `qrcode.xlsx` 位于 `C:\Documents` 目录下,你应该这样修改代码:
     ```python
     workbook = load_workbook('C:/Documents/qrcode.xlsx')
     ```
3. **更改工作目录**:
   - 如果你不想改变文件的位置或代码中的路径,你可以在运行脚本之前,将你的工作目录更改为包含 `qrcode.xlsx` 的目录。这可以通过命令行工具如 `cd` 命令(在Windows中)或 `pwd` 和 `cd` 命令(在Unix/Linux/Mac中)来完成。
4. **使用相对路径**:
   - 如果 `qrcode.xlsx` 位于脚本的特定子目录中,你可以使用相对路径来引用它。例如,如果 `qrcode.xlsx` 位于与脚本同一目录的 `data` 子目录中,你可以这样写:
     ```python
     workbook = load_workbook('./data/qrcode.xlsx')
     ```
确保你选择的方法与你的文件系统和脚本运行环境相匹配。如果你不确定当前工作目录是什么,你可以在Python中使用以下代码来打印它:
```python
import os
print(os.getcwd())
```
这将显示当前工作目录的路径,确保 `qrcode.xlsx` 文件位于这个目录或指定的路径下。
YukijudaiNsmy   

这个是好东西啊。感谢大佬分享
bzba   

谢谢大佬
a138208   

谢谢大佬
sjzhy   

感谢分享
HKios   

感谢分享,这真是好东西
agff   

妙啊,刚好需要这个
YiRan777   

感谢大佬分享,需要这个
shinian0buwan   

感谢分享  这个可以直接导入的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部