在C#中使用excel interop导入txt文件(QueryTables.Add)
我想使用Querytables.Add插入文本文件到Excel单元格; 没有错误,但工作表是空的。 除了使用Value2属性的单个单元格操作。
我已经使用macros来logging使用的对象。
你能帮我这个(我使用VS2008,C#,Excel 2003和2007;都显示空单元格)。
以下是我的代码; 谢谢你的帮助
Application application = new ApplicationClass(); try { object misValue = Missing.Value; wbDoc = application.Workbooks.Open(flnmDoc, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue); wsRefDocBudgetOwner = (Worksheet)wbDoc.Worksheets[2]; Range lRange = wsRefDocBudgetOwner.get_Range("B2", "B25"); var temp2 = wsRefDocBudgetOwner.QueryTables; var temp = temp2.Add(@"TEXT;d:\temp\config ssas.txt", lRange, Type.Missing); //temp.RefreshStyle = XlCellInsertionMode.xlInsertDeleteCells; //temp.RefreshOnFileOpen = true; wsRefDocBudgetOwner.get_Range("B1", "B1").Value2 = "Lgfdgast adsffdafadfads"; wbDoc.Save(); //wbDoc.SaveAs(flnmDoc2, misValue, misValue, misValue, misValue, misValue, XlSaveAsAccessMode.xlExclusive, // misValue, misValue, misValue, misValue, misValue); wbDoc.Close(Missing.Value, Missing.Value, Missing.Value); } finally { application.Quit(); }
我find了;
它是RefreshStyle属性。 它应该被设置为xlInsertEntierRows。
temp.RefreshStyle = XlCellInsertionMode.xlInsertEntireRows;