Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET读取excel错误_Asp.net_Excel - Fatal编程技术网

ASP.NET读取excel错误

ASP.NET读取excel错误,asp.net,excel,Asp.net,Excel,我将尝试从ASP.NETWeb服务器读取excel 出现了第一个错误。由于以下错误,检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80070005 所以我在DCOMCNFG->MicrosoftExcel应用程序中为IUSR、网络服务和用户授予了权限 第二个错误发生了。 异常消息:HRESULT:0x800A03EC。 我知道Excel文件内容错误时会发生此错误。 因此,我尝试了一个空的Excel文件,但发生了相同的错误

我将尝试从ASP.NETWeb服务器读取excel

出现了第一个错误。由于以下错误,检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80070005

所以我在DCOMCNFG->MicrosoftExcel应用程序中为IUSR、网络服务和用户授予了权限

第二个错误发生了。 异常消息:HRESULT:0x800A03EC。 我知道Excel文件内容错误时会发生此错误。 因此,我尝试了一个空的Excel文件,但发生了相同的错误

你能给我一些建议吗

    public HttpResponseMessage ExcelRead()
    {
        ExcelHelper helper = new ExcelHelper();

        String FolderName = HttpContext.Current.Server.MapPath("~/file");
        var FullFileNameList = new List<string>();
        System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(FolderName);
        if (di == null)
        {
            return Request.CreateResponse(HttpStatusCode.BadRequest);
        }
        foreach (System.IO.FileInfo File in di.GetFiles())
        {
            if (File.Extension.ToLower().CompareTo(".xlsx") == 0)
            {
                FullFileNameList.Add(File.FullName);
            }
        }
        if (FullFileNameList.Count <= 0)
        {
            return Request.CreateResponse(HttpStatusCode.BadRequest);
        }

        helper.ReadExcelData(FullFileNameList[0]);

        if (helper.data == null)
            return Request.CreateResponse(HttpStatusCode.BadRequest);


        for (int i = 0; i < FullFileNameList.Count; ++i)
        {
            System.IO.FileInfo fi = new System.IO.FileInfo(FullFileNameList[i]);
            try
            {
                fi.Delete();
            }
            catch (System.IO.IOException e)
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest, e);
            }
        }

        List<Member> memberList = new List<Member>();
        for (int r = 3; r <= helper.data.GetLength(0); r++)
        {
            if (helper.data[r, 1] == null)
            {
                continue;
            }

            Member member = new Member
            {
                Id = helper.data[r, 1].ToString(),
                Name = helper.data[r, 2].ToString(),
            };

            GenderType gender = 0;
            if (helper.data[r, 5] == null)
                gender = GenderType.Male;
            else
            {
                switch (helper.data[r, 5].ToString())
                {
                    case "남":
                    case "남자":
                    case "남성":
                        {
                            gender = GenderType.Male;
                            break;
                        }
                    case "여":
                    case "여자":
                    case "여성":
                        {
                            gender = GenderType.Female;
                            break;
                        }
                    default:
                        {
                            gender = GenderType.Male;
                            break;
                        }
                }
            }

            member.Major = (helper.data[r, 3] == null) ? null : helper.data[r, 3].ToString();
            member.Professor = (helper.data[r, 4] == null) ? null : helper.data[r, 4].ToString();
            member.Gender = gender;
            member.AvatarBody = (short)gender;
            member.AvatarHead = (short)gender;

            memberList.Add(member);
        }


    }
public HttpResponseMessage ExcelRead()
{
ExcelHelper=新的ExcelHelper();
字符串FolderName=HttpContext.Current.Server.MapPath(“~/file”);
var FullFileNameList=新列表();
System.IO.DirectoryInfo di=新的System.IO.DirectoryInfo(FolderName);
如果(di==null)
{
返回请求.CreateResponse(HttpStatusCode.BadRequest);
}
foreach(di.GetFiles()中的System.IO.FileInfo文件)
{
if(File.Extension.ToLower().CompareTo(“.xlsx”)==0)
{
添加(File.FullName);
}
}

如果(FullFileNameList.Count我试图使用Microsoft.Office.Interop.Excel读取Excel文件。 但我现在知道了。服务器不使用互操作。 所以我使用了openxml。 如果您遇到与我相同的问题,请查看下面的链接。

无论您使用哪种方法,文件名的扩展名是否正确?(有几种)您的代码和a在哪里?没有它的帮助将很难。我刚回家,没有代码可显示。我可以在10小时后显示给您。对不起。