1

我正在尝试使用 Querytables.Add 将文本文件插入到 excel 单元格中;没有错误,但工作表为空。除了使用 Value2 属性的单个单元格操作。

我已经使用宏来记录使用的对象。

你能帮我解决这个问题吗(我使用的是 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();
        }
4

1 回答 1

0

我找到了;

它是 RefreshStyle 属性。它应该设置为 xlInsertEntierRows。

temp.RefreshStyle = XlCellInsertionMode.xlInsertEntireRows;

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

于 2010-05-08T17:29:05.883 回答