C# 检查C中的Excel文件是否为空#
有谁能建议,如何检查xls文件是否为空? 我尝试了C# 检查C中的Excel文件是否为空#,c#,C#,有谁能建议,如何检查xls文件是否为空? 我尝试了FileInfo(“fname”)。长度==0,但它不起作用 谢谢一个“空”Excel文件仍然会有一个Excel文件头,这就是为什么您对0大小的测试失败的原因 您可以使用查看以下内容: 我认为没有一个简单的解决方案与您所说的类似 您必须通过Excel解析器以编程的方式读取文件,并检查是否有数据。对于.xls您可以试试这个-它适合我 FileUpload1.SaveAs(Server.MapPath("~/FileUpload/") + path.
FileInfo(“fname”)。长度==0
,但它不起作用
谢谢一个“空”Excel文件仍然会有一个Excel文件头,这就是为什么您对0大小的测试失败的原因
您可以使用查看以下内容:
我认为没有一个简单的解决方案与您所说的类似
您必须通过Excel解析器以编程的方式读取文件,并检查是否有数据。对于
.xls
您可以试试这个-它适合我
FileUpload1.SaveAs(Server.MapPath("~/FileUpload/") + path.Value);
Workbook book = Workbook.Load(Server.MapPath(("~/FileUpload/") + FileUpload1.FileName));
Worksheet sheet = book.Worksheets[0];
sheetCount.Value = sheet.Cells.LastRowIndex.ToString();
foreach (Worksheet ws in book.Worksheets)
{
if (ws.Cells.Rows.Count != 0)
{
ddlSheets.Items.Add(ws.Name.ToString());
}
}
我使用Excel Interop创建了此函数。它作为功能区外接程序工作,但是您可以将
Globals.ThisAddIn
替换为Excel.Application
private bool IsEmptyFolder(Excel.Workbook wb)
{
try
{
foreach(Excel.Worksheet sheet in wb.Worksheets)
{
if (Globals.ThisAddIn.Application.WorksheetFunction.CountA(sheet.Cells) != 0) return false;
}
return true;
}
catch
{
return false;
}
}
如果在单元格中找到任何具有值的工作表,则返回false。否则返回true(工作簿为空)。是否试图避免Excel自动化?