asp.net(C#)操作EXCEL。
设定了EXCEL模板,如下:
           学生成绩报表
姓名:——   年龄:——  性别——
学课:——   成绩:——
.........
.........有一学生成绩的datatable,现循环datatable的所有行数,每循环一行次,就要复制一次模板,再将其放置到原模板之下。
再每一个学生的信息循环填充于各个模板。
现遇到困难如下:
因要保持模块的格式不变,那我就复制模板的开始行,至结束行所占的行数,再移下一格粘贴,这样即可保持原模板格式不变。
问题就在此,我不道用C#怎么进行行的复制,不懂得怎么写(什么属性或什么方法)
不懂如下:
     Rows("1:10").Select
    Selection.Copy
    Rows("11:20").Select
    ActiveSheet.Paste试验很久了还未得出结果,请各路大侠相助,明天要急着给上司阿。

解决方案 »

  1.   

    asp.net(C#)操作EXCEL。 
    设定了EXCEL模板,如下: 
              学生成绩报表 
    姓名:——  年龄:——  性别—— 
    学课:——  成绩:—— 
    ......... 
    ......... 有一学生成绩的datatable,现循环datatable的所有行数,每循环一行次,就要复制一次模板,再将其放置到原模板之下。 
    再每一个学生的信息循环填充于各个模板。 
    现遇到困难如下: 
    因要保持模块的格式不变,那我就复制模板的开始行,至结束行所占的行数,再移下一格粘贴,这样即可保持原模板格式不变。 
    问题就在此,我不道用C#怎么进行行的复制,不懂得怎么写(什么属性或什么方法) 
    VBA如下: 
        Rows("1:10").Select 
        Selection.Copy 
        Rows("11:20").Select 
        ActiveSheet.Paste 试验很久了还未得出结果,请各路大侠相助,明天要急着给上司阿。
      

  2.   

    在服务端操作Excel,不是好的方法,实在要这样做,建议你以数据读取的方式来实现    public DataSet ExcelDataSource(string filepath, string sheetname)
        {
            string strConn;
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
            OleDbConnection conn = new OleDbConnection(strConn);
            OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "$]", strConn);
            DataSet ds = new DataSet();
            oada.Fill(ds);
            return ds;
        }
      

  3.   

    謝謝
    勤劳致富 - CSDN专家分获得原理