任何人都可以建议,如何检查xls文件是否为空?
我试过FileInfo("fname").Length == 0
但它没有用。
由于
答案 0 :(得分:4)
“空”Excel文件仍然会有一个Excel文件头,这就是为什么你的大小为0的测试失败。
您可以使用Excel Interop查看UsedRange的内容:
答案 1 :(得分:1)
.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());
}
}
答案 2 :(得分:0)
我认为没有类似于你所说的简单解决方案。
您必须通过某些Excel解析器以编程方式读取该文件并检查是否存在某些数据。
答案 3 :(得分:0)
使用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(工作簿为空)。