在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;

http://support.microsoft.com/kb/306023所示