假设我有一个包含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();
虽然我收到警报,说明数据已添加到剪贴板,但目标文件未使用正确的数据进行更新。关于我哪里出错的指示?
如果有人能提供实际的工作代码而不是伪代码,我将非常感激。
答案 0 :(得分:1)
这是(默认)MS Excel的正常模式,可以一次编辑一个工作表,也可以单独或独立于其他工作表编辑。 但是,如果您通过选择工作表选项卡创建了工作表组,则首先必须取消对工作表进行分组。然后,您可以独立处理每个工作表。 我希望这可能会有所帮助! 您可以通过以下方式制作一组工作表: 按住CTRL键并单击工作表选项卡(单击左键)。
再次按相同的流程取消对工作表进行分组。