458 lines
23 KiB
C#
458 lines
23 KiB
C#
|
using BLL;
|
|||
|
using Model;
|
|||
|
using NPOI.SS.UserModel;
|
|||
|
using NPOI.SS.Util;
|
|||
|
using NPOI.XSSF.UserModel;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using System.IO;
|
|||
|
|
|||
|
namespace FineUIPro.Web.HJGL.WeldingReport
|
|||
|
{
|
|||
|
public partial class NDTWeekReport : PageBase
|
|||
|
{
|
|||
|
#region 定义变量
|
|||
|
/// <summary>
|
|||
|
/// 主键
|
|||
|
/// </summary>
|
|||
|
public string NDTReportId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["NDTReportId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["NDTReportId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 加载
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void BindGrid()
|
|||
|
{
|
|||
|
List<SpRpNDTWeekReport> list = new List<SpRpNDTWeekReport>();
|
|||
|
List<Model.NDTReport> NDTReportLists = BLL.NDTReportService.GetNDTReportByProjectId(this.CurrUser.LoginProjectId, "1");
|
|||
|
foreach (var item in NDTReportLists)
|
|||
|
{
|
|||
|
SpRpNDTWeekReport t = new SpRpNDTWeekReport();
|
|||
|
t.NDTReportId = item.NDTReportId;
|
|||
|
t.ProjectId = item.ProjectId;
|
|||
|
t.ProjectName = BLL.ProjectService.GetProjectNameByProjectId(item.ProjectId);
|
|||
|
t.StaDate = string.Format("{0:yyyy-MM-dd}", item.StartDate) + "至" + string.Format("{0:yyyy-MM-dd}", item.EndDate);
|
|||
|
list.Add(t);
|
|||
|
}
|
|||
|
this.Grid1.DataSource = list;
|
|||
|
this.Grid1.DataBind();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 查询
|
|||
|
/// <summary>
|
|||
|
/// 查询
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnSearch_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string projectName = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
|
|||
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text) && !string.IsNullOrEmpty(this.txtEndDate.Text))
|
|||
|
{
|
|||
|
string staDate = this.txtStartDate.Text + "至" + this.txtEndDate.Text;
|
|||
|
|
|||
|
SpRpNDTWeekReport t = new SpRpNDTWeekReport();
|
|||
|
this.NDTReportId = SQLHelper.GetNewID(typeof(Model.NDTReport));
|
|||
|
t.NDTReportId = this.NDTReportId;
|
|||
|
t.ProjectId = this.CurrUser.LoginProjectId;
|
|||
|
t.ProjectName = projectName;
|
|||
|
t.StaDate = staDate;
|
|||
|
|
|||
|
List<SpRpNDTWeekReport> list = new List<SpRpNDTWeekReport>();
|
|||
|
list.Add(t);
|
|||
|
Grid1.DataSource = list;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Alert.ShowInTop("日期不能为空!", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 保存
|
|||
|
/// <summary>
|
|||
|
/// 保存
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text) && !string.IsNullOrEmpty(this.txtEndDate.Text))
|
|||
|
{
|
|||
|
Model.NDTReport ndtReport = new Model.NDTReport();
|
|||
|
ndtReport.NDTReportId = this.NDTReportId;
|
|||
|
ndtReport.ProjectId = this.CurrUser.LoginProjectId;
|
|||
|
ndtReport.StartDate = Funs.GetNewDateTime(this.txtStartDate.Text.Trim());
|
|||
|
ndtReport.EndDate = Funs.GetNewDateTime(this.txtEndDate.Text.Trim());
|
|||
|
ndtReport.RType = "1";
|
|||
|
BLL.NDTReportService.AddNDTReort(ndtReport);
|
|||
|
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
|||
|
BindGrid();
|
|||
|
this.txtStartDate.Text = string.Empty;
|
|||
|
this.txtEndDate.Text = string.Empty;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Alert.ShowInTop("日期不能为空!", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 右键删除
|
|||
|
/// <summary>
|
|||
|
/// 右键删除
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (Grid1.SelectedRowIndexArray.Length > 0)
|
|||
|
{
|
|||
|
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
|||
|
{
|
|||
|
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
|||
|
var rep = BLL.NDTReportService.GetNDTReportById(rowID);
|
|||
|
if (rep != null)
|
|||
|
{
|
|||
|
BLL.NDTReportService.DeleteNDTReportById(rowID);
|
|||
|
}
|
|||
|
}
|
|||
|
ShowNotify("删除成功!", MessageBoxIcon.Success);
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 日期选择事件
|
|||
|
/// <summary>
|
|||
|
/// 开始日期选择事件
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void txtStartDate_TextChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
|
|||
|
{
|
|||
|
this.txtEndDate.Text = Funs.GetNewDateTime(this.txtStartDate.Text.Trim()).Value.AddDays(6).ToShortDateString();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 结束日期选择事件
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void txtEndDate_TextChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
|||
|
{
|
|||
|
this.txtStartDate.Text = Funs.GetNewDateTime(this.txtEndDate.Text.Trim()).Value.AddDays(-6).ToShortDateString();
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
|
|||
|
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
|
|||
|
{
|
|||
|
object[] keys = Grid1.DataKeys[e.RowIndex];
|
|||
|
string fileId = string.Empty;
|
|||
|
if (keys == null)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
fileId = keys[0].ToString();
|
|||
|
}
|
|||
|
if (e.CommandName == "print")
|
|||
|
{
|
|||
|
string dateStr = Grid1.Rows[e.RowIndex].Values[2].ToString();
|
|||
|
var dates = dateStr.Split('至');
|
|||
|
DateTime begin = DateTime.Parse(dates[0]);
|
|||
|
DateTime end = DateTime.Parse(dates[1]);
|
|||
|
|
|||
|
|
|||
|
var projectName = ProjectService.GetProjectNameByProjectId(CurrUser.LoginProjectId);
|
|||
|
|
|||
|
|
|||
|
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
|||
|
//模板文件
|
|||
|
string TempletFileName = Server.MapPath("~/") + "File/Excel/HJGL_DataOut/无损检测周报.xlsx";
|
|||
|
//导出文件
|
|||
|
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
|||
|
if (!Directory.Exists(filePath))
|
|||
|
{
|
|||
|
Directory.CreateDirectory(filePath);
|
|||
|
}
|
|||
|
string ReportFileName = filePath + "out.xlsx";
|
|||
|
|
|||
|
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
|
|||
|
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
|
|||
|
|
|||
|
ICellStyle styleCenter = hssfworkbook.CreateCellStyle();
|
|||
|
styleCenter.VerticalAlignment = VerticalAlignment.Center;
|
|||
|
styleCenter.Alignment = HorizontalAlignment.Center;
|
|||
|
styleCenter.BorderLeft = BorderStyle.Thin;
|
|||
|
styleCenter.BorderTop = BorderStyle.Thin;
|
|||
|
styleCenter.BorderRight = BorderStyle.Thin;
|
|||
|
styleCenter.BorderBottom = BorderStyle.Thin;
|
|||
|
styleCenter.WrapText = true;
|
|||
|
IFont font = styleCenter.GetFont(hssfworkbook);
|
|||
|
font.FontHeightInPoints = 10;//字体高度(与excel中的字号一致)
|
|||
|
styleCenter.SetFont(font);
|
|||
|
XSSFSheet recordSheet = (XSSFSheet)hssfworkbook.GetSheet("无损检测周报");
|
|||
|
|
|||
|
// recordSheet.AddMergedRegion(new CellRangeAddress(0, 0, 8, 9));
|
|||
|
|
|||
|
|
|||
|
recordSheet.GetRow(2).GetCell(2).SetCellValue(projectName.ToString());
|
|||
|
//recordSheet.GetRow(2).GetCell(2).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(3).GetCell(2).SetCellValue(dateStr);
|
|||
|
//recordSheet.GetRow(2).GetCell(16).CellStyle = styleCenter;
|
|||
|
List<Base_Unit> units = UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, Const.ProjectUnitType_5);
|
|||
|
string unitName = "";
|
|||
|
foreach (Base_Unit unit in units)
|
|||
|
{
|
|||
|
unitName += unit.UnitName + ",";
|
|||
|
}
|
|||
|
recordSheet.GetRow(4).GetCell(2).SetCellValue(unitName.TrimEnd(','));
|
|||
|
//recordSheet.GetRow(3).GetCell(2).CellStyle = styleCenter;
|
|||
|
|
|||
|
|
|||
|
string strSql1 = @"select unit.UnitId,unit.UnitName,workArea.WorkAreaName,workArea.WorkAreaCode,curr.curr_pass_film,curr.curr_total_film,recurr.recurr_pass_film,recurr.recurr_total_film
|
|||
|
from Base_Unit unit right join
|
|||
|
ProjectData_WorkArea workArea on workArea.UnitId=unit.UnitId
|
|||
|
left join
|
|||
|
( SELECT WorkAreaId,IsoInfo.UnitId,COUNT(*) AS curr_check_count_total
|
|||
|
, SUM(cht_totalfilm) AS curr_total_film
|
|||
|
, SUM(cht_passfilm) AS curr_pass_film
|
|||
|
FROM CH_Check Checks
|
|||
|
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
|||
|
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
|||
|
LEFT JOIN PW_IsoInfo as IsoInfo ON IsoInfo.ISO_ID = JointInfo.ISO_ID
|
|||
|
where JointInfo.ProjectId=@ProjectId and (cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)
|
|||
|
group by WorkAreaId,IsoInfo.UnitId) as curr on unit.UnitId= curr.UnitId and workArea.WorkAreaId=curr.WorkAreaId
|
|||
|
left join
|
|||
|
( SELECT WorkAreaId,IsoInfo.UnitId,COUNT(*) AS recurr_check_count_total
|
|||
|
, SUM(cht_totalfilm) AS recurr_total_film
|
|||
|
, SUM(cht_passfilm) AS recurr_pass_film
|
|||
|
FROM CH_Check Checks
|
|||
|
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
|||
|
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
|||
|
LEFT JOIN PW_IsoInfo as IsoInfo ON IsoInfo.ISO_ID = JointInfo.ISO_ID
|
|||
|
LEFT JOIN CH_Trust trust on trust.CH_TrustID = Checks.CH_TrustID
|
|||
|
where JointInfo.ProjectId=@ProjectId and trust.CH_TrustType='2' and (cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)
|
|||
|
group by WorkAreaId,IsoInfo.UnitId) as recurr on unit.UnitId= recurr.UnitId and workArea.WorkAreaId=recurr.WorkAreaId
|
|||
|
|
|||
|
|
|||
|
where workArea.ProjectId=@ProjectId ";
|
|||
|
|
|||
|
|
|||
|
List<SqlParameter> listpar = new List<SqlParameter>
|
|||
|
{
|
|||
|
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
|||
|
};
|
|||
|
|
|||
|
listpar.Add(new SqlParameter("@date1", begin.ToString("yyyy-MM-dd")));
|
|||
|
listpar.Add(new SqlParameter("@date2", end.ToString("yyyy-MM-dd")));
|
|||
|
|
|||
|
SqlParameter[] parameter5 = listpar.ToArray();
|
|||
|
DataTable dt = SQLHelper.GetDataTableRunText(strSql1, parameter5);
|
|||
|
|
|||
|
if (dt != null)
|
|||
|
{
|
|||
|
if (dt.Rows.Count > 16)
|
|||
|
{
|
|||
|
recordSheet.ShiftRows(8, 25, dt.Rows.Count - 16);
|
|||
|
for (int j = 0; j < dt.Rows.Count - 16; j++)
|
|||
|
{
|
|||
|
recordSheet.CopyRow(7 + j, 8 + j);
|
|||
|
}
|
|||
|
|
|||
|
for (int ii = 1; ii <= dt.Rows.Count; ii++)
|
|||
|
{
|
|||
|
CellRangeAddress region = new CellRangeAddress(6 + ii, 6 + ii, 1, 2);
|
|||
|
recordSheet.AddMergedRegion(region);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
for (int ii = 1; ii <= 16; ii++)
|
|||
|
{
|
|||
|
CellRangeAddress region = new CellRangeAddress(6 + ii, 6 + ii, 1, 2);
|
|||
|
recordSheet.AddMergedRegion(region);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
int i = 1;
|
|||
|
|
|||
|
int curr_pass_film = 0;
|
|||
|
int curr_total_film = 0;
|
|||
|
int recurr_pass_film = 0;
|
|||
|
int recurr_total_film = 0;
|
|||
|
foreach (DataRow row in dt.Rows)
|
|||
|
{
|
|||
|
|
|||
|
recordSheet.GetRow(6 + i).Height = 29 * 20;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(0).SetCellValue(i + "");
|
|||
|
recordSheet.GetRow(6 + i).GetCell(0).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(1).SetCellValue(row["UnitName"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(1).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(3).SetCellValue(row["WorkAreaCode"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(3).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(4).SetCellValue(row["WorkAreaName"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(4).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(5).SetCellValue(row["curr_pass_film"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(5).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(6).SetCellValue(row["curr_total_film"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(6).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
curr_pass_film += Funs.GetNewIntOrZero(row["curr_pass_film"].ToString());
|
|||
|
curr_total_film += Funs.GetNewIntOrZero(row["curr_total_film"].ToString());
|
|||
|
var celCellValue1 = recordSheet.GetRow(6 + i).CreateCell(7);
|
|||
|
celCellValue1.CellStyle = styleCenter;
|
|||
|
celCellValue1.SetCellValue((100.0 * int.Parse(row["curr_pass_film"].ToString()) / int.Parse(row["curr_total_film"].ToString())).ToString("0.00"));
|
|||
|
}
|
|||
|
catch (Exception e1)
|
|||
|
{ }
|
|||
|
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(14).SetCellValue(row["recurr_pass_film"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(14).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(6 + i).CreateCell(15).SetCellValue(row["recurr_total_film"].ToString());
|
|||
|
recordSheet.GetRow(6 + i).GetCell(15).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
recurr_pass_film += Funs.GetNewIntOrZero(row["recurr_pass_film"].ToString());
|
|||
|
recurr_total_film += Funs.GetNewIntOrZero(row["recurr_total_film"].ToString());
|
|||
|
var celCellValue2 = recordSheet.GetRow(6 + i).CreateCell(16);
|
|||
|
celCellValue2.CellStyle = styleCenter;
|
|||
|
celCellValue2.SetCellValue((100.0 * int.Parse(row["recurr_pass_film"].ToString()) / int.Parse(row["recurr_total_film"].ToString())).ToString("0.00"));
|
|||
|
}
|
|||
|
catch (Exception e2)
|
|||
|
{ }
|
|||
|
|
|||
|
i++;
|
|||
|
|
|||
|
if (dt.Rows.Count > 16)
|
|||
|
{
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(5).SetCellValue(curr_pass_film + "");
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).GetCell(5).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(6).SetCellValue(curr_total_film + "");
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).GetCell(6).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
if (curr_total_film > 0)
|
|||
|
{
|
|||
|
var celCellValue1 = recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(7);
|
|||
|
celCellValue1.CellStyle = styleCenter;
|
|||
|
celCellValue1.SetCellValue((100.0 * curr_pass_film / curr_total_film).ToString("0.00"));
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e1) { }
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(14).SetCellValue(recurr_pass_film + "");
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).GetCell(14).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(15).SetCellValue(recurr_total_film + "");
|
|||
|
recordSheet.GetRow(dt.Rows.Count + 7).GetCell(15).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
if (recurr_total_film > 0)
|
|||
|
{
|
|||
|
var celCellValue2 = recordSheet.GetRow(dt.Rows.Count + 7).CreateCell(16);
|
|||
|
celCellValue2.CellStyle = styleCenter;
|
|||
|
celCellValue2.SetCellValue((100.0 * recurr_pass_film / recurr_total_film).ToString("0.00"));
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e2) { }
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
recordSheet.GetRow(23).CreateCell(5).SetCellValue(curr_pass_film + "");
|
|||
|
recordSheet.GetRow(23).GetCell(5).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(23).CreateCell(6).SetCellValue(curr_total_film + "");
|
|||
|
recordSheet.GetRow(23).GetCell(6).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
if (curr_total_film > 0)
|
|||
|
{
|
|||
|
var celCellValue1 = recordSheet.GetRow(23).CreateCell(7);
|
|||
|
celCellValue1.CellStyle = styleCenter;
|
|||
|
celCellValue1.SetCellValue((100.0 * curr_pass_film / curr_total_film).ToString("0.00"));
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e3) { }
|
|||
|
recordSheet.GetRow(23).CreateCell(14).SetCellValue(recurr_pass_film + "");
|
|||
|
recordSheet.GetRow(23).GetCell(14).CellStyle = styleCenter;
|
|||
|
recordSheet.GetRow(23).CreateCell(15).SetCellValue(recurr_total_film + "");
|
|||
|
recordSheet.GetRow(23).GetCell(15).CellStyle = styleCenter;
|
|||
|
try
|
|||
|
{
|
|||
|
if (recurr_total_film > 0)
|
|||
|
{
|
|||
|
var celCellValue2 = recordSheet.GetRow(23).CreateCell(16);
|
|||
|
celCellValue2.CellStyle = styleCenter;
|
|||
|
celCellValue2.SetCellValue((100.0 * recurr_pass_film / recurr_total_film).ToString("0.00"));
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e4) { }
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
using (FileStream filess = File.OpenWrite(ReportFileName))
|
|||
|
{
|
|||
|
hssfworkbook.Write(filess);
|
|||
|
}
|
|||
|
//PageContext.RegisterStartupScript(Window5.GetShowReference(String.Format("../../ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId={3}", BLL.Const.HJGL_JointInfoReportId, isoId, varValue, this.CurrUser.LoginProjectId)));
|
|||
|
|
|||
|
FileInfo filet = new FileInfo(ReportFileName);
|
|||
|
Response.Clear();
|
|||
|
Response.Charset = "GB2312";
|
|||
|
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
|||
|
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
|||
|
Response.AddHeader("Content-Disposition", "attachment; filename=无损检测周报_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
|
|||
|
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
|||
|
Response.AddHeader("Content-Length", filet.Length.ToString());
|
|||
|
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
|||
|
Response.ContentType = "application/ms-excel";
|
|||
|
// 把文件流发送到客户端
|
|||
|
Response.WriteFile(filet.FullName);
|
|||
|
// 停止页面的执行
|
|||
|
Response.End();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|