首页 > 学院 > 开发设计 > 正文

C#将DateTable表数据导出到Excel中

2019-11-17 04:28:39
字体:
来源:转载
供稿:网友

  在Visual C#中调用Excel表格,并不像读取Excel表格中的数据那么容易了,因为在Visual C#中调用Excel表格要使用到Excel的COM组件。以VS2005为例,首先添加引用--在COM选项中,添加Microsfot Excel 11.0 Objet Library。

  然后在程序中引入命名空间,Using Microsoft.Office.Interop.Excel;

  以下面几条语句来介绍一个Excel类中的几个对象。

  //实例化一个Excel应用程序对象

       Microsoft.Office.Interop.Excel.application myexcel = new Microsoft.Office.Interop.Excel.Application();

       //添加工作表
       myexcel.Application.Workbooks.Add(true);
       Microsoft.Office.Interop.Excel.Worksheet myworksheet = (Microsoft.Office.Interop.Excel.Worksheet)   myexcel.Worksheets["Sheet1"];

        //定义一个区域范围

        Microsoft.Office.Interop.Excel.Range myrange = myexcel.get_Range(myexcel.Cells[1, 1], myexcel.Cells[3, 3]);

       //显示这个excel程序

        myexcel.Visible = true ;


  但此时的Excel表格是一个空的表格,没有任何内容,下面就来介绍如何往Excel表格中输入数据。

  (3).往Excel表格中输入数据:
   在命名空间"Excel"中,还定义了一个类"Cell",这个类所代表的就是Excel表格中的一个下单元。通过给差"Cell"赋值,从而实现往Excel表格中输入相应的数据,下列代码功能是打开Excel表格,并且往表格输入一些数据。
                myexcel.Caption = "   花名册";
                myworksheet .Cells[1, 1] = "  花名册";
                myworksheet .Cells[2, 1] = "姓名";

      (4). Visual C#调用Excel表格,
  了解了上面的这些知识,得到完成上述功能的程序代码就显得比较容易了,函数具体如下:

                Excel.ApplicationClass Mylxls = new Excel.ApplicationClass();
                Mylxls.Application.Workbooks.Add(true);
                myexcel.Caption = "   花名册";
                myworksheet .Cells[1, 1] = "  花名册";
                myworksheet .Cells[2, 1] = "姓名";
                myworksheet .Cells[2, 2] = "性别";
                myworksheet .Cells[2, 3] = "出生年月";

           //合并单元格(第一行的第一列至第3列)
                myworksheet .get_Range(myworksheet .Cells[1, 1], myworksheet .Cells[1, 3]).MergeCells = true;


                //逐行写入数据,dt为DataTable对象,从第三行开始写数据。

     int i=3;
                foreach(DataRow row in dt.Rows)
                {
                     myworksheet .Cells[i, 1] = row["姓名"].ToString();
                     myworksheet .Cells[i, 2] = row["性别"].ToString();
                     myworksheet .Cells[i, 3] = row["出生年月"].ToString();     

                     i++;      

              }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表