使用Visual Studio在C#中上载Excel工作表

时间:2019-01-09 18:29:53

标签: c# excel oledbconnection

我的代码是

string PathConn = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox10.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";

OleDbConnection conn = new OleDbConnection(PathConn);

OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter("Select * From [" + textBox1.Text + "$]", conn);

DataTable dt = new DataTable();
dbDataAdapter.Fill(dt);

dataGridView1.DataSource = dt;

我得到了错误:

  

System.Data.OleDb.OleDbException:“ $”不是有效名称。确保它不包含无效字符或标点符号,并且时间不要太长

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

可能是“ $” 在

("Select * From "+ textBox1.Text , conn);

尝试

("Select * From ["+ textBox1.Text +"]", conn);

    @Injectable()
    export class MyService{
    hoHa:MyObj = null;

    someFunction(): Observable<MyObj>{

     return httpClient.get<MyObj[]>('url')
                      .pipe(
                        map(response => response[]),
                        catchError(this.handleError('someFunction', {} as MyObj)                  
                     )

    }
}

对我来说,这似乎是一条更正确的sql语句。

如果我有建议,请尝试为您的文本框指定更有意义的名称,以便将来代码更易于维护。