现在有2个datatable,格式数据都不一样,现在需要导出到一个Excel表中的一个sheet中 大家有没有什么比较简便,高效的方法?导出的Excel如下格式:    姓名     性别   
    张三     男
    成绩1    成绩2   成绩3
     10        20      30

解决方案 »

  1.   

    用com控件,循环datatable依次导出。
      

  2.   


     //当时自己写的一个进销存输出EXCEL的代码 excel.Cells[na + 3, 1]是EXCEL 输出的行,列 
    //要是需要换行的话可以通过循环的na 来控制或者 两个以上的类似这样的循环 
    //我这个当时业务复杂了些 你参考下吧 一般有两个for循环 和一个格式输出就可以了我这里判断条件比较
    //多 呵呵
    #region 写入
                for (int na = 0; na < RCount; na++)
                {
                    for (int nb = 1; nb < CCount + 1; nb++)
                    {
                        string str = DS.Tables[0].Rows[na]["GoodsPutInTime"].ToString();
                        if (str == "")
                        {
                            str = DS.Tables[0].Rows[na]["GoodsComeOutTiem"].ToString();
                        }
                        excel.Cells[na + 3, 1] = str;//日期
                        excel.Cells[na + 3, 2] = DS.Tables[0].Rows[na]["GoodsName"].ToString(); //摘要
                        if (DS.Tables[0].Rows[na]["GoodsPutInAmount"].ToString() != "0")
                        {
                            excel.Cells[na + 3, 3] = DS.Tables[0].Rows[na]["GoodsPutInAmount"].ToString(); //入库数量
                            excel.Cells[na + 3, 4] = DS.Tables[0].Rows[na]["UnitPrice"].ToString(); //单价
                            excel.Cells[na + 3, 5] = DS.Tables[0].Rows[na]["GooodMoney"].ToString(); //入库金额
                        }
                        if (DS.Tables[0].Rows[na]["GoodsComeOutAmount"].ToString() != "0")
                        {
                            excel.Cells[na + 3, 6] = DS.Tables[0].Rows[na]["GoodsComeOutAmount"].ToString(); //入库数量
                            excel.Cells[na + 3, 7] = DS.Tables[0].Rows[na]["UnitPrice"].ToString(); //单价
                            excel.Cells[na + 3, 8] = DS.Tables[0].Rows[na]["GooodMoney"].ToString(); //入库金额
                        }
                        if (DS.Tables[0].Rows[na]["GoodsAmount"].ToString() != "0")
                        {
                            excel.Cells[na + 3, 9] = DS.Tables[0].Rows[na]["GoodsAmount"].ToString(); //入库数量
                            excel.Cells[na + 3, 10] = DS.Tables[0].Rows[na]["UnitPrice"].ToString(); //单价
                            excel.Cells[na + 3, 11] = DS.Tables[0].Rows[na]["TotalPrices"].ToString(); //入库金额
                        }
                    }
                }
                #endregion
      

  3.   

    2个表中的数据有没有关联不重要,我要的是如上面的那种格式 第一个表的数据在sheet1中的上面,下面就跟着显示第2个表的数据,现在主要是怎么把2个表的数据放在一个sheet中.