Create Excel File and Add Rows Fast | Graph API | Office Scripts | Power BI | Power Automate

Поделиться
HTML-код
  • Опубликовано: 28 июл 2024
  • НаукаНаука

Комментарии • 34

  • @DamoBird365
    @DamoBird365  5 месяцев назад

    Blog Post 👉 www.damobird365.com/export-power-bi-to-excel-with-power-automate/
    Download here 👉 damobird365.gumroad.com/l/BulkLoadDataExcelOfficeScript

  • @indzara
    @indzara 6 месяцев назад +1

    Thanks, Damien. I will try this. Will be very handy for a project I am working on. Best wishes.

  • @cameronkennedy8460
    @cameronkennedy8460 6 месяцев назад +1

    Love the vids keep it up❤

  • @Inno94709
    @Inno94709 3 месяца назад +1

    Thanks!

    • @DamoBird365
      @DamoBird365  3 месяца назад

      Thank you thank you 🙏

  • @BrightAnime
    @BrightAnime 5 месяцев назад +1

    Hi Damien, can you share the blogpost version of this please? Sorry, I can't seem to follow the script code properly from the video.

    • @DamoBird365
      @DamoBird365  5 месяцев назад

      www.damobird365.com/export-power-bi-to-excel-with-power-automate/

  • @franknielsen3219
    @franknielsen3219 6 месяцев назад +1

    You are the king og flows! Impressive. Do you know if it is poaaible to build an Office script that gets only the filtered data from an Excel file and sned that to Flow instead of the whole file file content? As I know it is not possible to do that kind og filtering in Power Automate. It just gets it all.

    • @DamoBird365
      @DamoBird365  6 месяцев назад +1

      Yes, it would be possible as you define in the script what you want to return. Take a look at ruclips.net/video/4ZiMjjV1c3Q/видео.html where I return the sheet names in one script. You define the output and it could be a filter on data. What's your use case? Maybe drop me a dm and I can take a look for a future video.

    • @franknielsen3219
      @franknielsen3219 6 месяцев назад +1

      @@DamoBird365 I have filed out your Forms form, hope it is clear, otherwise I can send it again :) THX again for your great job

  • @daviialvees7494
    @daviialvees7494 2 месяца назад +1

    Goodnight! First of all, I would like to thank you for your videos, they help me a lot! (I speak directly from Brazil)
    Please, can you tell me if this method could work with an extraction of 500k+ rows? Because the databases that we need to analyze in our company are gigantic due to many SKUs and customers

    • @DamoBird365
      @DamoBird365  2 месяца назад

      Wow, 500,000 is a huge amount. Where are you extracting the data from? This will likely be pushing limits, you might want to consider batching. Both methods have limits and timeouts of 120 secs I believe.

    • @daviialvees7494
      @daviialvees7494 Месяц назад

      @@DamoBird365
      oops demo! all good?
      I extract this data from a power bi dashboard published in the sales workspace, and we need to use the complete database for analysis in our logistics planning dashboards.
      Really, I tried many ways to do this and unfortunately I couldn't :(
      With the "execute a query on a dataset" connector, I built a DAX that returns JSON, then I convert it to CSV. But I also don't know if that would be the appropriate way...

  • @markjacobson9532
    @markjacobson9532 6 месяцев назад

    Amazing video, thanks for sharing.
    You mention at 20:17 that the graph api created excel is not formatted as a table, albeit the graph api can do that. Would it be possible to explain in the comments how to do that or provide a link or another video?
    Thanks again

    • @DamoBird365
      @DamoBird365  6 месяцев назад +1

      This should get you up and running. I may do a video in due course though if you think that is valuable. learn.microsoft.com/en-us/graph/api/worksheet-post-tables?view=graph-rest-1.0 👍

  • @AdiCristea
    @AdiCristea 6 месяцев назад +1

    Thanks

    • @DamoBird365
      @DamoBird365  6 месяцев назад +1

      ❤ Thank you Adi, appreciated 👍

    • @AdiCristea
      @AdiCristea 6 месяцев назад

      @@DamoBird365not a problem, thank you for another great video!

  • @kimsalas8197
    @kimsalas8197 6 месяцев назад

    Great video. Have you ever tried doing bulk updates to Dataverse using the Dataverse API? I would love to see a video on this.❤

    • @DamoBird365
      @DamoBird365  6 месяцев назад

      I was thinking the same. I haven’t but I was looking earlier in the week. Have you tried this?

    • @kimsalas8197
      @kimsalas8197 6 месяцев назад

      @@DamoBird365 No, I haven’t. I was hoping you as the guru would show us how.😀

    • @DamoBird365
      @DamoBird365  6 месяцев назад

      @@kimsalas8197 I’ll try and work something out then 😂 every day is a learning day

  • @om0729
    @om0729 6 месяцев назад +1

    Hi, Damien, I have got a question Please. what would the highest numbers of rows can be populated on excel sheet using office script and Graph API. I have a use case where rows can go beyond 20K.

    • @DamoBird365
      @DamoBird365  6 месяцев назад +1

      There are some published limits for Office Scripts, more about request limits - 5MB learn.microsoft.com/en-us/office/dev/scripts/testing/platform-limits?tabs=business#excel. Excel and Graph I am not sure learn.microsoft.com/en-us/graph/throttling-limits#excel-service-limits but the aim would be to batch requests. See learn.microsoft.com/en-us/office/dev/scripts/resources/samples/write-large-dataset

    • @om0729
      @om0729 6 месяцев назад +1

      Highly appreciate your prompt response ❤thank you once again sharing great knowledge about power automate. I'm great admirer of your video's on RUclips. 🎉

  • @andersmikkelsen3418
    @andersmikkelsen3418 2 месяца назад +1

    Tak!

    • @DamoBird365
      @DamoBird365  2 месяца назад

      Thank you very very much Anders 😍

  • @ResponsibleXI
    @ResponsibleXI 6 месяцев назад +1

    Thanks Damien. Do you have a github link to download this?

    • @DamoBird365
      @DamoBird365  6 месяцев назад

      My aim will be to make this available via a blog post.

  • @klemetsrudj
    @klemetsrudj 2 месяца назад

    Using either the "Send an HTTP request V2" (Office 365 Groups) or "Send an HTTP request" (Office 365 Groups) --- Which has the same icon you are using is unable to make the call to graph api to get the Site Id. Do we have to use the premium adapter now?

    • @DamoBird365
      @DamoBird365  2 месяца назад

      I believe I used the entra id http action. There are 4 other graph http connectors but they are limited by what they can do.

  • @smarttaus1f
    @smarttaus1f 5 месяцев назад

    Hello Sir, you referred me here from another video. I could use this but only problem is my data is not formatted the way you have it from Power Bi. I a have the CSV and I can only make it an array by the row. It looks pretty much like this:
    [
    ""ID."\t"Div"\t"First By"\t"First Date"\t"Ct"
    ",
    ""123"\t"1"\t"DT"\t"02/05/2024"\t"1"
    ",
    ""124"\t"1"\t"DA"\t"02/05/2024"\t"1"
    ",
    ""125"\t"1"\t"DT"\t"02/05/2024"\t"2"
    ",
    ""
    ]
    Is there any process in power automate to format it like you have? Otherwise, I have to use for loop in the script maybe

    • @DamoBird365
      @DamoBird365  5 месяцев назад

      @smarttaus1f This post might also help. You want to convert the CSV to JSON array and then the JSON array to the nested [[].[].[]] array using the technique in this video. pnp.github.io/blog/post/excel-file-tricks-with-powerautomate/

  • @ResponsibleXI
    @ResponsibleXI 6 месяцев назад

    I get error at runtime at line workbook.addTable(sheet.getUsedRange(),includesheader).setPredefinedTableStyle("TableStyleMedium6");
    The error is "Workbook addTable: The argument is invalid or missing or has an incorrect format."
    I have taken code exactly like in your video. Can you help?
    function main(
    workbook: ExcelScript.Workbook,
    includesheader: boolean= false,
    formatastable: boolean= false,
    sheetname: string = "Sheet1",
    worksheetdata: string[][])
    {
    let sheet = workbook.getWorksheet(sheetname);
    if(worksheetdata.length > 0 && worksheetdata[0].length > 0)
    {
    let rowCount = worksheetdata.length;
    let colCount = worksheetdata[0].length;
    let range = sheet.getRangeByIndexes(0,0,rowCount,colCount);
    range.setValues(worksheetdata);
    }
    if(formatastable)
    {
    workbook.addTable(sheet.getUsedRange(),includesheader).setPredefinedTableStyle("TableStyleMedium6");
    sheet.getUsedRange().getFormat().autofitColumns();
    }
    }