10

Microsoft.ACE.OLEDB.12.0 を使用して Microsoft Excel ファイルに接続し、そこからデータを取得しています。Visual Studio 2012 を使用して C# 言語でコードを記述します。コードは次のとおりです。

public DataTable getData(string fileName, string sheetName)
{
    connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" 
                      + fileName
                      + "';Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'";

    errorCode = ErrorDefinition.ERROR_NOERROR;
    errorMessage = "";
    DataTable dt = new DataTable();            
    try
    {
            string query = "SELECT * FROM [" + sheetName + "]";
            OleDbConnection con = new OleDbConnection(connectionString);
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, con);
            dataAdapter.Fill(dt);
    }
    catch (Exception exp)
    {
            errorCode = ErrorDefinition.ERROR_OLEDBERROR;
            errorMessage = exp.Message;
    }
    return dt;
}

問題はdt、指定されたシートの最初の行がファイルに含まれていないことです。どうしたの?

4

2 に答える 2

3

HDR=NO接続文字列で試す

于 2013-04-09T12:34:57.057 に答える