我使用此代码将图像 logo.png 放在单元格A1中的 logo.xlsx 中:
login().andThen(DatabaseController.fetchDBRecord())
.flattenAsObservable(dbRecord -> dbRecord)
.flatMapCompletable(database -> transformDatabase(database, DB_RECORD_MAPPER)
.flatMap(NetworkController::UpdateCall)
.flatMapCompletable(response -> {
if (isSuccess(response))
return DatabaseController.updateDBRecord(database);
else
return Completable.complete()
});
现在我正在尝试使用 load_workbook 并使用以下代码将文件作为现有工作簿读取:
<section id="products-section">
<div class="container">
<div class="row">
<div class ="col-lg-1"> </div>
<div class ="col-lg-10 border-break-full">
<div class="row">
<div class="col-lg-4 border-red">
<img class="img-responsive float-right border-red" src="img/test-product.JPG" alt="">
</div>
<div class="col-lg-8">
</div>
</div>
</div>
<div class ="col-lg-1"> </div>
</div>
</div>
</section>
但是我遇到以下错误:
from openpyxl import Workbook
from openpyxl.drawing.image import Image
wb = Workbook()
ws = wb.active
img = Image('logo.png')
ws.add_image(img, 'A1')
wb.save('logo.xlsx')
P.S:我尝试对没有图像的文件执行相同的操作。一切正常。
答案 0 :(得分:0)
我正在使用openpyxl版本2.5.14。降级到2.5.11修复了它。更多信息here。
答案 1 :(得分:0)
在通过搜索修复程序浪费时间之后,这是我的解决方案: 我在openpyxl 2.5.14中遇到了同样的问题,但是在2.5.11上降级根本解决不了问题,请改用2.5.12。
https://bitbucket.org/openpyxl/openpyxl/issues/1133/writing-xlsx-image-is-not-inserted-and
如果使用2.5.11,则Excel文件中可能不会显示新图像。 如果文件中已经有图像要编辑,则这是一个已知问题。
最佳实践: 如果您的其余代码与openpyxl 2.6.2或2.6.1一起运行,请使用以下版本之一,则此问题可通过库更新来解决!
https://openpyxl.readthedocs.io/en/stable/changes.html 已在版本2.6.0问题#1170中修复 但是2.6.0还有很多其他错误,因此请使用其他版本;-)