Проблема с ведущим нулем при экспорте сетки данных в Excel

Я привязываю 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 { }
}

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

Peter Abolins 30.05.2018 12:28

Этот код никогда не компилируется (например, где находится try из catch). Где настоящий код? Пожалуйста, попробуйте в следующий раз лучше отформатировать свой код. Вы можете использовать редактор и кнопку кода.

Tim Schmelter 30.05.2018 12:30

Не могли бы вы рассказать мне, как установить Textmode = "Text" для конкретной ячейки datagrid в asp.net

Nilesh Godse 31.05.2018 07:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
39
0

Другие вопросы по теме