是这样,我用C#写了一个Excel CodeBehind
然后要实现这么一个功能,点击一个按钮,把某一行的几个单元格合并起来。
就是类似下面的code:Excel.rng mergeRng = sheet1.getRng(sheet1.Cells[1,1],sheet1,Cells[1,3]);
mergeRng.merge(Type.Missing);结果呢……这段code放在ThisWorkbook_open里边调用就是好用的(写成一个函数,thisWorkbookOpen里边调用这个函数)但是同样的函数,在ThisWorkbook_open运行结束后,通过点击按钮调用就抱错……这是为什么啊……100分求助,多谢大家……
然后要实现这么一个功能,点击一个按钮,把某一行的几个单元格合并起来。
就是类似下面的code:Excel.rng mergeRng = sheet1.getRng(sheet1.Cells[1,1],sheet1,Cells[1,3]);
mergeRng.merge(Type.Missing);结果呢……这段code放在ThisWorkbook_open里边调用就是好用的(写成一个函数,thisWorkbookOpen里边调用这个函数)但是同样的函数,在ThisWorkbook_open运行结束后,通过点击按钮调用就抱错……这是为什么啊……100分求助,多谢大家……
at Microsoft.Office.Interop.Excel.Range.Merge(Object Across)
at....后边的也不用再写了……
protected void ThisWorkbook_Open()
{
try
{
Excel.Worksheet ws = (Excel.Worksheet) ThisWorkbook.Worksheets[1];
this.merge_btn = (MSForms.CommandButton)this.FindControl("merge_btn");
this.merge_btn.Click +=new Microsoft.Vbe.Interop.Forms.CommandButtonEvents_ClickEventHandler(merge_btn_Click);
Excel.Range baseRng = ws.get_Range("A1",Type.Missing);
this.merge(ws,baseRng,0,0,4);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message + ex.StackTrace);
}
}
private void merge_btn_Click()
{
try
{
Excel.Worksheet ws = (Excel.Worksheet) ThisWorkbook.Worksheets[1];
Excel.Range baseRng = ws.get_Range("A2",Type.Missing);
this.merge(ws,baseRng,0,0,4);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message + ex.StackTrace);
return;
}
}