1

我有这个代码来生成一个 Excel 文件并下载它:

SpreadsheetInfo.SetLicense("mycode"); 
ExcelFile myExcelFile = new ExcelFile();
ExcelWorksheet ws = myExcelFile.Worksheets.Add("Page 1");
myExcelFile.Save(Response, "asd.xlsx"); //this is for download

当我下载 Excel 文件时,它说:

文件类型或文件扩展名无效,因此 Excel 无法打开此文件。确认文件没有损坏或文件扩展名与文件类型匹配。

我试图解决这个问题几个小时,但我找不到解决方案。我在其他地方使用相同的代码并且它可以工作,但它在我的项目的这一部分不起作用。你能告诉我我应该怎么做吗?谢谢。

4

3 回答 3

2

尝试将火保存为 xls 文件而不是 xlsx 文件。我猜默认是xls。如果文件扩展名错误,Excel 可能会感到困惑。

于 2016-07-26T09:09:27.270 回答
0

我有同样的问题,它是由工作表标题引起的。工作表标题不应太长。我认为限制是 32 个字符。

于 2016-07-26T13:00:54.043 回答
0

嗨。试试这个。我尝试了 GEMBOX 电子表格网站上的一些示例。

Imports GemBox.Spreadsheet
Imports GemBox.Spreadsheet.WinFormsUtilities
Imports System.Data.OleDb

公开课形式1

Public Sub New()
    SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY")

    InitializeComponent()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim openFileDialog = New OpenFileDialog()
    openFileDialog.Filter = "XLS files (*.xls, *.xlt)|*.xls;*.xlt|XLSX files (*.xlsx, *.xlsm, *.xltx, *.xltm)|*.xlsx;*.xlsm;*.xltx;*.xltm|ODS files (*.ods, *.ots)|*.ods;*.ots|CSV files (*.csv, *.tsv)|*.csv;*.tsv|HTML files (*.html, *.htm)|*.html;*.htm"
    openFileDialog.FilterIndex = 2

    If (openFileDialog.ShowDialog() = DialogResult.OK) Then
        Dim ef = ExcelFile.Load(openFileDialog.FileName)

        ' Export Excel worksheet to DataGridView control.
        DataGridViewConverter.ExportToDataGridView(ef.Worksheets.ActiveWorksheet, Me.DataGridView1, New ExportToDataGridViewOptions() With {.ColumnHeaders = True})
    End If



End Sub

那个打开文件对话框,你可以最小化只读取EXCEL文件

于 2017-05-12T03:21:35.417 回答