1

我正在使用以下代码将 gridview 呈现为 ASPX 页面上的 XLS 文件:

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 把它变成了一个浮点数,这对最终用户来说是垃圾。(~2343218)

我有什么方法可以强制 XLS 中的这一列成为字符串吗?

我不愿意通过任何其他方法生成 XLS ......我的“后备”将是在该列中的每个非空白空白条目之前写一个“#”字符,希望这会强制该列被解释为文本而不是数字。不幸的是,这不是一个理想的解决方案。

4

1 回答 1

1

您可以使用撇号代替该列中每个非空白条目之前的 # 字符。这会将其转换为文本。另一种可能的方法是附加一个带有列格式信息的宏,但我不确定这是否可能。

于 2009-10-29T04:43:17.007 回答