导出excel的时候可以使用SaveAs对excel文件设置只读,这时保护的是整个文档。但是我想要的效果是对具体的某一列,或者某一行,或者某一个单元格进行保护,这要怎么弄。请各位大侠指点...

解决方案 »

  1.   

    行冻结(当前行以及上部所有行) DataGridView1.Rows(0).Frozen = True
    列冻结(当前列以及左侧做所有列) DataGridView1.Columns[0].Frozen = true;
    指定单元格冻结(单元格所在行上部分所有行,列左侧所有列) DataGridView1[0, 0]. Frozen = true;
      

  2.   

    冻结之后导出的excel就不能修改?我使用的是excel模板的方式导出数据,这个应该怎么处理?
    部分代码:
     Microsoft.Office.Interop.Excel.Workbook workbook = xlApp.Workbooks.Add(true);
                Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
                Microsoft.Office.Interop.Excel.Range range;
      

  3.   

    我觉得,但没试过。可以在EXCEL里操作一下,并录制该操作的宏,分析一下到底是哪个属性控制。
      

  4.   

    把宏里面的那个属性直接写到C#代码里,就OK