Office中国论坛/Access中国论坛

标题: C#.net与Excel的导入导出 [打印本页]

作者: 子龙    时间: 2009-1-13 10:55
标题: C#.net与Excel的导入导出
我用的是C#.net做Web开发。导入Excel中的数据是这样写的:
private DataTable ExcelToDataTable(string filePath)
    {
        string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
            + filePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
        OleDbConnection oleCon = new OleDbConnection(ConnStr);
        oleCon.Open();
        string sql = "select * from [Sheet1$]";        
        DataSet ds = new DataSet();
        OleDbDataAdapter oleAdper = new OleDbDataAdapter(sql, oleCon);
        oleAdper.Fill(ds, "test");
        oleCon.Close();
        return ds.Tables[0];
    }
   
导出的时候是这样写的:
     protected void btnDaochu_Click(object sender, EventArgs e)
    {
        GridView1.Columns[0].Visible = false;
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "GB2312";
        Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.ContentType = "application/ms-excel";
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
        this.GridView1.RenderControl(oHtmlTextWriter);

        Response.Output.Write(oStringWriter.ToString());
        Response.Flush();
        Response.End();
    }
   
    问题就是:如果我自己新建立一个Excel。然后把数据贴到里面。不管在外面这个excel是否为打开状态,数据都能导入进去
              可当我把程序中的数据导出后,想把这个excel中的数据再导入进系统。就出错了。每次在执行oleCon.Open();的
              时候就有问题了,如果把那个excel在外面提前打开,再导入,就又能成功。所以不知道是什么原因。如果有知道
              的话就帮我看看,或者有其他的办法也可以。谢谢了!
作者: 子龙    时间: 2009-1-14 10:02
晕死。没有人理我吗?
作者: pureshadow    时间: 2009-1-14 20:09
不懂C#.net的。。。。。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3