打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DataSet资料转到Exec的做法
DataSet资料转到Exec的做法

protected void btnExcel_Click(object sender, EventArgs e)
    {
        if (this.dalListContract.Items.Count > 0)
        {
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            dt.Columns.Add("序号");
            dt.Columns.Add("名称");
            if (null != Cache["toExcel"])
            {
                DataTable temp = (DataTable)Cache["toExcel"];
                for (int i = 0; i < temp.Rows.Count; i++)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = i + 1;
                    dr[1] = temp.Rows[i]["code"];
                    dr[2] = temp.Rows[i]["classne"];
                    dt.Rows.Add(dr);
                }
                ds.Tables.Add(dt);
                ExportExcel(ds, "test");
            }
        }
       

 

    }
    private void ExportExcel(DataSet ds, string filename)
    {
        Microsoft.Office.Interop.Excel.Application oExcel;
        oExcel = new Microsoft.Office.Interop.Excel.Application();
        try
        {
            Microsoft.Office.Interop.Excel.Workbook oBook;
            object oMissing = System.Reflection.Missing.Value;
            oBook = oExcel.Workbooks.Add(oMissing);
            HttpResponse response = HttpContext.Current.Response;
            int lie = ds.Tables[0].Columns.Count;
            int hang = ds.Tables[0].Rows.Count;

            int i, j, t;
            string panduanstring = "";
            i = 1;
            for (j = 0; j < lie; j++)//标题
            {
                oExcel.Cells[1, i++] = ds.Tables[0].Columns[j].ColumnName;
            }

            t = 1;
            for (i = 0; i < hang; i++)//内容
            {
                for (j = 0; j < lie; j++)
                {

                    panduanstring = ds.Tables[0].Rows[i][j].ToString();
                    if (panduanstring.GetType().ToString() == "System.String")
                    {
                        oExcel.Cells[i + 2, t++] = "'" + ds.Tables[0].Rows[i][j].ToString();
                    }
                    else
                        oExcel.Cells[i + 2, t++] = ds.Tables[0].Rows[i][j].ToString();

                }
                t = 1;
            }

            oExcel.Visible = true;
            oBook.Saved = true;
            oExcel.UserControl = false;

            string path = Server.MapPath("excel/");
            string mm = path + filename + ".xls";

            oExcel.ActiveWorkbook.SaveCopyAs(mm);
            oExcel.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject((object)oExcel);
            GC.Collect();
            response.Redirect("excel/" + filename + ".xls");

        }
        catch (Exception e)
        {
            System.Runtime.InteropServices.Marshal.ReleaseComObject((object)oExcel);
            GC.Collect();
        }
    }


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
dataset基本用法
DataSet和DataTable - kittey
c# dataset datatable 详解 数据库操作
使用强类型DataSet的好处
过滤的DataGridView在不改变数据源
asp.net(c#)操作office
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服