Как установить формат столбца листа excel перед экспортом datatable в excel
Привет извините за длинное название вопроса, кстати, я создал веб-форму, которая может экспортировать все элементы в представлении сетки в файл excel, но в конце концов то, что я сделал, это получить элементы в представлении сетки, поместить их в datatable и экспортировать их в файл excel. Моя проблема заключается в том, что один из столбцов call CarrierCode не находится в правильном формате, он должен быть в числовом формате, а не в общем формате. вот мой код ниже
private void testc() { List<indexDO> indexDo = getIteminDatagrid(); DataTable oDataTable = CreateTable(); DataRow oDataRow; foreach (var item in indexDo) { oDataRow = oDataTable.NewRow(); oDataRow["ID"] = item.ID; oDataRow["ActionCode"] = item.ActionCode; oDataRow["BookReferenceNo"] = item.BookReferenceNo; oDataRow["BookingStatus"] = item.BookingStatus; oDataRow["BookingType"] = item.BookingType; oDataRow["CarrierClass"] = item.CarrierClass; oDataRow["CarrierCode"] = item.CarrierCode; oDataRow["ComRelNo"] = item.ComRelNo; oDataRow["ContainerCommodity"] = item.ContainerCommodity; oDataRow["ContainerFrom"] = item.ContainerFrom; oDataRow["ContainerHistory"] = item.ContainerHistory; oDataRow["ContainerNo"] = item.ContainerNo; oDataRow["ContainerNo"] = item.ContainerNo; oDataRow["ContainerTo"] = item.ContainerTo; oDataRow["CreateBookingDate"] = item.CreateBookingDate; oDataRow["DateProcessed"] = item.DateProcessed; oDataRow["DateReceived"] = item.DateReceived; oDataRow["Direction"] = item.Direction; oDataRow["GKey"] = item.GKey; oDataRow["InGateDateTime"] = item.InGateDateTime; oDataRow["LloydNo"] = item.LloydNo; oDataRow["LoadOrder"] = item.LoadOrder; oDataRow["ModifiedBy"] = item.ModifiedBy; oDataRow["ModifiedDate"] = item.ModifiedDate; oDataRow["OutGateDateTime"] = item.OutGateDateTime; oDataRow["PKey"] = item.PKey; oDataRow["PlateNo"] = item.PlateNo; oDataRow["RunDateTime"] = item.RunDateTime; oDataRow["SecondContainer"] = item.SecondContainer; oDataRow["SlotExchangeDate"] = item.SlotExchangeDate; oDataRow["SlotExchangeFlag"] = item.SlotExchangeFlag; oDataRow["SlotType"] = item.SlotType; oDataRow["Status"] = item.Status; oDataRow["TerminalID"] = item.TerminalID; oDataRow["TimeSlotID"] = item.TimeSlotID; oDataRow["TimeZone"] = item.TimeZone; oDataRow["VBSUser"] = item.VBSUser; oDataRow["VoyageNo"] = item.VoyageNo; oDataTable.Rows.Add(oDataRow); } Response.Clear(); Response.Buffer = true; string excelName = DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Year.ToString() + DateTime.Now.Hour.ToString(); Response.AddHeader("content-disposition", string.Format("attachment;filename=GridViewExport{0}.xls", excelName)); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excelformats-officedocument.spreadsheetml.sheet"; using (StringWriter stringWriter = new StringWriter()) { using (HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter)) { DataGrid oDataGrid = new DataGrid(); oDataGrid.DataSource = oDataTable; oDataGrid.DataBind(); oDataGrid.RenderControl(htmlWriter); Response.Write(stringWriter.ToString()); Response.Flush(); Response.End(); } } }
Что я уже пробовал:
i tried to change it to long but i got nothing.