gpt4 book ai didi

vb.net - 如何在 vb.net 的 MVC 4 中创建并返回带有 Controller 的 Excel 文件?

转载 作者:行者123 更新时间:2023-12-03 01:02:29 24 4
gpt4 key购买 nike

我正在使用 ExcelLibrary enter link description here因为我不想安装 Microsoft Office Excel (microsoft.interop.office.excel)

 Public Function ObtenerExcel() As ActionResult
Dim workbook As New Workbook()
Dim worksheet As New Worksheet("Sheet1")
worksheet.Cells(5, 5) = New Cell(999999)
worksheet.Cells(10, 10) = New Cell(12354)
workbook.Worksheets.Add(worksheet)

Dim stream As New System.IO.MemoryStream
workbook.SaveToStream(stream)
stream.Position = 0

Dim buffer(4096) As Byte
stream.Read(buffer, 0, buffer.Length)

Return File(buffer, "application/vnd.ms-excel", "mytestfile.xls")
End Function

此代码返回一个 Excel 文件,但当我尝试打开此文件时,它显示一条错误消息(Excel 在“text.xls”中发现不可读的内容。您想恢复此工作簿的内容吗?如果您信任该工作簿的来源,单击"is"。)但它没有显示任何内容。

我使用 Windows 8.1(64 位)和 Microsoft Office 2013

最佳答案

您应该使用 File(...) 的 Stream 重载。您编写的代码似乎仅返回文件的前 4096 个字节,即您复制到缓冲区中的数量。您应该直接使用流。

Dim stream As New System.IO.MemoryStream
workbook.SaveToStream(stream)
stream.Position = 0

Return File(stream, "application/vnd.ms-excel", "mytestfile.xls")

关于vb.net - 如何在 vb.net 的 MVC 4 中创建并返回带有 Controller 的 Excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25047487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com