Я привязываю DataGrid из базы данных и пытаюсь экспортировать его в Excel, но у меня возникают проблемы с ведущим столбцом «Ноль из первого», который содержит номера политики, предположим, что в политике базы данных нет. это '012345678', но когда я экспортирую его в Excel, он показывает '12345678'
Мой код ниже:
public static void ToExcelWithHeader(DataSet dsInput, string filename,HttpResponse response, string HeaderPart, DataTable dt, string Url = "")
{
DataGrid dg = new DataGrid();
dg.DataSource = dsInput.Tables[0];
dg.DataBind();
response.ClearContent();
response.Buffer = true;
response.AddHeader("content-disposition", "attachment; filename = " + filename);
response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter objSW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter objHTW = new System.Web.UI.HtmlTextWriter(objSW);
dg.HeaderStyle.Font.Bold = true; // SET EXCEL HEADERS AS BOLD.
//STYLE THE SHEET AND WRITE DATA TO IT.
response.Write("<style>");
response.Write("TABLE { border:dotted 1px #999; }");
response.Write("TD { border:dotted 1px #D5D5D5; text-align:center; vertical-align: top; }");
response.Write(".table { background-color: yellow; text-align: left; vertical-align: top; }");
response.Write("</style>");
response.Write(HeaderPart);
response.Write(objSW.ToString());
if (Url != "")
response.AddHeader("Refresh", "3; url = " + Url);
response.End();
dg = null;
}
}
catch { }
}
Этот код никогда не компилируется (например, где находится try из catch). Где настоящий код? Пожалуйста, попробуйте в следующий раз лучше отформатировать свой код. Вы можете использовать редактор и кнопку кода.
Не могли бы вы рассказать мне, как установить Textmode = "Text" для конкретной ячейки datagrid в asp.net





Вам нужно явно указать Excel, что столбец содержит строки, а не числа. Если Excel видит строку цифр, он автоматически удаляет все ведущие нули, если только не сказано, что цифры на самом деле являются частью строки. Отладьте свой код, чтобы узнать, где именно теряется начальный ноль. Это должно помочь вам решить проблему.