如何在不影响其他工作表的情况下编辑Excel工作表的数据?

时间:2013-12-11 10:08:52

标签: c# excel

假设我有一个包含4张图纸,图纸1,图纸2等的Excel文件。我需要从List对象中读取数据,截断Sheet 1的所有数据,并将List对象中的数据写入Sheet 1,而不影响任何其他工作表..

这就是我一直在尝试的......

string pathFileSource = "C:\\Temp\\Output.xls";
            string pathFileDestination = "C:\\Temp\\Performance Testing.xls";
            Excel.Application excel = new Excel.Application();
            Excel.Workbook wbSource = excel.Workbooks.Open(pathFileSource, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            Excel.Workbook wbDestination = excel.Workbooks.Open(pathFileDestination, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            Excel.Worksheet WorksheetSource = wbSource.Sheets[1];
            //Copy all range in this worksheet
            WorksheetSource.UsedRange.Copy(Missing.Value);
            Excel.Worksheet WorksheetDestination = wbDestination.Sheets[1];
            // Select used Range, paste value only
            WorksheetDestination.UsedRange.PasteSpecial(XlPasteType.xlPasteValues, XlPasteSpecialOperation.xlPasteSpecialOperationAdd, false, false);
            wbSource.Close();
            wbDestination.Save();
            wbDestination.Close();
            //Quit application
            excel.Quit();

虽然我收到警报,说明数据已添加到剪贴板,但目标文件未使用正确的数据进行更新。关于我哪里出错的指示?

如果有人能提供实际的工作代码而不是伪代码,我将非常感激。

1 个答案:

答案 0 :(得分:1)

这是(默认)MS Excel的正常模式,可以一次编辑一个工作表,也可以单独或独立于其他工作表编辑。 但是,如果您通过选择工作表选项卡创建了工作表组,则首先必须取消对工作表进行分组。然后,您可以独立处理每个工作表。 我希望这可能会有所帮助! 您可以通过以下方式制作一组工作表: 按住CTRL键并单击工作表选项卡(单击左键)。

再次按相同的流程取消对工作表进行分组。