将DataTable对象导出到Excel工作表长字符串格式问题

时间:2019-03-20 16:06:58

标签: excel asp.net-mvc vb.net datatable

当我将/export?mimeType=text/csv导出到Excel时遇到了一些麻烦,我的单元格包含最多20个字符作为字符串。当我得到Excel文件时,它显示为科学格式,但是我想在单元格中显示所有字符串值。

enter image description here

这是我用来填充DataRows和DataColumns的代码:

DataTable

然后使用用于将DataTable导出到excel的代码

Dim sheet As New System.Data.DataTable("teste")
        sheet.Columns.Add("DDebut")
        sheet.Columns.Add("Nbrecheance")
        Dim col As DataColumn = New DataColumn(" Reference ", GetType(String))
        col.MaxLength = 25
        sheet.Columns.Add(col)

sheet.Rows.Add(line.CCP_acct, line.ccp_cle, line.nom, line.prenom, line.mt_prelev, Param.ccp_abc, Param.key_abc, date_prelev, line.nbr_ech, Format(id_ref))

我的问题是关于最后一栏Dim sheet As New DataTable Dim export_data As New DataBaseManager sheet = export_data.Exportallertoexcel(id) Dim file_name As String = New String("reportprelevemntN°" + id.ToString() + ".xls") Dim grid As New GridView grid.DataSource = sheet grid.DataBind() Response.ClearContent() Response.Buffer = True Response.AddHeader("content-disposition", "attachment; filename=" + file_name) Response.ContentType = "application/ms-excel" Response.Charset = "" Dim sw As New StringWriter Dim htw As New HtmlTextWriter(sw) grid.RenderControl(htw) Response.Output.Write(sw.ToString()) Response.Flush() Response.End() ,我尝试使用Reference并在Format方法中添加样式,例如“#”和“ 0”,但没有任何结果。

我认为问题与字符串的长度有关,因为我可以正确显示其他值(小于10个字符),以任何方式设置单元格宽度或使用其他类导出到Excel。

0 个答案:

没有答案