我需要修改一个已经订好格式的Excel文件。
形如
F1 F2 F3 F4
a  b  cccc
这里的F3与F4已经合并为一列。
我只知道修改a可以用 update [Sheet1$A1:A1] set F1=aa,可是合并了的单元格应该怎么表示呢?
请问,怎么写UPDATE语句来修改这个合并了的单元格呢?

解决方案 »

  1.   

    是不是这种情况不能用oledb,只能用COM啊?
    高人们,求解答。
      

  2.   

    海松兄,我想用update [Sheet1$A1:C1] set F1=‘aa’,但是报错啊。
      

  3.   

    Excel._Application   exc=new   Excel.ApplicationClass();   
      exc.Application.Workbooks.Add(true);   
      Excel._Worksheet   ws=new   Excel.WorksheetClass();   
      ws=(Excel._Worksheet)exc.ActiveSheet;  
        
      Excel.Range   r;   
      r=ws.get_Range(ws.Cells[1,1],ws.Cells[1,6]);   
      r.MergeCells=true;
      

  4.   

    海松兄,你的办法对格式复杂的表格不起作用。
    我的表格如下
    UNIT         这是合并单元格
    FIL CODE 这是合并单元格
    SAP CODE 这是合并单元格
    MADD1 MADD2 MADD3 MADD4 MADD5 MADD6 MADD7 MADD8
    GCAS 123 123 123 123 123 123 123 123//这些不是合并单元格
    WEIGHT 123 123 123 123 123 123 123 133
    STEP         PPM#1
    1 这是合并单元格,这里要写东西!!!
    我要修改的是最后这一行。"update [PPM$] set F2='999' where F1='1'";
    结果是看不见变化。如果把上面的几行删掉,再用同样的语句就能写入了。
      

  5.   

    谢谢海松兄一直帮忙。
    你的图片和我需要的很相像了。我的excel表如图所示:
    http://hi.csdn.net/attachment/201005/3/1938457_1272866999fd23.jpg
      

  6.   

    另外你的连接词是怎么写的?
    我的是这个 string strExcel = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties='Excel 8.0;HDR=no;'";
      

  7.   

    海兄,我想我知道为什么了。
    我一直写的都是UPDATE [PPM$B8:I8] SET F2= 'bbb‘ ,这样是不是取的range太小了,把它写成UPDATE [PPM$A8:J8] SET F2= 'bbb‘ ,结果就好了。
    谢谢。