Excel无法打开Gembox电子表格文件

6l7fqoea  于 2023-08-08  发布在  其他
关注(0)|答案(4)|浏览(94)

我有以下代码来生成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无法打开此文件。确认文件未损坏或文件扩展名与文件类型匹配。
我试着解决这个问题几个小时,但我找不到解决方案。我在其他地方使用相同的代码,它可以工作,但它在我的项目的这一部分不工作。你能告诉我该怎么做吗?- 谢谢-谢谢

7dl7o3gd

7dl7o3gd1#

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

ekqde3dh

ekqde3dh2#

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

hec6srdp

hec6srdp3#

嘿。试试这个。我已经尝试了一些例子从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文件

pkmbmrz7

pkmbmrz74#

如果您将文件保存到文件夹并且它工作正常,那么请检查您的http响应在返回给用户之前是否已修改。https://learn.microsoft.com/en-us/dotnet/api/system.web.httpresponse.filter?view=netframework-4.8.1如果是,则添加逻辑以根据内容类型或适合您的逻辑的其他属性排除响应修改。

相关问题