【发布时间】:2012-03-23 18:18:09
【问题描述】:
我正在拉两个字段并用“-”将它们放在一起。当我导出到 excel 时,它似乎认为该字符串是一个日期,并将其从 11 月 11 日转换为 11 月 11 日。我似乎无法弄清楚如何解决这个问题。
我正在将一个网格视图导出到 excel 中。此 asp.net 在 VS 2008 中使用 .net 3.5 和 vb.net。
Response.Clear()
Response.Buffer = True
'grab filename from filename box
'if does not exist then do default naming
Dim filename As String
If filenameTextBox2.Text <> "" Then
filename = "attachment;filename=" + filenameTextBox2.Text + ".xls"
Else
filename = "attachment;filename=GridViewExport.xls"
End If
Response.AddHeader("content-disposition", filename)
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Dim sw As New IO.StringWriter()
Dim hw As New HtmlTextWriter(sw)
GridView1.AllowPaging = False
GridView1.DataBind()
'Change the Header Row back to white color
GridView1.HeaderRow.Style.Add("background-color", "#FFFFFF")
'Apply style to Individual Cells
'GridView1.HeaderRow.Cells(0).Style.Add("background-color", "green")
'GridView1.HeaderRow.Cells(1).Style.Add("background-color", "green")
'GridView1.HeaderRow.Cells(2).Style.Add("background-color", "green")
'GridView1.HeaderRow.Cells(3).Style.Add("background-color", "green")
For i As Integer = 0 To GridView1.Rows.Count - 1
Dim row As GridViewRow = GridView1.Rows(i)
'Change Color back to white
row.BackColor = System.Drawing.Color.White
'Apply text style to each Row
row.Attributes.Add("class", "textmode")
'Apply style to Individual Cells of Alternating Row
If i Mod 2 <> 0 Then
'row.Cells(0).Style.Add("background-color", "#C2D69B")
'row.Cells(1).Style.Add("background-color", "#C2D69B")
'row.Cells(2).Style.Add("background-color", "#C2D69B")
'row.Cells(3).Style.Add("background-color", "#C2D69B")
End If
Next
GridView1.RenderControl(hw)
'style to format numbers to string
Dim style As String = "<style>.textmode{mso-number-format:\@;}</style>"
Response.Write(style)
Response.Output.Write(sw.ToString())
Response.Flush()
Response.End()
【问题讨论】:
-
你能把字段值用双引号括起来吗?