ASP.NET - Отображение Gridview в HtmlTextWriter - XLS - Формат столбца - PullRequest
1 голос
/ 28 октября 2009

Я использую следующий код для визуализации вида сетки в файл XLS на странице ASPX:

Private Sub ExportGridviewToExcel()
    Dim attachment As String = "attachment; filename=ItemSizeExport.xls"
    Response.ClearContent()
    Response.AddHeader("content-disposition", attachment)
    Response.ContentType = "application/ms-excel"
    Dim sw As New StringWriter()
    Dim htw As New HtmlTextWriter(sw)
    GV_Item_Data.RenderControl(htw)
    Response.Write(sw.ToString())
    Response.End()
End Sub

Один из столбцов обычно равен нулю, но иногда содержит довольно длинное целое число, например 2342515123332222 ... это номер типа штрих-кода ... так что на нем не нужно ничего делать.

Короче говоря, XLS превращает это в число с плавающей точкой, и это мусор для конечного пользователя. (~ 23432 Е 18)

Есть ли способ заставить этот столбец в XLS быть строкой?

Я не желаю генерировать XLS любым другим методом ... мое "отступление" было бы писать символ "#" перед каждой непустой пустой записью в этом столбце, надеясь, что это заставит столбец интерпретировать как текст, а не число. Это, к сожалению, не идеальное решение.

1 Ответ

1 голос
/ 29 октября 2009

Вместо символа # перед каждой непустой записью в этом столбце вы можете использовать апостроф. Это преобразует его в текст. Другой возможный подход - прикрепить макрос с информацией о формате столбца, но я не уверен, возможно ли это.

...