Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -40,6 +40,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
set { ViewState["DtNomOcultarMostrar"] = value; }
|
||||
}
|
||||
|
||||
private DataTable DtNomPersonalizarxls
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ViewState["DtNomPersonalizarxls"] == null) { return null; }
|
||||
else { return (DataTable)ViewState["DtNomPersonalizarxls"]; }
|
||||
}
|
||||
set { ViewState["DtNomPersonalizarxls"] = value; }
|
||||
}
|
||||
private DateTime FechaInicioPeriodo
|
||||
{
|
||||
get
|
||||
@@ -349,6 +359,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
DtNomOcultarMostrar.Columns.Add("TipoDB");
|
||||
DtNomOcultarMostrar.Columns.Add("ColumnaDB");
|
||||
|
||||
DtNomPersonalizarxls = new DataTable();
|
||||
DtNomPersonalizarxls.Columns.Add("Columna");
|
||||
DtNomPersonalizarxls.Columns.Add("Tipo");
|
||||
DtNomPersonalizarxls.Columns.Add("TipoDB");
|
||||
DtNomPersonalizarxls.Columns.Add("ColumnaDB");
|
||||
}
|
||||
|
||||
TxtEjercicioFiltroVacaciones.Text = "2023";
|
||||
@@ -677,6 +692,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
LnkAsistenciaIncidencias.Visible = true;
|
||||
|
||||
LnkFormatoTabular.Visible = true;
|
||||
LnkPersonalizarNomina.Visible = true;
|
||||
LnkFormatoFiscal.Visible = (UsuarioActual.CveEmpresa == 141 || UsuarioActual.CveRol == 1);
|
||||
HypPDFSTimbrados.Visible = true;
|
||||
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador,
|
||||
@@ -4812,6 +4828,418 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
protected void LnkPersonalizarNomina_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
DtNomPersonalizarxls.Rows.Clear();
|
||||
DataTable dtColumnas = GetTablaColumnasConceptos();
|
||||
DdlMOPXColumna.DataSource = dtColumnas;
|
||||
DdlMOPXColumna.DataBind();
|
||||
|
||||
|
||||
{
|
||||
addcoltopersonalizar("Codigo", "0", "Codigo", "");
|
||||
addcoltopersonalizar("Nombre", "0", "Empleado", "");
|
||||
addcoltopersonalizar("Sueldo Mensual", "0", "", "");
|
||||
addcoltopersonalizar("Sueldo diario", "0", "", "");
|
||||
addcoltopersonalizar("Dias Pen Pago", "0", "", "");
|
||||
|
||||
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 AND SoloVisible =0").Rows)
|
||||
{
|
||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
|
||||
{
|
||||
addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString());
|
||||
}
|
||||
|
||||
}
|
||||
//addcoltopersonalizar("Percepciones", "1", "Percepciones", "");
|
||||
addcoltopersonalizar("Incapacidad Permisos Faltas", "0", "", "");
|
||||
|
||||
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0").Rows)//
|
||||
{
|
||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
|
||||
{
|
||||
addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString());
|
||||
}
|
||||
|
||||
}
|
||||
//addcoltopersonalizar("Deducciones", "1", "Deducciones", "");
|
||||
addcoltopersonalizar("Neto a Pagar", "1", "Total", "");
|
||||
|
||||
|
||||
|
||||
//foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 AND SoloVisible =0").Rows)//SoloVisible =0
|
||||
//{
|
||||
// if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
|
||||
// {
|
||||
// addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString());
|
||||
// }
|
||||
|
||||
//}
|
||||
//addcoltopersonalizar("Obligaciones", "1", "Obligaciones", "");
|
||||
}
|
||||
|
||||
|
||||
GvPersonalizarExcel.DataSource = DtNomPersonalizarxls;
|
||||
GvPersonalizarExcel.DataBind();
|
||||
UpPersonalizarxls.Update();
|
||||
|
||||
|
||||
|
||||
RegistraScript(string.Format("$('#divPersonalizarNomina').modal();"));
|
||||
//
|
||||
}
|
||||
public void addcoltopersonalizar(string Columna, string Tipo, string ColumnaDB, string TipoDB)
|
||||
{
|
||||
DataRow drorden = DtNomPersonalizarxls.NewRow();
|
||||
drorden["Columna"] = Columna;
|
||||
drorden["Tipo"] = Tipo;
|
||||
drorden["ColumnaDB"] = ColumnaDB;
|
||||
drorden["TipoDB"] = TipoDB;
|
||||
DtNomPersonalizarxls.Rows.Add(drorden);
|
||||
|
||||
}
|
||||
protected void LnkMoPXAgregar_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
{
|
||||
DataRow drorden = DtNomPersonalizarxls.NewRow();
|
||||
drorden["Columna"] = DdlMOPXColumna.SelectedItem.Text;
|
||||
drorden["Tipo"] = "0";
|
||||
drorden["ColumnaDB"] = DdlMOPXColumna.SelectedItem.Value;
|
||||
//drorden["TipoDB"] = DdlMOTipo.SelectedItem.Value;
|
||||
DtNomPersonalizarxls.Rows.Add(drorden);
|
||||
}
|
||||
|
||||
GvPersonalizarExcel.DataSource = DtNomPersonalizarxls;
|
||||
GvPersonalizarExcel.DataBind();
|
||||
UpPersonalizarxls.Update();
|
||||
}
|
||||
|
||||
|
||||
protected void LnkEliminarPersonalizar_Click(object sender, EventArgs e)
|
||||
{
|
||||
GridViewRow gvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
|
||||
string Columna = gvRow.DataKey("Columna");
|
||||
string ColumnaDB = gvRow.DataKey("ColumnaDB");
|
||||
string TipoDB = gvRow.DataKey("TipoDB");
|
||||
DataRow dr = null;
|
||||
foreach (DataRow item in DtNomPersonalizarxls.Rows)
|
||||
{
|
||||
if (item["ColumnaDB"].ToString() == ColumnaDB && item["Columna"].ToString() == Columna)
|
||||
{
|
||||
dr = item;
|
||||
}
|
||||
}
|
||||
if (dr != null)
|
||||
{
|
||||
dr.Delete();
|
||||
DtNomPersonalizarxls.AcceptChanges();
|
||||
}
|
||||
GvPersonalizarExcel.DataSource = DtNomPersonalizarxls;
|
||||
GvPersonalizarExcel.DataBind();
|
||||
UpPersonalizarxls.Update();
|
||||
|
||||
}
|
||||
protected void LnkFormatoPersonalizado_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
var libro = wb.AddWorksheet("Nomina");
|
||||
int column = 1;
|
||||
int filainicio = 3;
|
||||
libro.Cell(filainicio + 1, column).Value = " ";
|
||||
libro.Cell(filainicio + 2, column).Value = "Codigo";
|
||||
libro.Cell(filainicio + 3, column).Value = " ";
|
||||
column++;
|
||||
libro.Cell(filainicio + 1, column).Value = " ";
|
||||
libro.Cell(filainicio + 2, column).Value = "Empleado";
|
||||
libro.Cell(filainicio + 3, column).Value = " ";
|
||||
libro.Column(column).Width = 35;
|
||||
libro.Cell(1, 1).Value = "Empresa";
|
||||
libro.Range(1, 2, 1, 4).Merge().Value = UsuarioActual.Empresa.Empresa;
|
||||
libro.Cell(2, 1).Value = "período";
|
||||
string periodo = DdlPeriodo.SelectedItem.Text;
|
||||
periodo = periodo.Substring(0, (periodo.Length > 27 ? 27 : periodo.Length));
|
||||
libro.Range(2, 2, 2, 4).Merge().Value = periodo;
|
||||
|
||||
int iniciotipe = column;
|
||||
|
||||
column++;
|
||||
libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Mensual";
|
||||
libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Sueldo";
|
||||
libro.Column(column).Width = 15;
|
||||
|
||||
column++;
|
||||
libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Sueldo";
|
||||
libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "diario";
|
||||
libro.Column(column).Width = 15;
|
||||
|
||||
column++;
|
||||
libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "dias Pen";
|
||||
libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Pago";
|
||||
libro.Column(column).Width = 15;
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 AND SoloVisible =0").Rows)
|
||||
{
|
||||
|
||||
column++;
|
||||
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
|
||||
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
|
||||
libro.Column(column).Width = 15;
|
||||
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
|
||||
{
|
||||
libro.Column(column).Hide();
|
||||
}
|
||||
|
||||
}
|
||||
//column++;
|
||||
//libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Percepciones";
|
||||
//libro.Column(column).Width = 15;
|
||||
//if (iniciotipe < column)
|
||||
//{
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Percepciones";
|
||||
//}
|
||||
iniciotipe = column;
|
||||
|
||||
|
||||
column++;
|
||||
libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Incapacidad";
|
||||
libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Perm. Faltas";
|
||||
libro.Column(column).Width = 15;
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0").Rows)
|
||||
{
|
||||
column++;
|
||||
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
|
||||
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
|
||||
libro.Column(column).Width = 15;
|
||||
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
|
||||
{
|
||||
libro.Column(column).Hide();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//column++;
|
||||
//libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Deducciones";
|
||||
//libro.Column(column).Width = 15;
|
||||
|
||||
//if (iniciotipe < column)
|
||||
//{
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Deducciones";
|
||||
//}
|
||||
|
||||
//column++;
|
||||
//libro.Cell(filainicio + 1, column).Value = " ";
|
||||
//libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Despensa";
|
||||
//libro.Column(column).Width = 15;
|
||||
column++;
|
||||
libro.Cell(filainicio + 1, column).Value = " ";
|
||||
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Total";
|
||||
libro.Column(column).Width = 15;
|
||||
iniciotipe = column;
|
||||
|
||||
|
||||
|
||||
//if (iniciotipe < column)
|
||||
//{
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
// libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Obligaciones";
|
||||
//}
|
||||
|
||||
//libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
//libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
//libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
//libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
//libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
//libro.Row(3).Cell(1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
//libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
int maxnocolumn = column;
|
||||
|
||||
int Fila = filainicio + 3;
|
||||
int cveSupProyecto = -5;
|
||||
string subproyecto = "";
|
||||
string oldsubproyecto = "";
|
||||
int oldcveSupProyecto = -5;
|
||||
bool newsubproyecto = false;
|
||||
bool newsubproyectoTitulo = false;
|
||||
List<int> filasborrar= new List<int>();
|
||||
DataTable dtsr = dtempleados.FiltraParametros("", "CveSubProyecto");
|
||||
dtsr.Rows.Add(dtsr.NewRow());
|
||||
foreach (DataRow erow in dtsr.Rows)
|
||||
{
|
||||
Fila++;
|
||||
newsubproyecto = false; newsubproyectoTitulo = false;
|
||||
if (cveSupProyecto != erow["CveSubProyecto"].ToString().ToEntero())
|
||||
{
|
||||
|
||||
if (oldcveSupProyecto != -5) { Fila += 2; newsubproyecto = true; }
|
||||
oldcveSupProyecto = cveSupProyecto;
|
||||
cveSupProyecto = erow["CveSubProyecto"].ToString().ToEntero();
|
||||
subproyecto = erow["SubProyecto"].ToString();
|
||||
if (cveSupProyecto != -5 && oldcveSupProyecto != -5) { Fila++; newsubproyectoTitulo = true; }
|
||||
}
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
|
||||
column++;
|
||||
if (newsubproyectoTitulo)
|
||||
{
|
||||
filasborrar.Add(Fila - 1);
|
||||
libro.Cell(Fila - 1, column).Value = subproyecto;
|
||||
libro.Range(Fila - 1, 1, Fila - 1, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
|
||||
}
|
||||
if (newsubproyecto)
|
||||
{
|
||||
libro.Cell(Fila - 3, column).Value = string.Format("Total {0}", oldsubproyecto);
|
||||
libro.Range(Fila - 3, 1, Fila - 3, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
|
||||
}
|
||||
oldsubproyecto = subproyecto;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = "";
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SalarioDiario"];
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = "";
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'P' AND EsPadre = 1 AND SoloVisible =0").Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
|
||||
|
||||
if (newsubproyecto)
|
||||
{
|
||||
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//column++;
|
||||
//libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
|
||||
//libro.Cell(Fila, column).Value = erow["SumaPercepciones"];
|
||||
//if (newsubproyecto)
|
||||
//{
|
||||
// libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaPercepciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
//}
|
||||
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = "";
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0").Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
|
||||
if (newsubproyecto)
|
||||
{
|
||||
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
}
|
||||
}
|
||||
|
||||
//column++;
|
||||
//libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
|
||||
//libro.Cell(Fila, column).Value = erow["SumaDeducciones"];
|
||||
//if (newsubproyecto)
|
||||
//{
|
||||
// libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaDeducciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
//}
|
||||
//column++;
|
||||
//libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
|
||||
//libro.Cell(Fila, column).Value = erow["SumaEspecie"];
|
||||
//if (newsubproyecto)
|
||||
//{
|
||||
// libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaEspecie", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
//}
|
||||
column++;
|
||||
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
|
||||
libro.Cell(Fila, column).Value = erow["Total"];
|
||||
if (newsubproyecto)
|
||||
{
|
||||
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("Total", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
}
|
||||
|
||||
//foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 ").Rows)
|
||||
//{
|
||||
// column++;
|
||||
// string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
// libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
|
||||
// if (newsubproyecto)
|
||||
// {
|
||||
// libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
// }
|
||||
//}
|
||||
|
||||
//column++;
|
||||
//libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
|
||||
//libro.Cell(Fila, column).Value = erow["SumaObligaciones"];
|
||||
//if (newsubproyecto)
|
||||
//{
|
||||
// libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaObligaciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
{
|
||||
var columnsToDelete = new List<int>();
|
||||
foreach (var columnx in libro.Columns())
|
||||
{
|
||||
if (columnx.IsHidden)
|
||||
{
|
||||
columnsToDelete.Add(columnx.ColumnNumber());
|
||||
}
|
||||
}
|
||||
|
||||
// Eliminar columnas de mayor a menor para evitar conflictos de índice
|
||||
columnsToDelete.Sort();
|
||||
columnsToDelete.Reverse();
|
||||
foreach (var columnNumber in columnsToDelete)
|
||||
{
|
||||
libro.Column(columnNumber).Delete();
|
||||
}
|
||||
}
|
||||
filasborrar.Reverse();
|
||||
foreach (int rownumber in filasborrar)
|
||||
{
|
||||
libro.Rows(rownumber, rownumber).Delete();
|
||||
}
|
||||
System.IO.Stream fs = new System.IO.MemoryStream();
|
||||
wb.SaveAs(fs);
|
||||
fs.Position = 0;
|
||||
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
|
||||
using (System.IO.Stream input = fs)
|
||||
|
||||
{
|
||||
input.CopyTo(memoryStream);
|
||||
}
|
||||
memoryStream.Position = 0;
|
||||
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
||||
Response.AddHeader("content-disposition", string.Format("attachment;filename={0} {1}.xlsx", "Nomina tabular", periodo));
|
||||
Response.BinaryWrite(memoryStream.ToArray());
|
||||
Response.End();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString());
|
||||
}
|
||||
}
|
||||
protected void LnkFormatoTabular_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user