私のプログラムで以下のC#コードを使用して、oledbconnectionを使用して97〜2003のスプレッドシートデータをデータテーブルに読み込み、現在のコンテキストに存在しない名前に変換します。行の下Excelableスプレッドシートをデータテーブルに変換する
DataTable rs = null;
string path = Path.GetFullPath(filePath);
odConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';");
odConnection.Open();
OleDbCommand cmd = new OleDbCommand(); ;
OleDbDataAdapter oleda = new OleDbDataAdapter();
DataSet ds = new DataSet();
DataTable dt = odConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string sheetName = string.Empty;
if (dt != null)
{
sheetName = dt.Rows[0]["Sheet_Name"].ToString();
}
cmd.Connection = odConnection;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM [" + sheetName + "]";
oda = new OleDbDataAdapter(cmd);
oda.Fill(ds, "excelData");
rs = ds.Tables["excelData"];
詳細を追加してください。例外、行、シートにはExcelがあります –
行3、odConnectionという名前は現在のコンテキストには存在しません。 – PVB
odConnectionが存在しないように宣言していません。 'odConnection'の前に' var'を追加してみてください。例えば –