Excel.Application excelXLS = new Excel.Application();
            excelXLS.DisplayAlerts = false;
            Excel._Workbook excelWK;
            Excel._Worksheet excelWS ;
            //excelWS = excelWK.Worksheets.Add(oMissing, oMissing, 1, oMissing) as 
            excelWK = excelXLS.Workbooks.Open(strPathName);
            excelWS = excelWK.Worksheets[1] as Microsoft.Office.Interop.Excel._Worksheet;            BLReportPrint b1 = new BLReportPrint();
            DataTable dtResult = new DataTable();
            dtResult = b1.ReprotPrint(strPONo);
            if (dtResult != null && dtResult.Rows.Count > 0) 
            {                excelWS.Cells[3, "C"] = dtResult.Rows[0]["Depart"].ToString();
                excelWS.Cells[3, "G"] = dtResult.Rows[0]["RequireDemandNo"].ToString();
                excelWS.Cells[3, "K"] = dtResult.Rows[0]["RequireDemandDate"].ToString();
            }
            int  i =0 ;
            if(dtResult.Rows.Count > 3){
                for (iRow = 0; iRow < dtResult.Rows.Count - 4; iRow++) 
                
                {
                    excelWS.Range["A7 :P7"].Copy;                
                }我做的一个 C#控制 excel 打开和插入数据的 ,在红色的地方报错
[color=#000000]错误 1 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句[/color]
请教各位:C#

解决方案 »

  1.   

    excelWS.Range["A7 :P7"].Copy;你得用一个变量接收一下,至于什么类型,鼠标放到Copy上面1秒钟看看。
      

  2.   

    哦 加个括号了 可以了 ()里面还需要写变量吗? 我的本意是 copy 这行 然后在他后面复制插入行 
      

  3.   

    excelWS.Range["A7 : P7"].Insert(Shift:=Excel.XlDirection.xlDown);
    我这样写 还是会报刚才的错误·
      

  4.   

    参考http://social.msdn.microsoft.com/Forums/zh-CN/aaff36dd-751b-43d6-82ac-3eb607377b65/cexcel
      

  5.   

    LZ,函数要加括号,至于括号里面要不要加参数,你看智能提示,另外不是用lambda表达式的,请不要用表达式当参数,这是基本的
      

  6.   

    http://bbs.csdn.net/topics/240026179
      

  7.   

    不是 粘贴 是插入复制行 excelWS.Range["7 : 7"].Insert(Shift:(Excel.XlDirection.xlDown));
    这样写 没报错··还没调试过·
      

  8.   

    做excel编程需要多试,上代码:
      worksheet.Range["a1:b1"].Copy(worksheet.Range["e1:d1"]);
    copy后面需要提供目标啊
      

  9.   

    还有一种copy方法:
    1.Excel.Range rng=worksheet.application.selection;
    2.用单个变量或数组记录这个rng区域所有单元格的值
    3.改变selection之后,对新的rng区域进行赋值运算即可。这么做可以从excel界面动态控制复制粘贴区域,更加灵活一点。
      

  10.   

    给分吧,哈哈
    小弟正在做c# EXCEL编程,为别人解惑,也请别人为我解惑。上个100分帖子,几天就1个回复,伤不起啊
      

  11.   

    我之前做的是 VB 的 excel 虽然出入不大  但是语法上 还是很多不一样···