/// <summary>
/// 创建excel管理类
/// </summary>
public class CreatExcel
{
public void GetCreatExcel(string TimeStart, string TimeEnd, DataTable AllMen, string startTimeYear, string waiChuTypeText, string vacationTypeText, string ReportName, string ReportType1, DataTable MainDataTable, DataTable JiaBanTiaoXiuDataTable, DataTable QingJiaDataTable, DataTable JiaBanDataTable, DataTable WaiChuDataTable)
{
BaseTimeManager BaseTimeManager1 = new BaseTimeManager();
int i = 0;
string str = null;
switch (ReportType1)
{
case "Main":
#region
str += "/"" + " 员工编号" + "/"" + ",";
str += "/"" + "员工姓名" + "/"" + ",";
str += "/"" + "岗位" + "/"" + ",";
str += "/"" + "应勤天数(天)" + "/"" + ",";
str += "/"" + "实际出勤天数(天)" + "/"" + ",";
str += "/"" + "病假(天)" + "/"" + ",";
str += "/"" + "事假(天)" + "/"" + ",";
str += "/"" + "矿工(天)" + "/"" + ",";
str += "/"" + "年假(天)" + "/"" + ",";
str += "/"" + "婚/丧假(天)" + "/"" + ",";
str += "/"" + "产假(天)" + "/"" + ",";
str += "/"" + "公差(天)" + "/"" + ",";
str += "/"" + "倒休(天)" + "/"" + ",";
str += "/"" + "未打卡(天)" + "/"" + ",";
str += "/"" + "上岗/离职时间" + "/"" + ",";
str += "/"" + "特殊说明" + "/"";
str += "/r/n";
for (int j = 0; j < MainDataTable.Rows.Count; j++)
{
str += "/" " + MainDataTable.Rows[j]["PersonnelID"].ToString() + "/"" + ",";
str += "/" " + MainDataTable.Rows[j]["PersonnelName"].ToString() + "/"" + ",";
str += "/" " + MainDataTable.Rows[j]["PersonnelDuty"].ToString() + "/"" + ",";
double BingJiaReportTatolTime = 0;
double ShiJiaReportTatolTime = 0;
double NianJiaReportTatolTime = 0;
double HunSangJiaReportTatolTime = 0;
double ChanJiaReportTatolTime = 0;
double GongChaiReportTatolTime = 0;
double TiaoXiuReportTatolTime = 0;
if (MainDataTable.Rows[j]["BingJiaReportTatolTime"].ToString() != "")
{
BingJiaReportTatolTime=double.Parse(MainDataTable.Rows[j]["BingJiaReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["ShiJiaReportTatolTime"].ToString() != "")
{
ShiJiaReportTatolTime = double.Parse(MainDataTable.Rows[j]["ShiJiaReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["NianJiaReportTatolTime"].ToString() != "")
{
NianJiaReportTatolTime = double.Parse(MainDataTable.Rows[j]["NianJiaReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["HunSangJiaReportTatolTime"].ToString() != "")
{
HunSangJiaReportTatolTime = double.Parse(MainDataTable.Rows[j]["HunSangJiaReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["ChanJiaReportTatolTime"].ToString() != "")
{
ChanJiaReportTatolTime = double.Parse(MainDataTable.Rows[j]["ChanJiaReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["GongChaiReportTatolTime"].ToString() != "")
{
GongChaiReportTatolTime = double.Parse(MainDataTable.Rows[j]["GongChaiReportTatolTime"].ToString());
}
if (MainDataTable.Rows[j]["TiaoXiuReportTatolTime"].ToString() != "")
{
TiaoXiuReportTatolTime = double.Parse(MainDataTable.Rows[j]["TiaoXiuReportTatolTime"].ToString());
}
util util1 = new util();
string startTimeYear1 = util1.GetFirstStr(TimeStart, "-");
string startTimeMonth = util1.GetLastStr(TimeStart, "-");
string endTimeYear = util1.GetFirstStr(TimeEnd, "-");
string endTimeMonth = util1.GetLastStr(TimeEnd, "-");
float WorkTimes = BaseTimeManager1.GetShouldWorkTime(int.Parse(startTimeYear1), int.Parse(startTimeMonth), int.Parse(endTimeYear), int.Parse(endTimeMonth));
double RealTime = WorkTimes - BingJiaReportTatolTime - ShiJiaReportTatolTime - NianJiaReportTatolTime - HunSangJiaReportTatolTime - ChanJiaReportTatolTime - GongChaiReportTatolTime - TiaoXiuReportTatolTime;
string DayTime = BaseTimeManager1.ConvertMinToDay(startTimeYear, Convert.ToDouble(WorkTimes));
str += "/" " + DayTime + "/"" + ",";
str += "/" " +BaseTimeManager1.ConvertMinToDay(startTimeYear,RealTime)+"/"" + ",";
if (MainDataTable.Rows[j]["BingJiaReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["BingJiaReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
if (MainDataTable.Rows[j]["ShiJiaReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["ShiJiaReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
str += "/" " + "/"" + ",";
if (MainDataTable.Rows[j]["NianJiaReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["NianJiaReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
if (MainDataTable.Rows[j]["HunSangJiaReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["HunSangJiaReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
if (MainDataTable.Rows[j]["ChanJiaReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["ChanJiaReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
if (MainDataTable.Rows[j]["GongChaiReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["GongChaiReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
if (MainDataTable.Rows[j]["TiaoXiuReportTatolTime"].ToString() != "")
{
str += "/" " + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(MainDataTable.Rows[j]["TiaoXiuReportTatolTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"";
str += "/r/n";
}
for (int j = 0; j <AllMen.Rows.Count; j++)
{
util util1 = new util();
string startTimeYear1 = util1.GetFirstStr(TimeStart, "-");
string startTimeMonth = util1.GetLastStr(TimeStart, "-");
string endTimeYear = util1.GetFirstStr(TimeEnd, "-");
string endTimeMonth = util1.GetLastStr(TimeEnd, "-");
float WorkTimes = BaseTimeManager1.GetShouldWorkTime(int.Parse(startTimeYear1), int.Parse(startTimeMonth), int.Parse(endTimeYear), int.Parse(endTimeMonth));
string DayTime = BaseTimeManager1.ConvertMinToDay(startTimeYear, Convert.ToDouble(WorkTimes));
str += "/" " + MainDataTable.Rows[j]["PersonnelID"].ToString() + "/"" + ",";
str += "/" " + MainDataTable.Rows[j]["PersonnelName"].ToString() + "/"" + ",";
str += "/" " + MainDataTable.Rows[j]["PersonnelDuty"].ToString() + "/"" + ",";
str += "/" " + DayTime.ToString() + "/"" + ",";
str += "/" " + DayTime.ToString() + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"" + ",";
str += "/" " + "/"";
str += "/r/n";
}
#endregion
break;
case "QingJia":
#region
str += "/" " + ReportName + " /"" + ",";
str += "/r/n";
str += "/"" + "请假类型" + "/"" + ",";
str += "/"" + "员工编号" + "/"" + ",";
str += "/"" + "员工名称" + "/"" + ",";
str += "/"" + "员工部门" + "/"" + ",";
str += "/"" + "员工职位" + "/"" + ",";
str += "/"" + "请假原因" + "/"" + ",";
str += "/"" + "请假开始时间" + "/"" + ",";
str += "/"" + "请假结束时间" + "/"" + ",";
str += "/"" + "主管审批" + "/"" + ",";
str += "/"" + "主管审批意见" + "/"" + ",";
str += "/"" + "总监审批" + "/"" + ",";
str += "/"" + "总监审批意见" + "/"" + ",";
str += "/"" + "请假天(小时)数" + "/"" + ",";
str += "/r/n";
for (i = 0; i < QingJiaDataTable.Rows.Count; i++)
{
str += "/"" + QingJiaDataTable.Rows[i]["TypeDescribe"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["PersonnelID"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["PersonnelName"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["PersonnelDepartment"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["PersonnelDuty"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["VacReason"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["VacStartTime"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["VacEndTime"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["DirectorApprove"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["DirectorOpinion"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["ManagerApprove"].ToString() + "/"" + ",";
str += "/"" + QingJiaDataTable.Rows[i]["ManagerOpinion"].ToString() + "/"" + ",";
if (QingJiaDataTable.Rows[i]["VacTotalTime"].ToString() != "")
{
str += "/"" + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(QingJiaDataTable.Rows[i]["VacTotalTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
str += "/r/n";
}
#endregion
break;
case "JiaBan":
#region
str += "/" " + ReportName + " /"" + ",";
str += "/r/n";
str += "/"" + "员工编号" + "/"" + ",";
str += "/"" + "员工名称" + "/"" + ",";
str += "/"" + "员工部门" + "/"" + ",";
str += "/"" + "员工职位" + "/"" + ",";
str += "/"" + "加班原因" + "/"" + ",";
str += "/"" + "开始时间" + "/"" + ",";
str += "/"" + "结束时间" + "/"" + ",";
str += "/"" + "主管审批" + "/"" + ",";
str += "/"" + "主管审批意见" + "/"" + ",";
str += "/"" + "总监审批" + "/"" + ",";
str += "/"" + "总监审批意见" + "/"" + ",";
str += "/"" + "加班天(小时)数" + "/"" + ",";
str += "/r/n";
for (i = 0; i < JiaBanDataTable.Rows.Count; i++)
{
str += "/"" + JiaBanDataTable.Rows[i]["PersonnelID"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["PersonnelName"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["PersonnelDepartment"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["PersonnelDuty"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["OverTimeReason"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["StartTime"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["EndTime"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["DirectorApprove"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["DirectorOpinion"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["ManagerApprove"].ToString() + "/"" + ",";
str += "/"" + JiaBanDataTable.Rows[i]["ManagerOpinion"].ToString() + "/"" + ",";
if (JiaBanDataTable.Rows[i]["TotalTime"].ToString() != "")
{
str += "/"" + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(JiaBanDataTable.Rows[i]["TotalTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
str += "/r/n";
}
#endregion
break;
case "WaiChu":
#region
str += "/" " + ReportName + " /"" + ",";
str += "/r/n";
str += "/"" + "外出类型" + "/"" + ",";
str += "/"" + "员工编号" + "/"" + ",";
str += "/"" + "员工名称" + "/"" + ",";
str += "/"" + "员工部门" + "/"" + ",";
str += "/"" + "员工职位" + "/"" + ",";
str += "/"" + "外出原因" + "/"" + ",";
str += "/"" + "外出地点" + "/"" + ",";
str += "/"" + "外出开始时间" + "/"" + ",";
str += "/"" + "外出结束时间" + "/"" + ",";
str += "/"" + "主管审批" + "/"" + ",";
str += "/"" + "主管审批意见" + "/"" + ",";
str += "/"" + "总监审批" + "/"" + ",";
str += "/"" + "总监审批意见" + "/"" + ",";
str += "/"" + "外出天(小时)数" + "/"" + ",";
str += "/r/n";
for (i = 0; i < WaiChuDataTable.Rows.Count; i++)
{
str += "/"" + WaiChuDataTable.Rows[i]["OutTypeDescribe"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["PersonnelID"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["PersonnelName"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["PersonnelDepartment"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["PersonnelDuty"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["OutReason"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["OutAddress"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["FactOutTime"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["FactComeTime"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["DirectorApprove"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["DirectorOpinion"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["ManagerApprove"].ToString() + "/"" + ",";
str += "/"" + WaiChuDataTable.Rows[i]["ManagerOpinion"].ToString() + "/"" + ",";
if (WaiChuDataTable.Rows[i]["RealTotalTime"].ToString() != "")
{
str += "/"" + BaseTimeManager1.ConvertMinToDay(startTimeYear, double.Parse(WaiChuDataTable.Rows[i]["RealTotalTime"].ToString())) + "/"" + ",";
}
else
{
str += "/" " + "/"" + ",";
}
str += "/r/n";
}
#endregion
break;
}
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + ReportName + ".csv");
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
HttpContext.Current.Response.Write(str);
HttpContext.Current.Response.End();
}
}