1

Hey Guys フィールドを含むデータベースがあり Name,Email,Contact,Address,Profile、これらのフィールドとデータを含む Excel シートを作成しました (100 エントリ)。今、私はファイルアップロードコントロールを使用してこれらのExcelシートを閲覧し、ボタンコントロールをクリックすると、Excelシートデータをデータベースに自動的に入力します。

だから、アイデアを持っている人は親切に私と共有してください。私はそれを何度も試してみますが、解決には至りません。ですから、あなたの貴重なガイダンスを親切に共有してください。

4

1 に答える 1

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 ファイルを読み込もうとします。それが失敗した場合は、古い形式で試行します。それが失敗した場合、あきらめて例外をスローします。

于 2012-07-13T07:01:57.403 に答える