我的主要思路是:
Excel -> Html -> Image
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# -*- coding:utf-8 -*-
__author__ = 'YangXin'
import sys
import pandas as pd
import codecs
import imgkit
reload (sys)
sys.setdefaultencoding( 'utf-8' )
# ReportImage -> report convert include multiple sheets into pictures
class ReportImage:
def __init__( self ):
pass
# excel_html -> convert excel include multiple sheets into multiple html file
# excel_file -> file
# html_path -> path
@staticmethod
def excel_html(excel_file, html_path):
html_list = []
excel_obj = pd.ExcelFile(excel_file)
sheet_list = excel_obj.sheet_names
index = 0
for i in sheet_list:
html_file = html_path + i + ".html"
excel_data = excel_obj.parse(excel_obj.sheet_names[index])
with codecs. open (html_file, 'w' , 'utf-8' ) as html:
html.write(excel_data.to_html(header = True , index = True ))
html_list.append(html_file)
index + = 1
return html_list
# html_image -> convert htmls into pictures file
# html_list -> list
# image_path -> path
@staticmethod
def html_image(html_list, image_path):
index = 0
for i in html_list:
img_obj = image_path + str (index) + ".png"
with open (i, 'r' ) as html_file:
imgkit.from_file(html_file, img_obj, options = { "encoding" : "UTF-8" })
index + = 1
if __name__ = = '__main__' :
html_list = ReportImage.excel_html( "/xxx.xlsx" , "/yyy/" )
ReportImage.html_image(html_list, "/zzz/" )
|
以上这篇Python实现将Excel转换成为image的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u012965373/article/details/81273430