试图用EPPlus在服务器上读取Excel文件,但不能通过浏览器读取

本文关键字:读取 文件 但不能 浏览器 Excel EPPlus 服务器 | 更新日期: 2023-09-27 17:54:26

当我发布我的项目并在服务器上运行它时,它工作了。EPPlus找到了所有4个工作表,遍历它们,并将我的数据上传到SQL。

但是当我通过我的浏览器或我同事的浏览器运行它时,它显示0个工作表。

知道为什么会这样吗?在这一点上没有太多的代码,但这部分是:

using (ExcelPackage package = new ExcelPackage(new FileInfo(strFile)))
{
    if (package.Workbook.Worksheets.Count <= 0)
        strError = "Your Excel file does not contain any work sheets";
    else
    {
        foreach (ExcelWorksheet worksheet in package.Workbook.Worksheets)
        {

试图用EPPlus在服务器上读取Excel文件,但不能通过浏览器读取

EPPlus可以加载文件到内存中。你只是不能那样做。我认为如果您这样做,您就不太可能在从文件系统读取它时遇到麻烦。您可以将上传的文件转换为字节数组,而不必首先将其作为文件,但在我的示例中,我打开一个现有的文件。如果你提供了如何上传文件的代码,我可以更新我的例子。

byte[] file = File.ReadAllBytes(@"C:'file.xlsx");
using (MemoryStream ms = new MemoryStream(file))
using (ExcelPackage package = new ExcelPackage(ms))
{
    if (package.Workbook.Worksheets.Count == 0)
        strError = "Your Excel file does not contain any work sheets";
    else
    {
        foreach (ExcelWorksheet worksheet in package.Workbook.Worksheets)
        {