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

ASP.net excel 导入 导出有关问题

2012-01-09 
ASP.net excel 导入 导出问题以下是我一段导处excel的代码,导出来数据都是对的,但是更本不是excel只是回缀

ASP.net excel 导入 导出问题
以下是我一段导处excel的代码,导出来数据都是对的,但是更本不是excel只是回缀名是xls因为我把导出的excel在导入的时候会报外部表不是预期的格式这个错误,而我试过,我把导出的excel打开后另存为xls格式在导入就不会报错,或者我自己建一个xls导进去也不会报错,请大家帮帮忙改动以下代码,怎么样改才能导出来的是真正的excel表。
        protected   void   Button2_Click(object   sender,   EventArgs   e)
        {
                ds   =   new   DataSet();
                SqlConnection   con   =   new   SqlConnection( "Data   Source=10.17.8.7;Initial   Catalog=CRMOPSC;User   ID=sa;Password=password ");
                SqlDataAdapter   da   =   new   SqlDataAdapter( "Select   Id,LotNo,Enterprise,CardName,CardCode,NameCode,Demand,DeliveryDate,Mark,Height,Width,Length,Weight,Summation,R,Increase_Decrease,Memo,TWFH,Single_Storage,Sum_Storage,Grade,S16,S12,S9,S5,S4,S2   From   Alan ",   con);
                da.Fill(ds, "Alan ");
                        DataTable   dt   =   ds.Tables[ "Alan "];

                        dt.Columns[ "Id "].ColumnName   =   "ID ";
                        dt.Columns[ "LotNo "].ColumnName   =   "订单批号 ";
                        dt.Columns[ "Enterprise "].ColumnName   =   "业 ";
                        dt.Columns[ "CardName "].ColumnName   =   "客户 ";
                        dt.Columns[ "CardCode "].ColumnName   =   "单号 ";
                        dt.Columns[ "NameCode "].ColumnName   =   "客户编号 ";
                        dt.Columns[ "Demand "].ColumnName   =   "需求 ";
                        dt.Columns[ "DeliveryDate "].ColumnName   =   "交期 ";
                        dt.Columns[ "Mark "].ColumnName   =   "料 ";
                        dt.Columns[ "Height "].ColumnName   =   "厚 ";
                        dt.Columns[ "Width "].ColumnName   =   "宽 ";
                        dt.Columns[ "Length "].ColumnName   =   "长 ";
                        dt.Columns[ "Weight "].ColumnName   =   "重 ";
                        dt.Columns[ "Summation "].ColumnName   =   "总 ";
                        dt.Columns[ "R "].ColumnName   =   "R ";


                        dt.Columns[ "Increase_Decrease "].ColumnName   =   "增减 ";
                        dt.Columns[ "Memo "].ColumnName   =   "备注 ";
                        dt.Columns[ "TWFH "].ColumnName   =   "T双喷 ";
                        dt.Columns[ "Single_Storage "].ColumnName   =   "单存 ";
                        dt.Columns[ "Sum_Storage "].ColumnName   =   "总存 ";
                        dt.Columns[ "Grade "].ColumnName   =   "查特代 ";
                        dt.Columns[ "S16 "].ColumnName   =   "16支装 ";
                        dt.Columns[ "S12 "].ColumnName   =   "12支装 ";
                        dt.Columns[ "S9 "].ColumnName   =   "9支装 ";
                        dt.Columns[ "S5 "].ColumnName   =   "5支装 ";
                        dt.Columns[ "S4 "].ColumnName   =   "4支装 ";
                        dt.Columns[ "S2 "].ColumnName   =   "2支装 ";

                        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=Sheet.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();

        }

[解决办法]
如果这样,你就不能这样导出了,要写 成类似这样的格式

<html xmlns:o= "urn:schemas.microsoft.com:office/office "
xmlns:w= "urn:schemas.microsoft.com:office/word "
xmlns=urn:w3-org-ns:HTML>
<xml>
<o:DocumentProperties>
<o:Created> 1997-11-18T00:10:21Z </o:Created>
</o:DocumentProperties>
<o:OfficeDocumentSettings>
<o:ReadOnlyRecommended/>
</o:OfficeDocumentSettings>
<w:WordDocument>
<w:CurrentView> Normal </w:CurrentView>
</w:WordDocument>
</xml>


[解决办法]
代码太多,你加我QQ344696163,我发给你。

热点排行