我有出口的GridView数据到Excel,这里是我的代码:字符串格式时导出到Excel从GridView的
Protected Sub btnExport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExport.Click
Try
Dim dt As New DataTable
If CReversal.SearchReversal2(txtAccount.Text, txtCustName.Text, txtAmount.Text, dropResponse.SelectedValue.ToString, txtRefNo.Text, txtDate.Text) Then
dt = CReversal.DT
Else
eMessage("System failure: ", CReversal.eMsg)
End If
Dim DataGrd As New DataGrid()
DataGrd.DataSource = dt.DefaultView
DataGrd.DataBind()
Dim attachment As String
attachment = "attachment; filename=Inquiry_Report" & Format(Now, "ddMMMyyyy") & ".xls"
Response.Buffer = True
Response.ClearContent()
Response.ClearHeaders()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/ms-excel"
Dim sw As New StringWriter()
Dim htw As New HtmlTextWriter(sw)
DataGrd.RenderControl(htw)
Response.Write(sw.ToString())
Response.End()
Catch ex As Exception
eMessage("Export Data failure: ", ex.ToString())
End Try
End Sub
导出过程中运行,因为我想要的。但是当我打开Excel文件,我得到了一些串数字字符变成了这个样子:
但实际上datagridvie显示是这样的:
是有可能的时候格式化字符串数字字符我们想要以编程方式导出到excel? thk you
我发现,在Excel中,如果你需要一个号码,以显示和输入一样,在数字显示正确之前加一个撇号'''。 – Netricity
有没有办法做到这一点编程? – Sabilv
你如何写入Excel? 你的问题是由excel引起的,它将某些数字转换成这样的carbage。 Y我们的编号应该写成一个文本单元格,所以无论如何,Excel都会显示原始文本。 如果您使用EPPLUS这样的免费excel库之一,这很容易,但如果您使用我们的csv,则几乎不可能。 –