getRowHeight() returns default row height instead of actual height, when text wrap is enabled
I want to be able to format and adjust the size of the rows programmatically when creating a report in Sheets so that I don't have the header stuck on one page and then content on the next with a multi page report. It looks bad.
So if I could determine the height of each row, then I could determine whether the header will be stuck on one page and the content on another.
It appears that the getRowHeight() function only returns the height of the row if a height has been specified for the row.
The function will return the default height of the row, even if the row height has been adjusted/increased because of using wrap text. With wrap text the row height has been increased because of the text wrapping to the next line in the cell.
Is there another solution for determining row height in order to programmatically determine what rows will print on which page?
function test2(){
var defSpreadsheet = SpreadsheetApp.getActive()
var sheet6 = defSpreadsheet.getSheetByName("Sheet6")
sheet6.activate();
sheet6.showSheet();
var startingrow = 1;
for(var i= 2;i<4;i++){
sheet6.getRange(i,5).setValue(sheet6.getRowHeight(i));
}
}
google-apps-script google-sheets
add a comment |
I want to be able to format and adjust the size of the rows programmatically when creating a report in Sheets so that I don't have the header stuck on one page and then content on the next with a multi page report. It looks bad.
So if I could determine the height of each row, then I could determine whether the header will be stuck on one page and the content on another.
It appears that the getRowHeight() function only returns the height of the row if a height has been specified for the row.
The function will return the default height of the row, even if the row height has been adjusted/increased because of using wrap text. With wrap text the row height has been increased because of the text wrapping to the next line in the cell.
Is there another solution for determining row height in order to programmatically determine what rows will print on which page?
function test2(){
var defSpreadsheet = SpreadsheetApp.getActive()
var sheet6 = defSpreadsheet.getSheetByName("Sheet6")
sheet6.activate();
sheet6.showSheet();
var startingrow = 1;
for(var i= 2;i<4;i++){
sheet6.getRange(i,5).setValue(sheet6.getRowHeight(i));
}
}
google-apps-script google-sheets
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
2
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
1
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
1
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52
add a comment |
I want to be able to format and adjust the size of the rows programmatically when creating a report in Sheets so that I don't have the header stuck on one page and then content on the next with a multi page report. It looks bad.
So if I could determine the height of each row, then I could determine whether the header will be stuck on one page and the content on another.
It appears that the getRowHeight() function only returns the height of the row if a height has been specified for the row.
The function will return the default height of the row, even if the row height has been adjusted/increased because of using wrap text. With wrap text the row height has been increased because of the text wrapping to the next line in the cell.
Is there another solution for determining row height in order to programmatically determine what rows will print on which page?
function test2(){
var defSpreadsheet = SpreadsheetApp.getActive()
var sheet6 = defSpreadsheet.getSheetByName("Sheet6")
sheet6.activate();
sheet6.showSheet();
var startingrow = 1;
for(var i= 2;i<4;i++){
sheet6.getRange(i,5).setValue(sheet6.getRowHeight(i));
}
}
google-apps-script google-sheets
I want to be able to format and adjust the size of the rows programmatically when creating a report in Sheets so that I don't have the header stuck on one page and then content on the next with a multi page report. It looks bad.
So if I could determine the height of each row, then I could determine whether the header will be stuck on one page and the content on another.
It appears that the getRowHeight() function only returns the height of the row if a height has been specified for the row.
The function will return the default height of the row, even if the row height has been adjusted/increased because of using wrap text. With wrap text the row height has been increased because of the text wrapping to the next line in the cell.
Is there another solution for determining row height in order to programmatically determine what rows will print on which page?
function test2(){
var defSpreadsheet = SpreadsheetApp.getActive()
var sheet6 = defSpreadsheet.getSheetByName("Sheet6")
sheet6.activate();
sheet6.showSheet();
var startingrow = 1;
for(var i= 2;i<4;i++){
sheet6.getRange(i,5).setValue(sheet6.getRowHeight(i));
}
}
google-apps-script google-sheets
google-apps-script google-sheets
edited Jan 2 at 23:24
Trevor
asked Jan 2 at 20:43
TrevorTrevor
356
356
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
2
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
1
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
1
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52
add a comment |
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
2
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
1
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
1
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
2
2
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
1
1
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
1
1
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52
add a comment |
0
active
oldest
votes
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%2f54012902%2fgetrowheight-returns-default-row-height-instead-of-actual-height-when-text-wr%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%2f54012902%2fgetrowheight-returns-default-row-height-instead-of-actual-height-when-text-wr%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
Ruben thats a different problem, for setRowHeight.......my issue is with getRowHeight. Though the answer suggests that this is potentially the way its supposed to work or an issue with it.......though I'm not sure why. What kind of workaround is available for getting cell height? Use DOM with the google sheets html?
– Trevor
Jan 2 at 23:19
2
Related: Is there a way to set row height to match wrapped text height?
– Rubén
Jan 3 at 0:13
1
@Trevor: AFAIK it's not possible to use DOM to get the row height and any other Google Sheets element property. The only answer to the above linked Q suggest to use calculate the height indirectly by using the font size, value length, etc.
– Rubén
Jan 3 at 0:21
DOM? Probably need tampermonkey type scripts. appsscript can't access DOM.
– TheMaster
Jan 3 at 0:24
1
Ruben, I am essentially doing that, calculating chars per line for a given font and font size, then calculating pixel height, and setting the row height based on that. Its ugly and way more code then it should be.......but I think it should work most of the time.
– Trevor
Jan 3 at 0:52