getRowHeight() returns default row height instead of actual height, when text wrap is enabled












4















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?



enter image description here



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));
}
}









share|improve this question

























  • 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
















4















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?



enter image description here



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));
}
}









share|improve this question

























  • 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














4












4








4








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?



enter image description here



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));
}
}









share|improve this question
















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?



enter image description here



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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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



















  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

A Topological Invariant for $pi_3(U(n))$