需要往Excel写一些数据,添加microsoft Excel 12.0 Object Library。按照网上的几种方法合并单元格,好像都不行。帮忙看看,感激。Excel.Application app = new Excel.ApplicationClass();
Excel.Workbook wk = app.Workbooks.Add(Missing.Value);
Excel.Worksheet ws = wk.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;
1.Excel.Range range2 = ws.get_Range("A3", "C3");
  range2.Merge(0);或者range2.Merge(true);或者range2.Merge(false);
2.ws.Cells.get_Range("A3", "C3").MergeCells = true;
3.ws.get_Range("A3", "C3").Merge(ws.get_Range("A3", "C3").MergeCells);
4.range2.ClearContents();
  range2.MergeCells = true;

解决方案 »

  1.   

    Excel.Range range2 = ws.Range["A3", "C3"];
    其余类似。
      

  2.   

    这代码看起来是反编译来的,没有正确处理Indexer
      

  3.   

    以前写的代码,给你参考试试:
    private void btnExport_Click(object sender, EventArgs e)
            {
                int rowIndex = 5;//在EXCEL第5行开始写入数据                
                int row_cnt = this.dataGridView1.Rows.Count;
                int col_cnt = this.dataGridView1.Columns.Count;
                newExcel.Application myErrorBill = new newExcel.ApplicationClass();
                newExcel.Workbook ErrorBillBook = myErrorBill.Workbooks.Add(true);
                newExcel.Worksheet worksheet = myErrorBill.Sheets[1] as newExcel.Worksheet;
                newExcel.Range selectRange;
                selectRange = myErrorBill.get_Range(myErrorBill.Cells[1, 1], myErrorBill.Cells[1, 10]);
                //
                //合并单元格
                selectRange.Merge(System.Reflection.Missing.Value);
                myErrorBill.Cells[1, 1] = System.DateTime.Now.Date.ToLongDateString()+ "智能网错误话单;(PPC话单总数为:" + AllRecordPPC.ToString() + "   VPN话单总数为:" + AllRecordVPN.ToString() + ")";            selectRange = (newExcel.Range)(myErrorBill.Cells[1, 1]);
                selectRange.Interior.ColorIndex = 15;
                selectRange.Font.Bold = true;
                selectRange.Font.Size = 18;
                newExcel.Range TextRange = myErrorBill.get_Range(myErrorBill.Cells[5, 1], myErrorBill.Cells[4 + row_cnt, 12]);
                TextRange.NumberFormatLocal = "@";///数据显示成文本