Я использую следующий код для визуализации вида сетки в файл 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 любым другим методом ... мое "отступление" было бы писать символ "#" перед каждой непустой пустой записью в этом столбце, надеясь, что это заставит столбец интерпретировать как текст, а не число. Это, к сожалению, не идеальное решение.