Microsoft 开发人员网络 > 论坛主页 > Visual Studio Tools for Office > How to fill a Range from an array in vsto and excel 2003
提出问题提出问题
 

已答复How to fill a Range from an array in vsto and excel 2003

  • 2007年12月5日 23:26MaxJC 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    Hi

     

    I'd appreciate if someone shows me how to fill an excel range with an array data using vsto and visual basic, with one or two lines of code (not cell by cell).

     

    My array and my range look like A(2000, 25) and Range("A11:Z2000)

     

    Thank you very much!

    Max

     

     

答案

  • 2007年12月6日 7:37Ji.ZhouMSFT, 版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

    Hi,

     

    There are two ways to do that. One is using 2D array, and another is using Application.WorkbookFunction.Transpose(array)

    A very good blog article and followed discussions are available in Eric Carter’s blog:

    http://blogs.msdn.com/eric_carter/archive/2004/05/04/126190.aspx

    Codes work fine in my side:

    Code Block

                int[] arr = new int[5];
                arr[0] = 0;
                arr[1] = 1;
                arr[2] = 2;
                arr[3] = 3;
                arr[4] = 4;

                app.get_Range("A1", "A5").Value2 = app.WorksheetFunction.Transpose(arr);

     

     

     

     

     

    Thanks

    Ji

     

  • 2007年12月6日 18:58MaxJC 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

    Ji:

    It worked well !

    Thank you very much Ji

    Max

全部回复

  • 2007年12月6日 7:37Ji.ZhouMSFT, 版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

    Hi,

     

    There are two ways to do that. One is using 2D array, and another is using Application.WorkbookFunction.Transpose(array)

    A very good blog article and followed discussions are available in Eric Carter’s blog:

    http://blogs.msdn.com/eric_carter/archive/2004/05/04/126190.aspx

    Codes work fine in my side:

    Code Block

                int[] arr = new int[5];
                arr[0] = 0;
                arr[1] = 1;
                arr[2] = 2;
                arr[3] = 3;
                arr[4] = 4;

                app.get_Range("A1", "A5").Value2 = app.WorksheetFunction.Transpose(arr);

     

     

     

     

     

    Thanks

    Ji

     

  • 2007年12月6日 18:58MaxJC 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

    Ji:

    It worked well !

    Thank you very much Ji

    Max