数据库导入EXCEL

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace XAZH.Gov.Personnel.DX.Common
{
 class Export
 {
  //表的题目
  private string TableTitle;

  //表的列名称
  private string[] TableHeader;

  //声明委托用来返回表格中的数据
  public delegate string GetTableRow(System.Data.DataRowView tRow, int tCellIndexID);


  /*
  * 说明:Export的构造方法
  * 时间:2008年3月26日
  * 返回:无
  * 参数:tTableTitle -- 表的题目
   *     tTableHeader -- 表的列名称
  */
  public Export(string tTableTitle, string[] tTableHeader)
  {
   this.TableTitle = tTableTitle;
   this.TableHeader = new string[tTableHeader.Length];
   for (int index = 0; index < tTableHeader.Length; ++index)
    this.TableHeader[index] = tTableHeader[index];
  }


  /*
   * 说明:将数据导出到Eecel中
   * 时间:2008年3月26日
   * 返回:无
   * 参数:tCellColumnCount -- 表的列数
    *     tGetTableRow -- 返回表格数据的方法名称
   *       tView -- 要导出数据的DataView的对象
   */
  public int GenerateExcelFile(System.Data.DataView tView, int tCellColumnCount, GetTableRow tGetTableRow)
  {
   int sign = 0;
   try
   {
    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

    if (excel == null)
    {
     sign = -1;
     return sign;
    }
    excel.Application.Workbooks.Add(true);
    Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.ActiveSheet;
    Microsoft.Office.Interop.Excel.Range rH = worksheet.get_Range(excel.Cells[1, 1], excel.Cells[1, tCellColumnCount]);
    rH.Merge(true);


    //些题目
    rH.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
    excel.Cells[1, 1] = this.TableTitle;

    //写表头
    Microsoft.Office.Interop.Excel.Range range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[2, tCellColumnCount]);
    range.HorizontalAlignment = 3;
    range.VerticalAlignment = 3;

    for (int i = 0; i < tCellColumnCount; i++)
     excel.Cells[2, i + 1] = this.TableHeader[i];

    //写表体
    for (int i = 0; i < tView.Count; i++)
    {
     DataRowView drv = tView[i];
     for (int j = 0; j < tCellColumnCount; j++)
      excel.Cells[i + 3, j + 1] = tGetTableRow(drv, j);
    }

    excel.Visible = true;
   }
   catch (Exception error)
   {
    throw XAZH.Common.XAZHException.GetException(error);
   }
   return sign;
  }
 }
}
、、、、、、、、、、、、、、、、、、、、、、

。。。。。。。。。。。。。。。。。。。。。。。。。。

string[] TableHeader = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" };
   Data.ReadStudentInfo rStudentInfo = new XAZH.Gov.Personnel.DX.Data.ReadStudentInfo(Comm.DatabseConnectString, Comm.DatabaseConnect);
   DataSet dsStudentInfo = rStudentInfo.GetStudentInfoList(Comm.ExamineID);
   XAZH.Gov.Personnel.DX.Common.Export tExport = new XAZH.Gov.Personnel.DX.Common.Export("考生信息", TableHeader);
   XAZH.Gov.Personnel.DX.Common.Export.GetTableRow tGetTableRow = new XAZH.Gov.Personnel.DX.Common.Export.GetTableRow(this.GetTableRow);

   if (tExport.GenerateExcelFile(dsStudentInfo.Tables[0].DefaultView, 20, tGetTableRow) == -1)
   {
    MessageBox.Show("Excel不能打开,您可能没有安装Excel!", "信息", MessageBoxButtons.OK);
   }
   this.Close();
  }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值