通过数据库中的Excel工作表上传多个数据。

时间:2012-07-13 06:41:48

标签: asp.net database excel

嘿伙计我有一个带字段的数据库  Name,Email,Contact,Address,Profile我已经创建了一个excel表  这些领域&其中的数据(100条目)。     现在我想使用文件上传控件浏览这些excel表&单击按钮控件时,它会自动将Excel工作表数据填充到数据库中。

所以任何有想法的人都会和我分享。我尝试了很多,但没有达到解决方案。所以,请分享您宝贵的指导。

1 个答案:

答案 0 :(得分:0)

看看Excel Data Reader项目。通过这种方式,您可以非常轻松地将Excel文件(较旧的二进制格式或较新的OpenXML格式)转储到DataSet,此时您可以使用数据执行任何操作。以下是我在之前项目中用作概念证明的示例代码:

private static DataSet ImportDataFromExcelFile()
{
    DataSet dataFromExcelFile = null;

    // Try importing the file as OpenXML
    using (var excelFile = File.Open(excelFileName, FileMode.Open, FileAccess.Read))
    {
        using (var excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelFile))
        {
            excelReader.IsFirstRowAsColumnNames = true;
            dataFromExcelFile = excelReader.AsDataSet();
        }
    }

    if (dataFromExcelFile != null)
        return dataFromExcelFile;

    // Try importing the file as Excel 97-2003
    using (var excelFile = File.Open(excelFileName, FileMode.Open, FileAccess.Read))
    {
        using (var excelReader = ExcelReaderFactory.CreateBinaryReader(excelFile))
        {
            excelReader.IsFirstRowAsColumnNames = true;
            dataFromExcelFile = excelReader.AsDataSet();
        }
    }

    if (dataFromExcelFile != null)
        return dataFromExcelFile;

    throw new Exception("Unable to determine format of Excel file.");
}

首先,它尝试以更现代的格式阅读Excel文件。如果失败,则尝试使用较旧的格式。如果失败,它会放弃并抛出异常。