首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

导出excel正规格式,excel导入SQL,请,另+100分

2012-03-09 
导出excel正规格式,excel导入SQL,请高手指点,在线等,另+100分。小弟做了个导出excel,在用excel导入SQL,单导

导出excel正规格式,excel导入SQL,请高手指点,在线等,另+100分。
小弟做了个导出excel,在用excel导入SQL,单导出来没问题,但是把导出来的excel在导进SQL就有问题.但是新建一个excel导入SQL又没问题,问题就出在,我导出来的只一个内似与excel的工作薄,我要把工作薄转换为excel表的格式,在把excel表里的名字改成Sheet1在导就行,转换格式没什么问题,但是又要转换excel表里的表里就有点麻烦,我导出来的时候又不能改excel表里的名字。所以请高手帮忙。修改我的代码,和给段源代码都可以,或者给个导出导入excel的小项目也可以,求求大家啦!本人邮箱cwk_1106@163.com       MSN:   cwk_1106@hotmail.com
导出代码:
                ds   =   new   DataSet();
                ds   =   FEGCRM.Access.AlanSheetDA.Get( " ", " ");
                DataTable   dt   =   ds.Tables[ "Alan "];
                dt.Columns[ "Id "].ColumnName   =   "ID ";
                dt.Columns[ "LotNo "].ColumnName   =   "订单批号 ";
                dt.Columns[ "Enterprise "].ColumnName   =   "业 ";
                StringWriter   sw   =   new   StringWriter();
                GridView   dv   =   new   GridView();
                dv.DataSource   =   dt;
                dv.DataBind();
                dv.AllowPaging   =   false;

                Response.ClearContent();
                Response.Charset   =   "GB2312 ";
                Response.AppendHeader( "Content-Disposition ",   "attachment;filename=Sheet1.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();
导入代码:
                string   strFullFileName   =   DateTime.Now.ToString( "yyyymmddhhmmss ")   +   ".xls ";
                string   strpath   =   Server.MapPath( "excelfile ")   +   strFullFileName;//确定一个文件名
                fileup.PostedFile.SaveAs(strpath);
                string   mystring   =   "provider   =   microsoft.jet.oledb.4.0   ;   data   source   =   "   +   strpath   +   ";extended   properties=excel   8.0 ";
                OleDbConnection   cnnxls   =   new   OleDbConnection(mystring);
                OleDbDataAdapter   myda   =   new   OleDbDataAdapter( "select   *   from   [Sheet1$] ",   cnnxls);


                DataSet   myds   =   new   DataSet();
                myda.Fill(myds);
                try
                {
                        Edit_data(myds.Tables[0]);//传参数进行导入
                }
                catch   (Exception   ex)
                {
                        Label1.Text   =   "导入数据出现错误... ";
                }
                ds   =   new   DataSet();
                ds   =   FEGCRM.Access.AlanSheetDA.Get( " ",   " ");
                this.GridItem.DataSource   =   ds;
                if   (ds.Tables[0].Rows.Count   !=   0)
                {
                        string   m_SqlNo   =   ds.Tables[0].Rows[0][ "Id "].ToString();
                        SetOrderDetail(m_SqlNo);
                }
以上代码导入肯定没错,导出的时候导的不是非正规的excel表格,请高手指点,还有就是导出的时候如何修改excel表里的表名,就是如何把保存的文件名和excel表里的表里分开因为我导入的时候表名只能用Sheet1,所以我导出的时候excel表里的表里一定要是Sheet1,请高手指点.


[解决办法]
学习,帮顶,一直不太明白为什么要把表格里的导入到sql中
[解决办法]
Excel的Sheet的名称通过OLEDB是改不了的,不过你可以建好一张模板表,在里面设置好需要的Sheet名,字段名等,使用的时候先COPY到新文件,然后再打开Insert就可以了。
[解决办法]
帮你顶下LZ我前几天也遇到跟你同样的问题,到现在还没解决.关注,祝福你能快点解决.高手们也应该多指点新手。

热点排行