西麦农场

时间尺度守恒


  • 首页

  • 分类

  • 归档

  • 坑List

使用xlsxwriter插入图片是确保图片固定大小

2018-05-08 | DevFAQ | python xlsxwriter

起因

之前一直用xlsxwriter生成excel文件时,插入图片总会出现忽大忽小,插入参数只有位置和缩放参数,没有长宽的属性。结合网上解决方法,使用如下方法即刻解决

解决方案

  1. from io import BytesIO
  2. try:
  3. from urllib.request import urlopen
  4. except ImportError:
  5. from urllib2 import urlopen
  6. from PIL import Image
  7. from xlsxwriter.workbook import Workbook
  8. filename = '/script/test.xlsx'
  9. office = Workbook(filename)
  10. cell_height = 140.0
  11. worksheet = office.add_worksheet()
  12. image_data = BytesIO(urlopen(image_url).read())
  13. im = Image.open(image_data)
  14. print im.size
  15. original_width, original_height = im.size
  16. width = cell_height * original_width / original_height
  17. im.thumbnail((width, cell_height), Image.ANTIALIAS)
  18. print im.size
  19. im_bytes = BytesIO()
  20. im.save(im_bytes, format='JPEG')
  21. worksheet.insert_image(1, 1, p.avatar, {'image_data': im_bytes})
  22. office.close()
  • 目录
  • 站点概览
  • 起因
  • 解决方案
    戊在西安填坑中

    戊在西安填坑中

    29 日志
    7 分类
    50 标签
    0%
    © 2017- 戊在西安填坑中 | 陕ICP备13008306号-3 | 主题 NexT.Pisces