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();
}