c:\\city.xls
  
*****************************************************************************用功譬若掘井,与其多掘数井而皆不及泉,何若老守一井,力求及泉而用之不竭乎?

解决方案 »

  1.   

    mycommand.CommandText = "insert into city select cityname,RDC,averagesalary from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\\city.xls";User ID=Admin;Password=;Extended properties="Excel 8.0"')...[sheet1$]";
      

  2.   

    mycommand.CommandText = "insert into city select cityname,RDC,averagesalary from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\\city.xls";User ID=Admin;Password=;Extended properties="Excel 8.0"')...[sheet1$]";
    注意下转义符"\"
      

  3.   

         StringWriter sw = new StringWriter();
                GridView dv = new GridView();
                dv.DataSource = dt;//dt为数据源
                dv.DataBind();
                dv.AllowPaging = false;
                Response.ClearContent();
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=MyExcelFile.xls");
                // 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
                Response.ContentEncoding = System.Text.Encoding.UTF8;
                Response.ContentType = "application/excel";            HtmlTextWriter htw = new HtmlTextWriter(sw);            dv.RenderControl(htw);            Response.Write(sw.ToString());
                Response.End();
      

  4.   

    \符号的处理是字符串中常见的问题,大致有以下两种处理方式
    第一种:
    string URI="C:\city.xls";
    while(URI.IndexOf('\\')){
                    URI.Replace("\\", "\\\\");
                }
    第二种:
    string URI="C:\city.xls";
    在URI前面加上@符号可以解决这个问题
    mycommand.CommandText = "....Data Source=@"C:\city.xls";User ID=Admin;Password=;Extended properties="Excel 8.0"')额外要指出的是,连接的时候最好写上:
    Extended Properties='Excel 8.0;HDR=YES;IMEX=1'
    HDR=Yes是把第一行默认为是表格的字段名,
    IMEX是在某列中有数字和字母时,将数字作为文本处理。比较有用