应该不难吧,记得以前弄过一次,给出代码,简单最好!

解决方案 »

  1.   

    string[,] arr= new string[row,colCount];   
    Excel.Range range = (Excel.Range)workSheet.Cells[top,left];   
    range = range.get_Resize(row,colCount);   
    range.Value = arr; 
    打开文件
      

  2.   

    获取excel单元格范围,通过二维数组
      

  3.   


    这样说吧,我就不知道怎么弄,List<User> list = new List<User>();
                User user1 = new User();
                user1.UserId = 1;
                user1.UserName = "张三";
                user1.Pwd = "zhang";
                user1.Age = 30;
                User user2 = new User();
                user2.UserId = 2;
                user2.UserName = "李四";
                user2.Pwd = "zhang";
                user2.Age = 30;
                User user3 = new User();
                user3.UserId = 3;
                user3.UserName = "王五";
                user3.Pwd = "zhang";
                user3.Age = 30;
                list.Add(user1);
                list.Add(user2);
                list.Add(user3);就这个集合,放入 excel 中,代码!
    谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
      

  4.   

    http://blog.csdn.net/yuuy163/archive/2009/05/18/4196679.aspx
      

  5.   

    List<T>转换为DataTable 
    DataTalbe导出到Excelprivate void CreateExcel(DataTable dt, string fileName)
            {
                HttpResponse resp;
                resp = Page.Response;
                resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                resp.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
                string colHeaders = "", ls_item = "";            ////定义表对象与行对象,同时用DataSet对其值进行初始化
                //DataTable dt = ds.Tables[0];
                DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
                int i = 0;
                int cl = dt.Columns.Count;            //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
                for (i = 0; i < cl; i++)
                {
                    if (i == (cl - 1))//最后一列,加n
                    {
                        colHeaders += dt.Columns[i].Caption.ToString() + "\n";
                    }
                    else
                    {
                        colHeaders += dt.Columns[i].Caption.ToString() + "\t";
                    }            }
                resp.Write(colHeaders);
                //向HTTP输出流中写入取得的数据信息            //逐行处理数据 
                foreach (DataRow row in myRow)
                {
                    //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据   
                    for (i = 0; i < cl; i++)
                    {
                        if (i == (cl - 1))//最后一列,加n
                        {
                            ls_item += row[i].ToString() + "\n";
                        }
                        else
                        {
                            ls_item += row[i].ToString() + "\t";
                        }                }
                    resp.Write(ls_item);
                    ls_item = "";            }
                resp.End();
            }
      

  6.   

    List<User> list = new List<User>();
    foreach(user u in list)
    {
    //赋值到单元格
    }
      

  7.   

    可以用excel类直接写入,也可以把excel文件作为一个数据库,用数据库语句写入。
      

  8.   

    1、首先,将Excel.dll引入到你自己的系统中,方法:项目/添加引用/COM/Microsoft Excel 11.0 Object Library,然后确定即可
    注意:这个是针对2003的2、在系统里定义以下行数并调用即可 /// <summary>
    /// 将数据输出到Excel
    /// </summary>
    /// <param name="dt">报表数据</param>
    /// <param name="strReportsName">报表的名称</param>
    /// <param name="strSaveAsPath"></param>
    private void DataOutToExcel( DataTable dt, string strSheetName )
    {
    string strFileName = Application.StartupPath + @"\DataToExcel.xlt"; ////获取模版文件
    Excel.Application objExcelApp = new Excel.Application(); ////建立一个Excel对象
    Excel.Workbook objWorkBooks = null; ////建立一个xls文件,并赋值为Excel对象打开的文件,即模版文件
    Excel.Worksheet objWorkSheet = null; ////新建一个sheet,到时候从objWorkBooks中取第一个sheet赋值给它
    object m_objOpt = System.Reflection.Missing.Value;
    try
    {
    //////objExcelApp.Visible = true;//此项目设置为TRUE可以在输入数据的同时显示EXCEL表
    //////objExcelApp.UserControl = true;//// ////打开模版文件,赋值给新建立的xls对象
    objWorkBooks = objExcelApp.Workbooks.Open( strFileName, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt ); objWorkSheet = (Excel.Worksheet)( objWorkBooks.Worksheets.get_Item( 1 ) ); ////获取模版文件的第一个sheet objWorkSheet.Name = strSheetName; ////设置sheet的名称 this.Enabled = false; for( int i = 0; i < dt.Columns.Count; i++ ) ////将dt列的名称,赋值给sheet的第一行,作为标题行
    {
    objWorkSheet.Cells[ 1, i + 1 ] = dt.Columns[ i ].ColumnName;
    } for( int j = 0; j < dt.Rows.Count; j++ ) ////以下从第二行开始输出数据
    { for( int k = 0; k < dt.Columns.Count; k++ )
    {
    if( j == dt.Rows.Count - 2 || k == 0  )
    {
    objWorkSheet.Cells[ j + 2, k + 1 ] = "'" + dt.Rows[ j ][ k ].ToString();
    }
    else
    {
    objWorkSheet.Cells[ j + 2, k + 1 ] = dt.Rows[ j ][ k ].ToString();
    }
    }
    } objExcelApp.Visible = true; ////数据输出完成后,显示Excel应用程序对象,即显示xls文件 //////objExcelApp.ActiveWorkbook.Saved = true; //此项设置为TRUE,在手动关闭EXCEL表时,不提示是否保存的信息
    //////objExcelApp.DisplayAlerts = false; //存在同名文件时直接覆盖。(自动存储或将EXCEL表另存为时用到)
    //////objWorkBooks.SaveAs(strSaveAsPath, m_objOpt, m_objOpt,m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
    //////////////将EXCEL表另存为
    }
    catch( Exception ex )
    {
    this.Enabled = true;
    throw ex;
    }
    finally
    {
    //////objWorkBooks.Close(m_objOpt, m_objOpt, m_objOpt);
    //////objExcelApp.Workbooks.Close();
    //////objExcelApp.Quit();
    //////以上3行注释掉之后,Excel不在输完数据后自动关闭
    System.Runtime.InteropServices.Marshal.ReleaseComObject( objWorkBooks );
    System.Runtime.InteropServices.Marshal.ReleaseComObject( objExcelApp );
    objWorkBooks = null;
    objExcelApp = null;
    objWorkSheet = null;
    m_objOpt = null;
    GC.Collect();
    }
    }