using Excel = Microsoft.Office.Interop.Excel; Excel.Application excelapp = new Excel.Application(); Excel.Workbook wb = excelapp.Workbooks.Open(excelPath); Excel.Worksheet WS = (Excel.Worksheet)wb.Worksheets[1]; Excel.OptionButton radio1 = (Excel.OptionButton)WS.Shapes.Item("选项按钮 ").OLEFormat.Object; dynamic radio1Value= radio1.Value; Excel.CheckBox ck1 = (Excel.CheckBox)WS.Shapes.Item("复选框 9").OLEFormat.Object; dynamic ck1Value = ck1.Value; Process[] procs = Process.GetProcessesByName("EXCEL"); foreach (Process pro in procs) { pro.Kill();//没有更好的方法,只有杀掉进程 } GC.Collect();
这样也是自己千辛万苦尝试出来的,因为Excel模板也是自己做的,所以有些心得也说下:
excel中如果有多组radio的时候,要使用【开发工具】-【插入】-【分组框】将不同组的radio框起来,这样就可以分组使用了。至于分组框的边框问题,则如下操作:
在excel中,按快捷键Alt+F11,打开VBA编辑器,
再按Ctrl+G打开“立即窗口”,在其中输入:
ActiveSheet.GroupBoxes.Visible = False
然后分组框的边框就隐藏了,大功告成,哎...好累,总结了很多帖子才完成,希望能帮助更多的人吧。