簡體   English   中英

ASP.NET-驗證Excel文件內容

[英]ASP.NET - Validate Excel File Content

我有一個帶有文件輸入的頁面,用戶應該在該頁面上載一個excel文件,以將大量記錄插入到特定表中。 我發現此Javascript代碼可幫助驗證插入的文件是否具有所請求的Excel擴展名之一:

var hash = {
    'xls': 1,
    'xlsx': 1,
};

function checkExtension() {
    var filename = $("#uploadFile").val();
    var re = /\..+$/;
    var ext = filename.slice(filename.lastIndexOf(".") + 1).toLowerCase();
    if (hash[ext]) {
        return true;
    } else {
        alert("Invalid file type. Please insert a valid Excel file.");
        event.preventDefault();
        return false;
    }
}

但是,與驗證該文件擴展名的代碼一樣有效,它不會驗證文件的內容,不允許某人上傳具有不同內容類型的文件,但其擴展名重命名為“ .xls”或“ .xlsx”。 如何解決這種情況?

您可以通過3個步驟正確驗證Excel文件

  1. 在Asp.net中,FileUploader控件具有一個稱為'accept'的屬性<asp:FileUploader accept='.xls,.xlsx'/> 默認情況下,它將允許用戶僅選擇xls和xlsx擴展文件。 但是,用戶仍然可以選擇“所有文件”選項以上傳另一個文件。

  2. 驗證文件名的擴展名是否包含來自Javascript的.xls以及“代碼隱藏”。

  3. 使用Aspose.Cells dll並嘗試獲取xls文件,如果該文件不是xls或xlsx,它將返回異常'InvalidFileFormatException'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM