openpyxl - How to add an image to worksheet?
I have already read the documentation at https://media.readthedocs.org/pdf/openpyxl/latest/openpyxl.pdf, in order to understand how to add an image to a worksheet. And so, used the following code to write my test program:
from openpyxl.drawing.image import Image as XLIMG
from openpyxl.worksheet import Worksheet
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
img = XLIMG('example.png')
ws.add_image(img, 'A1')
wb.save("test.xlsx")
Actually, the code works, and reproduces an xlsx file. However when I open the file using LibreOffice Calc, I don't see any image object, but instead empty cell at 'A1'.
I'm also pretty sure that the png file is neither empty, nor corrupt.
Concerning the versions, I'm currently using OpenPyXL 2.5.11 and LibreOffice 6.1.3.2.
So what I'm missing? what might cause this problem?
python python-2.7 spreadsheet openpyxl worksheet
|
show 2 more comments
I have already read the documentation at https://media.readthedocs.org/pdf/openpyxl/latest/openpyxl.pdf, in order to understand how to add an image to a worksheet. And so, used the following code to write my test program:
from openpyxl.drawing.image import Image as XLIMG
from openpyxl.worksheet import Worksheet
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
img = XLIMG('example.png')
ws.add_image(img, 'A1')
wb.save("test.xlsx")
Actually, the code works, and reproduces an xlsx file. However when I open the file using LibreOffice Calc, I don't see any image object, but instead empty cell at 'A1'.
I'm also pretty sure that the png file is neither empty, nor corrupt.
Concerning the versions, I'm currently using OpenPyXL 2.5.11 and LibreOffice 6.1.3.2.
So what I'm missing? what might cause this problem?
python python-2.7 spreadsheet openpyxl worksheet
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
1
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
1
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56
|
show 2 more comments
I have already read the documentation at https://media.readthedocs.org/pdf/openpyxl/latest/openpyxl.pdf, in order to understand how to add an image to a worksheet. And so, used the following code to write my test program:
from openpyxl.drawing.image import Image as XLIMG
from openpyxl.worksheet import Worksheet
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
img = XLIMG('example.png')
ws.add_image(img, 'A1')
wb.save("test.xlsx")
Actually, the code works, and reproduces an xlsx file. However when I open the file using LibreOffice Calc, I don't see any image object, but instead empty cell at 'A1'.
I'm also pretty sure that the png file is neither empty, nor corrupt.
Concerning the versions, I'm currently using OpenPyXL 2.5.11 and LibreOffice 6.1.3.2.
So what I'm missing? what might cause this problem?
python python-2.7 spreadsheet openpyxl worksheet
I have already read the documentation at https://media.readthedocs.org/pdf/openpyxl/latest/openpyxl.pdf, in order to understand how to add an image to a worksheet. And so, used the following code to write my test program:
from openpyxl.drawing.image import Image as XLIMG
from openpyxl.worksheet import Worksheet
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
img = XLIMG('example.png')
ws.add_image(img, 'A1')
wb.save("test.xlsx")
Actually, the code works, and reproduces an xlsx file. However when I open the file using LibreOffice Calc, I don't see any image object, but instead empty cell at 'A1'.
I'm also pretty sure that the png file is neither empty, nor corrupt.
Concerning the versions, I'm currently using OpenPyXL 2.5.11 and LibreOffice 6.1.3.2.
So what I'm missing? what might cause this problem?
python python-2.7 spreadsheet openpyxl worksheet
python python-2.7 spreadsheet openpyxl worksheet
edited Nov 27 '18 at 13:36
Kais
asked Nov 27 '18 at 11:14
KaisKais
1,03021238
1,03021238
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
1
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
1
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56
|
show 2 more comments
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
1
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
1
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
1
1
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
1
1
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56
|
show 2 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53498426%2fopenpyxl-how-to-add-an-image-to-worksheet%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53498426%2fopenpyxl-how-to-add-an-image-to-worksheet%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You're using Python 3, right? I run it with Python 2 and it properly inserted the image, however Python 3 didn't make it even with a few code changes I've tried.
– arudzinska
Nov 27 '18 at 13:21
@arudzinska I'm using Python 2.
– Kais
Nov 27 '18 at 13:33
Therefore the code worked for me: Python 2.7.15, openpyxl 2.5.3, LibreOffice 6.0.6.2. Have you tried with a different image?
– arudzinska
Nov 27 '18 at 13:50
1
@arudzinska the last version of openpyxl is not very stable, I've found a commit that fixes this issue bitbucket.org/openpyxl/openpyxl/commits/3977977a46e6. Applying the commit, solved my problem.
– Kais
Nov 27 '18 at 14:46
1
There is also this LibreOffice bug that images don't show up. If you open the same Excel File in say, Google Sheets the image is perfectly visible!
– Divij Sehgal
Jan 29 at 12:56