VS DisplayInExcel()函数简介

    作者:匿名更新于: 2025-01-04 22:40:58

      这里介绍VS DisplayInExcel()函数,我们定义一个VS DisplayInExcel()函数用于创建Excel表格,然后将容器中的账号数据填充到Excel表格中。

      在向大家详细介绍VS DisplayInExcel()函数之前,首先让大家了解下在Excel中显示账号数据,然后全面介绍VS DisplayInExcel()函数,希望对大家有用。下面我们将把这些数据显示到Excel表格中。我们定义一个VS DisplayInExcel()函数用于创建Excel表格,然后将容器中的账号数据填充到Excel表格中:

      复制

      1.  public static void DisplayInExcel(IEnumerable accounts,

      2.  Action DisplayFunc)

      3.  {

      4.  var xl = new Excel.Application();

          5.

      6.  xl.Workbooks.Add();

      7.  xl.Visible = true;

      8.  xl.Cells[1, 1].Value2 = "Name";

      9.  xl.Cells[1, 2].Value2 = " Balance";

      10.  xl.Cells[2, 1].Select();

      11.  foreach (var ac in accounts)

      12.  {

      13.  DisplayFunc(ac, xl.ActiveCell);

      14.  xl.ActiveCell.get_Offset(1, 0).Select();

      15.  }

          16.

      17.  xl.get_Range("A1:B3").Copy();

      18.  }

      然后,我们在Main()函数的底部,按照如下的方式调用VS DisplayInExcel()函数,最终完成Excel表格的创建和数据的填充:

      复制

      1.  DisplayInExcel(checkAccounts, (account, cell) =>

      2.  {

      3.  // This multiline lambda will set

      4.  // custom processing rules.

      5.  cell.Value2=account.Name;

      6.  cell.get_Offset(0, 1).Value2 = account.Balance;

          7.

      8.  if (account.Balance < 0)

      9.  {

      10.  cell.Interior.Color = 255;

      11.  cell.get_Offset(0, 1).Interior.Color = 255;

      12.  }

      13.  }

      #t#这里我们使用了Lambda表达式,由它来对数据填充的逻辑进行具体的定义,最终完成数据的填充。同时,它还会检查Balance的值,如果为负值,则将表格填充为红色,表示这个账号已经赤字了。最后,为了使得Excel表格更加美观,我们让Excel表格根据内容自动调整表格的宽度。在VS DisplayInExcel()函数的末尾,我们添加如下的代码:

      xl.Columns[1].AutoFit();

      xl.Columns[2].AutoFit();

      在这里,有过Office开发经验的朋友可能会感到奇怪,AutoFit()函数可以被Columns的返回结果直接调用而无需进行类型转换吗?的确,在C# 3.0中,要想调用AutoFit()函数,必须对Columns的返回值进行类型转换,上面的代码应该写成:

      复制

      1.  // C# 3.0 code. Not necessary in C# 4.0!

      2.  ((Range)xl.Columns[1]).AutoFit();

      3.  ((Range)xl.Columns[2]).AutoFit();

      但是在C# 4.0中,因为有了dynamic类型的支持,繁琐的类型转换将不再需要。在C# 4.0中,从COM接口返回的Object类型的对象,被自动当做dynamic类型来处理。我们前面曾经介绍过,因为动态类型的迟绑定特性(late binding),dynamic类型可以调用任何函数,所以无需再进行类型转换,也不会产生编译错误。在运行的时候,动态语言运行时(DLR)会动态查找对象真正的类型而调用相应的函数。

      >>>>>>点击进入Office办公软件专题

Excel 更多推荐

课课家教育

未登录