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