将数据表导出到Excel文件(.XLSX)

时间:2015-07-08 21:23:58

标签: c# asp.net vb.net excel excel-vba vba

我使用此代码将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

任何想法为什么?!

2 个答案:

答案 0 :(得分:1)

您正在创建TSV - 制表符分隔值。 相反.xlsx尝试使用.tsv

答案 1 :(得分:-1)

如果你想以excel的形式导出,也许你可以使用第三方lib NPOI制作一个excel对象。