c# asp.net excel excel-2010 epplus

Formatee la columna de Excel a decimal haciendo exportación desde c#



asp.net excel-2010 (1)

Aquí tienes, un método completo. Simplemente envíe una DataTable y un nombre de archivo y esto hará el resto. Este fragmento también hará que la fila del encabezado sea gris con texto en negrita y se ajustará automáticamente a las columnas.

using OfficeOpenXml; using OfficeOpenXml.Style; public void ExportToExcel(DataTable dt, string FileName) { //create a new byte array byte[] bin; //create a new excel document using (ExcelPackage excelPackage = new ExcelPackage()) { //create a new worksheet ExcelWorksheet ws = excelPackage.Workbook.Worksheets.Add(FileName); //add the contents of the datatable to the excel file ws.Cells["A1"].LoadFromDataTable(dt, true); //auto fix the columns ws.Cells[ws.Dimension.Address].AutoFitColumns(); //loop all the columns for (int col = 1; col <= ws.Dimension.End.Column; col++) { //make all columns just a bit wider, it would sometimes not fit ws.Column(col).Width = ws.Column(col).Width + 1; var cell = ws.Cells[1, col]; //make the text bold cell.Style.Font.Bold = true; //make the background of the cell gray var fill = cell.Style.Fill; fill.PatternType = ExcelFillStyle.Solid; fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#BFBFBF")); //make the header text upper case cell.Value = ((string)cell.Value).ToUpper(); } //convert the excel package to a byte array bin = excelPackage.GetAsByteArray(); } //clear the buffer stream Response.ClearHeaders(); Response.Clear(); Response.Buffer = true; //set the correct contenttype Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; //set the correct length of the data being send Response.AddHeader("content-length", bin.Length.ToString()); //set the filename for the excel package Response.AddHeader("content-disposition", "attachment; filename=/"" + FileName + ".xlsx/""); //send the byte array to the browser Response.OutputStream.Write(bin, 0, bin.Length); //cleanup Response.Flush(); HttpContext.Current.ApplicationInstance.CompleteRequest(); }

Hola, estoy exportando la base de datos para sobresalir con el siguiente método como

Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=" + FileName); Response.ContentType = "application/vnd.ms-excel"; EnableViewState = false; Response.Write("<style> TABLE { border:dotted 1px #999; } TH { border:dotted 1px #D5D5D5; text-align:center } TD { border:dotted 1px #D5D5D5; } </style>"); Response.Write("<table>"); Response.Write("<tr>"); Response.Write("<th>Actual Estimated Price</th>"); Response.Write("<th>Aprroved Estimated Price </th>"); Response.Write("<th>Actual Price</th>"); Response.Write("<th>Aprroved Actual Price </th>"); Response.Write("<th>TransactionID </th>"); Response.Write("<th>Created On</th>"); Response.Write("</tr>"); foreach (DataRow dr in dt.Rows) { Response.Write("<tr>"); Response.Write("<td>"); Response.Write(String.Format("{0:0.0#}", dr["EstimatedPriceTotal"].ToString())); Response.Write("</td>"); Response.Write("<td>"); Response.Write(String.Format("{0:0.0#}", dr["ApprovedEstimatedPriceTotal"].ToString())); Response.Write("</td>"); Response.Write("<td>"); Response.Write(String.Format("{0:0.0#}", dr["ActualPriceTotal"].ToString())); Response.Write("</td>"); Response.Write("<td>"); Response.Write(String.Format("{0:0.0#}", dr["ApprovedActualPriceTotal"].ToString())); Response.Write("</td>"); Response.Write("<td>"); Response.Write(dr["TransactionID"].ToString()); Response.Write("</td>"); Response.Write("<td>"); Response.Write(Convert.ToDateTime(dr["CreatedOn"].ToString())); Response.Write("</td>"); Response.Write("</tr>"); } Response.Write("</table>"); Response.End();

pero no puedo exportar el precio estimado real, el precio estimado aprobado en Excel como formato decimal

El valor viene como 5 en lugar de mostrar 5.00

¿Cómo puedo formatear alguna columna de Excel a formato decimal desde el lado c #

Actualizar

¿Cómo puedo combinar la combinación de encabezado de columna en EPPPlus?

Quiero tanto el nombre del encabezado como

CustomerName Mitesh Jain