openpyxl - Add data validation for dependent list
I would like to create a dependent drop down list using openpyxl. Defining the named ranges and populating the first dropdown list using the DataValidation
module works fine.
However, for the dependent list to work, the second drop down list needs to use an Excel formula. It seems, I cannot supply that via openpyxl.
Here is the code I use that fails:
dv = DataValidation(type='list', formula1="'INDIRECT(B16)'")
sheet.add_data_validation(dv)
dv.add('A19:A33')
Manually adding the formula =INDIRECT(B16)
to the cell in Excel works. And using a custom type (rather than a list) is possible but obviously does not have the intended drop down functionality, i.e.:
dv = DataValidation(type='custom', formula1="'=INDIRECT(B16)'")
python excel openpyxl
add a comment |
I would like to create a dependent drop down list using openpyxl. Defining the named ranges and populating the first dropdown list using the DataValidation
module works fine.
However, for the dependent list to work, the second drop down list needs to use an Excel formula. It seems, I cannot supply that via openpyxl.
Here is the code I use that fails:
dv = DataValidation(type='list', formula1="'INDIRECT(B16)'")
sheet.add_data_validation(dv)
dv.add('A19:A33')
Manually adding the formula =INDIRECT(B16)
to the cell in Excel works. And using a custom type (rather than a list) is possible but obviously does not have the intended drop down functionality, i.e.:
dv = DataValidation(type='custom', formula1="'=INDIRECT(B16)'")
python excel openpyxl
add a comment |
I would like to create a dependent drop down list using openpyxl. Defining the named ranges and populating the first dropdown list using the DataValidation
module works fine.
However, for the dependent list to work, the second drop down list needs to use an Excel formula. It seems, I cannot supply that via openpyxl.
Here is the code I use that fails:
dv = DataValidation(type='list', formula1="'INDIRECT(B16)'")
sheet.add_data_validation(dv)
dv.add('A19:A33')
Manually adding the formula =INDIRECT(B16)
to the cell in Excel works. And using a custom type (rather than a list) is possible but obviously does not have the intended drop down functionality, i.e.:
dv = DataValidation(type='custom', formula1="'=INDIRECT(B16)'")
python excel openpyxl
I would like to create a dependent drop down list using openpyxl. Defining the named ranges and populating the first dropdown list using the DataValidation
module works fine.
However, for the dependent list to work, the second drop down list needs to use an Excel formula. It seems, I cannot supply that via openpyxl.
Here is the code I use that fails:
dv = DataValidation(type='list', formula1="'INDIRECT(B16)'")
sheet.add_data_validation(dv)
dv.add('A19:A33')
Manually adding the formula =INDIRECT(B16)
to the cell in Excel works. And using a custom type (rather than a list) is possible but obviously does not have the intended drop down functionality, i.e.:
dv = DataValidation(type='custom', formula1="'=INDIRECT(B16)'")
python excel openpyxl
python excel openpyxl
asked Nov 13 '18 at 19:21
thomasBthomasB
11019
11019
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I am not totatlly following your example. I did try to run your code and got an error when manually opening the excel workbook after running the code. After reading some of the openpyxl documentation, I updated the code by slightly changing the forumula1 part, and I no longer got an error.
Again, not sure if this is what you were looking for or not.
dv = DataValidation(type='list', formula1="=INDIRECT(B16)")
sheet.add_data_validation(dv)
dv.add('A19:A33')
add a comment |
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%2f53288117%2fopenpyxl-add-data-validation-for-dependent-list%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I am not totatlly following your example. I did try to run your code and got an error when manually opening the excel workbook after running the code. After reading some of the openpyxl documentation, I updated the code by slightly changing the forumula1 part, and I no longer got an error.
Again, not sure if this is what you were looking for or not.
dv = DataValidation(type='list', formula1="=INDIRECT(B16)")
sheet.add_data_validation(dv)
dv.add('A19:A33')
add a comment |
I am not totatlly following your example. I did try to run your code and got an error when manually opening the excel workbook after running the code. After reading some of the openpyxl documentation, I updated the code by slightly changing the forumula1 part, and I no longer got an error.
Again, not sure if this is what you were looking for or not.
dv = DataValidation(type='list', formula1="=INDIRECT(B16)")
sheet.add_data_validation(dv)
dv.add('A19:A33')
add a comment |
I am not totatlly following your example. I did try to run your code and got an error when manually opening the excel workbook after running the code. After reading some of the openpyxl documentation, I updated the code by slightly changing the forumula1 part, and I no longer got an error.
Again, not sure if this is what you were looking for or not.
dv = DataValidation(type='list', formula1="=INDIRECT(B16)")
sheet.add_data_validation(dv)
dv.add('A19:A33')
I am not totatlly following your example. I did try to run your code and got an error when manually opening the excel workbook after running the code. After reading some of the openpyxl documentation, I updated the code by slightly changing the forumula1 part, and I no longer got an error.
Again, not sure if this is what you were looking for or not.
dv = DataValidation(type='list', formula1="=INDIRECT(B16)")
sheet.add_data_validation(dv)
dv.add('A19:A33')
answered Nov 14 '18 at 3:32
AlwaysDataAlwaysData
40337
40337
add a comment |
add a comment |
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%2f53288117%2fopenpyxl-add-data-validation-for-dependent-list%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