У меня есть кнопка с изображением, которая извлекает данные из базы данных и сохраняет их в файл Excel с помощью EPPlus.Когда пользователь нажимает кнопку, запускается скрипт, скрывающий кнопку с помощью OnClientClick, и кнопка снова появляется после сохранения файла.Начальная скрывающая часть работает, но сделать ее видимой снова не работает.
Однако позже я обнаружил, что если я закомментирую функцию DumpToExcel, которая является функцией передачи данных в Excel, кнопка снова отображается.
Может кто-нибудь сказать мне, что вызывает проблему внутри функции?Спасибо!
DumpToExcel
private void DumpToExcel(DataSet dsReorder, DataSet dsShipment)
{
try
{
using (ExcelPackage pck = new ExcelPackage())
{
List<string> dateColumns = new List<string>()
{
"LoadingDt",
"ETAPortDt",
"ROGDate",
"DateRecd",
"ExpectedShipDt",
"LoadingDt",
"RequestDate",
"ShipDate",
"PromiseDate"
};
ExcelWorksheet ws1 = pck.Workbook.Worksheets.Add(dsReorder.Tables[0].TableName);
ws1.Cells["A1"].LoadFromDataTable(dsReorder.Tables[0], true);
using (ExcelRange rng = ws1.Cells["A1:AG1"])
{
rng.Style.Font.Bold = true;
}
ExcelWorksheet ws2 = pck.Workbook.Worksheets.Add(dsShipment.Tables[0].TableName);
ws2.Cells["A1"].LoadFromDataTable(dsShipment.Tables[0], true);
FormatWorksheetData(dateColumns, dsShipment.Tables[0], ws2);
using (ExcelRange rng = ws2.Cells["A1:AG1"])
{
rng.Style.Font.Bold = true;
}
ExcelWorksheet ws3 = pck.Workbook.Worksheets.Add(dsShipment.Tables[1].TableName);
ws3.Cells["A1"].LoadFromDataTable(dsShipment.Tables[1], true);
FormatWorksheetData(dateColumns, dsShipment.Tables[1], ws3);
using (ExcelRange rng = ws3.Cells["A1:AG1"])
{
rng.Style.Font.Bold = true;
}
ExcelWorksheet ws4 = pck.Workbook.Worksheets.Add(dsShipment.Tables[2].TableName);
ws4.Cells["A1"].LoadFromDataTable(dsShipment.Tables[2], true);
FormatWorksheetData(dateColumns, dsShipment.Tables[2], ws4);
using (ExcelRange rng = ws4.Cells["A1:AG1"])
{
rng.Style.Font.Bold = true;
}
string fileName = "RP_DataPull.xlsx";
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
Response.BinaryWrite(pck.GetAsByteArray());
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
btn_OnClick
protected void ibtnPullData_Click(object sender, ImageClickEventArgs e)
{
//Acquire "DataTable"
string cnAPStr = System.Configuration.ConfigurationManager.ConnectionStrings["conAP_SQLWeb"].ConnectionString; ;
string queryReorder = "exec uspDataPull_ReorderPointInfo";
string queryShipment = "exec uspDataPull_ShipmentsInfo";
SqlConnection cn = new SqlConnection(cnAPStr);
//ReorderPointInfo
SqlDataAdapter daReorder = new SqlDataAdapter(queryReorder, cn);
DataSet dsReorder = new DataSet();
daReorder.Fill(dsReorder);
dsReorder.Tables[0].TableName = "Reorder Point";
//ShipmentsInfo
SqlDataAdapter daShipment = new SqlDataAdapter(queryShipment, cn);
DataSet dsShipment = new DataSet();
daShipment.Fill(dsShipment);
dsShipment.Tables[0].TableName = "Items in Shipment";
dsShipment.Tables[1].TableName = "Open POs";
dsShipment.Tables[2].TableName = "Open Sos";
this.ibtnPullData.Style.Add("display", "inherit");
DumpToExcel(dsReorder, dsShipment);
}