2017-09-20 106 views
0

我无法使用excel interop在C#中选择范围。请让我知道我在这里做错了什么。我是很新的卓越的互操作使用c#excel interop选择范围

static void Main(string[] args) 
    { 
     Excel.Application xlApp = new Excel.Application(); 
     Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("D:\\s1.xlsx"); 

     Excel.Range xlTestRange; 
     Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[2]; 

     xlTestRange = xlWorksheet.UsedRange; 
     xlTestRange.Select(); 
     xlWorkbook.Save(); 
     xlWorkbook.Close(); 
     xlApp.UserControl = true; 
     xlApp.Quit(); 


    } 
+0

你怎么知道,如果你正在关闭工作簿和退出应用程序的选择不工作? – NetMage

+0

我错过了挽救线,而粘贴在这里 – user3289968

+0

当代码运行它GIVENS以下错误: “System.Runtime.InteropServices.COMException”类型的未处理的异常出现在mscorlib.dll 附加信息:选择方法Range类失败 – user3289968

回答

0

下面的代码在LINQPad工作对我来说:

var xlApp = new Excel.Application(); 
var xlWorkbook = xlApp.Workbooks.Open(@"path-to-excel-file"); 
var xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets[1]; 

var xlTestRange = xlWorksheet.UsedRange; 
xlTestRange.Select(); 
xlWorkbook.Save(); 

xlWorkbook.Close(); 
xlApp.Quit(); 
+0

你上面的代码没有对C#然而,当我跑到下面的代码它工作得很好 Excel.Application xlApp =新Excel.Application()工作:( ; Excel.Workbook xlWorkbook = xlApp.Workbooks.Open( “d:\\ s1.xlsx”); Excel.Range xlTestRange; Excel._Worksheet xlWorksheet = xlWorkbook.Sheets [2]; xlWorksheet.Select(); xlTestRange = xlWorksheet.UsedRange; xlTestRange.Select (); xlWorkbook.Save(); xlWorkbook.Close(); xlApp.Quit(); – user3289968

+0

我觉得这个是缺少的行 - > xlWorksheet.Select(); – user3289968

+0

啊 - 它对我很有用,因为我使用的是唯一的工作表。 – NetMage