在一个Excel文件中输入多张工作表”;“报告”;从7个输入文件
Pyhon 3.7.3 Excel 10 14个输入文件:.xls et 1模板:.xls 输出文件:.xls(或更好的.xlsx) 要馈送的模板包含图片、图表/图形。 表中值的副本提供给图形 我使用xlrd库读取输入文件,使用xlwt写入输出文件。 我也尝试过使用openpyxl:没关系 但错误是:在一个Excel文件中输入多张工作表”;“报告”;从7个输入文件,excel,python-3.x,vba,Excel,Python 3.x,Vba,Pyhon 3.7.3 Excel 10 14个输入文件:.xls et 1模板:.xls 输出文件:.xls(或更好的.xlsx) 要馈送的模板包含图片、图表/图形。 表中值的副本提供给图形 我使用xlrd库读取输入文件,使用xlwt写入输出文件。 我也尝试过使用openpyxl:没关系 但错误是: WARNING *** OLE2 inconsistency: SSCS size is 0 but SSAT size is non-zero C:\Users\Paul\AppData\Roa
WARNING *** OLE2 inconsistency: SSCS size is 0 but SSAT size is non-zero
C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\worksheet\header_footer.py:49: UserWarning: Cannot parse header or footer so it will be ignored
warn("""Cannot parse header or footer so it will be ignored""")
Traceback (most recent call last):
File "c:\Users\Paul\.vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "c:\Users\Paul\.vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\lib\python\ptvsd\__main__.py", line 434, in main
run()
File "c:\Users\Paul\.vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\lib\python\ptvsd\__main__.py", line 312, in run_file
runpy.run_path(target, run_name='__main__')
File "C:\Program Files (x86)\Python37-32\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Program Files (x86)\Python37-32\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Program Files (x86)\Python37-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\Users\Paul\Documents\Applications\Traitement TDF\Entrée\Remplissage du Patron(1).py", line 69, in <module>
excel(wbs, sheet, ligne_debut, colonne_debut, resultats)
File "c:\Users\Paul\Documents\Applications\Traitement TDF\Entrée\Remplissage du Patron(1).py", line 33, in excel
wbs.save(filename='Reporting.xls')
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\workbook\workbook.py", line 391, in save
save_workbook(self, filename)
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\writer\excel.py", line 284, in save_workbook
writer.save(filename)
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\writer\excel.py", line 266, in save
self.write_data()
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\writer\excel.py", line 86, in write_data
self._write_charts()
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\writer\excel.py", line 130, in _write_charts
self._archive.writestr(chart.path[1:], tostring(chart._write()))
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\chart\_chart.py", line 123, in _write
container.view3D = chart.view3D
File "C:\Users\Paul\AppData\Roaming\Python\Python37\site-packages\openpyxl\descriptors\base.py", line 44, in __set__
raise TypeError('expected ' + str(self.expected_type))
TypeError: expected <class 'openpyxl.chart._3d.View3D'>
警告***OLE2不一致:SSC大小为0,但SSAT大小为非零
C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\worksheet\header\u footer.py:49:UserWarning:无法解析页眉或页脚,因此将忽略它
警告(“”无法分析页眉或页脚,因此将忽略它“”)
回溯(最近一次呼叫最后一次):
文件“c:\Users\Paul\.vscode\extensions\ms python.python-2019.6.24221\pythonFiles\ptvsd_launcher.py”,第43行,在
干管(ptvsdArgs)
文件“c:\Users\Paul\.vscode\extensions\ms python.python-2019.6.24221\pythonFiles\lib\python\ptvsd\\ uuuuuu main\uuuuuu.py”,第434行,在main中
运行()
文件“c:\Users\Paul\.vscode\extensions\ms python.python-2019.6.24221\pythonFiles\lib\python\ptvsd\\uuuuuu main\uuuuuu.py”,第312行,在run\u文件中
runpy.run\u路径(目标,run\u名称=“”\uu主\uuuuuuuuuuuu')
文件“C:\Program Files(x86)\Python37-32\lib\runpy.py”,第263行,在运行路径中
pkg_name=pkg_name,script_name=fname)
文件“C:\ProgramFiles(x86)\Python37-32\lib\runpy.py”,第96行,在运行模块代码中
模块名称、模块规格、组件名称、脚本名称)
文件“C:\ProgramFiles(x86)\Python37-32\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“c:\Users\Paul\Documents\Applications\Traitement TDF\Entrée\Remplissage du Patron(1.py)”,第69行,在
excel(wbs、工作表、ligne_首次亮相、colonne_首次亮相、结果)
excel中的文件“c:\Users\Paul\Documents\Applications\Traitement TDF\Entrée\Remplissage du Patron(1.py)”第33行
wbs.save(filename='Reporting.xls')
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\workbook\workbook.py”,第391行,保存
保存工作簿(自身,文件名)
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\writer\excel.py”,第284行,在save\u工作簿中
writer.save(文件名)
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\writer\excel.py”,第266行,保存
self.write_data()
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\writer\excel.py”,第86行,在write\u数据中
self.\u编写图表()
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\writer\excel.py”,第130行,在写图表中
self.\u archive.writestr(chart.path[1:],tostring(chart.\u write())
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\chart\\u chart.py”,第123行,以书面形式
container.view3D=chart.view3D
文件“C:\Users\Paul\AppData\Roaming\Python37\site packages\openpyxl\descriptors\base.py”,第44行,在\uuu集中__
raise TypeError('预期'+str(自我预期类型))
TypeError:应为
糟糕的解决方案:我已经删除了所有工作表中的图片和图表,可以编写结果文件=“Reporting.xls”
但我必须再次包括图片和重做图表…
其他解决方案:熊猫将额外的列和数字放在一起。坏结果。。。
我留下这个解决方案
请:如何为Excel文件提供图片和图形?
要导入的特定库?
非常感谢
import io
import openpyxl
import xlrd
import xlwt
import os
import shutil
import pyexcel_xls,xlrd
from copy import deepcopy
from xlwt import Workbook, Formula
from openpyxl import load_workbook
from openpyxl import reader
from openpyxl import chartsheet
from openpyxl import chart
def excel(wbs, onglet, ligne_debut, colonne_debut, resultats):
# resultat est le contenu du fichier traité
wb = Workbook()
dest_filename = str(wbs)
# copier 4 COLONNES !! 2 à 5 (2,6)
nb_lignes = len(resultats)
nb_colonnes = len(resultats[0])
for row in range(nb_lignes):
for col in range(nb_colonnes):
value = resultats[row][col]
_ = onglet.cell(
column=colonne_debut + col,
row=ligne_debut + row,
# recopie la ligne de resultat[y] [x]
# Adressage relatif depuis coldeb, les colonnes démarrent ensuite de '0'
value="{0}".format(value))
wbs.save(filename='Reporting.xls')
wb = xlrd.open_workbook(r'C:\Users\Paul\Documents\Applications\Traitement Societe\Entrée\DaVimCi Societe rapport convergent des coûts_20190619.xls')
wbs = load_workbook(r'C:\Users\Paul\Documents\Applications\Traitement Societe\Entrée\PATRON - Societe reporting financier en cours.xls')
# print(wbs)
# fdavimci=wb.sheet_by_name('Parc DATA')
def resultats(ligne_debut,ligne_fin,fichier_entrée,name_sheet):
feuille=fichier_entrée.sheet_by_name(name_sheet)
n=ligne_debut
resultats=[feuille.row(n)]
while n<ligne_fin:
resultats= resultats+[feuille.row(n+1)]
n=n+1
return resultats
resultats= resultats(8,256,wb,'Parc DATA')
# print(resultats(8,12,wb,'Parc DATA'))
ligne_debut=8
colonne_debut=1
def get_sheet_by_name(workbook, name):
matches = list(filter(lambda sheet: sheet.title==name, workbook.worksheets))
if len(matches)==1:
return matches[0]
else:
raise KeyError("Aucune feuille avec le nom '%s'"%name)
sheet = get_sheet_by_name(wbs, "Parc DATA")
excel(wbs, sheet, ligne_debut, colonne_debut, resultats)
导入io
导入openpyxl
导入xlrd
导入xlwt
导入操作系统
进口舒蒂尔
导入pyexcel_xls,xlrd
从复制导入deepcopy
从xlwt导入工作簿,公式
从openpyxl导入加载工作簿
从openpyxl导入读取器
从openpyxl导入图表表
从openpyxl导入图表
def excel(wbs、onglet、ligne_首次亮相、colonne_首次亮相、结果):
#结果:这是菲舍尔特征的内容
wb=工作簿()
dest_filename=str(wbs)
#复印机4科隆!!2 à 5 (2,6)
nb_lignes=len(结果)
nb_colonnes=len(结果[0])
对于范围内的行(对齐):
对于范围内的col(nb_colonnes):
值=结果[行][列]
_=onglet.cell(
column=colonne_首秀+col,
行=直线首秀+行,
#结果对齐记录[y][x]
#科隆德马尔公寓“0”号depuis coldeb的相关地址
value=“{0}”。格式(值))
wbs.save(filename='Reporting.xls')
wb=xlrd.open_工作簿(r'C:\Users\Paul\Documents\Applications\Traitement Societe\Entrée\davisci Societe relate convergent des coāts_20190619.xls')
wbs=load_工作簿(r'C:\Users\Paul\Documents\Applications\Traitement Societe\Entrée\PATRON-Societe reporting Financiar en cours.xls')
#打印(wbs)
#fdavimci=wb.sheet按名称(“Parc数据”)
def结果(首次登录、登录、登录、姓名表):
feuille=fichier_entrée.sheet_by_name(name_sheet)
n=木质素
resultats=[feuille.row(n)]
而