C#和Excel高级过滤器

C#和Excel高级过滤器,c#,excel,C#,Excel,我试图将数据从一个工作簿筛选到另一个obne,但我得到一个未加密的异常 我在excel中找不到很多使用c#进行自适应过滤的例子,我也不知道我的错误到底在哪里 这是我的密码: public void excel() { Excel.Application xlApp; Excel.Workbook xlWorkBookImport; Excel.Workbook xlWorkBookOriginal; Excel.Worksh

我试图将数据从一个工作簿筛选到另一个obne,但我得到一个未加密的异常

我在excel中找不到很多使用c#进行自适应过滤的例子,我也不知道我的错误到底在哪里

这是我的密码:

public void excel()
    {
        Excel.Application xlApp;
        Excel.Workbook xlWorkBookImport;
        Excel.Workbook xlWorkBookOriginal;
        Excel.Worksheet xlWorkSheetImport;
        Excel.Worksheet xlWorkSheetOriginal;

        xlApp = new Excel.ApplicationClass();
        xlWorkBookImport = xlApp.Workbooks.Open("c:/open.xls");
        xlWorkBookOriginal = xlApp.Workbooks.Open("c:/open1.xls");
        xlWorkBookOriginal.Activate();
        xlWorkSheetOriginal = (Excel.Worksheet)xlWorkBookOriginal.Worksheets.get_Item(1);
        xlWorkSheetOriginal.get_Range("1:7").Delete();
        xlWorkBookImport.Activate();
        xlWorkSheetImport = (Excel.Worksheet)xlWorkBookImport.Worksheets.get_Item(1);
        xlWorkSheetOriginal.Cells.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy, Type.Missing, CopyToRange: "a1:a6", Unique: true);

        xlApp.Visible = true;
    }

有人能帮我解决吗

我终于明白了我的意思:

public void excel()
{         
Excel.Application xlApp;         
Excel.Workbook xlWorkBookImport;         
Excel.Workbook xlWorkBookOriginal;         
Excel.Worksheet xlWorkSheetImport;         
Excel.Worksheet xlWorkSheetOriginal;          
xlApp = new Excel.ApplicationClass();         
xlWorkBookImport = xlApp.Workbooks.Open("c:/open.xls");         
xlWorkBookOriginal = xlApp.Workbooks.Open("c:/open1.xls");             
xlWorkBookOriginal.Activate();         
xlWorkSheetOriginal = (Excel.Worksheet)xlWorkBookOriginal.Worksheets.get_Item(1);         
xlWorkSheetOriginal.get_Range("1:7").Delete(); 
// added code
Excel.Range range = xlWorkSheetOriginal.get_Range("a1:v53");  
//  
xlWorkBookImport.Activate(); 
xlWorkSheetImport = (Excel.Worksheet)xlWorkBookImport.Worksheets.get_Item(1);
// added code
xlWorkSheetImport.Activate();
Excel.Range target = xlWorkSheetImport.get_Range("a1:f1"); 
//
// modified code            
xlWorkSheetOriginal.Cells.AdvancedFilter(Action : Excel.XlFilterAction.xlFilterCopy, 
CriteriaRange: Type.Missing, CopyToRange: target, Unique: false);
//          
xlApp.Visible = true;     
} 

你有什么例外?我不太明白你说的“过滤器”是什么意思。但我认为至少可以从一个工作簿中读取所有数据,并在C#by LINQ中过滤它们,然后在第二个工作簿中填充它们。嗨,没有指定异常。Excel有一个“高级筛选”工具,如果源和目标具有相同的精确标题,则可以对数据进行筛选。