我先导入到DataGrid,有中文的地方还是不显示!
string source = txtFileContents.Value;

string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source + ";Extended Properties=Excel 8.0";
string query = "SELECT * FROM [Sheet1$]";
OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(ConnStr));
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
DataSet myDataSet = new DataSet(); // // 将 Excel 的[Sheet1]表内容填充到 DataSet 对象
oleAdapter.Fill(myDataSet, "[Sheet1$]");
//
// // 数据绑定
DataGrid1.DataSource = myDataSet;
DataGrid1.DataMember = "[Sheet1$]";
DataGrid1.DataBind();-----------------------------------------------------------
是不是少了HDR=YES;IMEX=1;不知道格式怎么加?请各位同人写以下!
-----------------------------------------------------------以上代码在导入标题有中文的就报错!
-----------------------------------------------
外部表不是预期的格式。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 外部表不是预期的格式。
---------------------------------------------------------------------

解决方案 »

  1.   

    //有字段名
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;IMEX=1';Data Source=" + this.strExcelFilePath + ";";
    //没有字段名
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';Data Source=" + this.strExcelFilePath + ";";
      

  2.   

    把Excel文件中的数据读入到DataGrid中
    http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
    将DataGrid输出到Excel文件http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50
      

  3.   

    把Excel文件中的数据读入到DataGrid中
    http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
    将DataGrid输出到Excel文件http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50