我使用此代码将Datatable导出到excel文件(.xlsx)
Dim attachment As String = "attachment; filename=Excel.xlsx"
Response.ClearContent()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/vnd.ms-excel"
Dim tab As String = ""
For Each dc As DataColumn In dt.Columns
Response.Write(tab + dc.ColumnName)
tab = vbTab
Next
Response.Write(vbLf)
Dim i As Integer
For Each dr As DataRow In dt.Rows
tab = ""
For i = 0 To dt.Columns.Count - 1
Response.Write(tab & dr(i).ToString())
tab = vbTab
Next
Response.Write(vbLf)
Next
Response.End()
当我下载文件时,我收到此消息:
" Excel无法打开文件' Excel.xlsx'因为文件格式或文件扩展名无效"
我使用Excel 2010
任何想法为什么?!
答案 0 :(得分:1)
您正在创建TSV - 制表符分隔值。 相反.xlsx尝试使用.tsv
答案 1 :(得分:-1)
如果你想以excel的形式导出,也许你可以使用第三方lib NPOI制作一个excel对象。