我一直在寻找解决这个问题的时间,但我找不到答案。
我有一个excel表,我有另一张表,其中包含该表的部分副本。
现在我想要的是当我在我的第一张桌子中添加一行时(请注意,这下面还有一个文字,但我可以在那里放一个标记或类似的标记它应该在那里结束),那是我的另一个table也会添加相同数量的行(另请注意我的第二个表格下面有文字)。
我不知道如何做到这一点,最好的方法是什么?
我甚至不确定我的要求是否有意义。
让我再说一遍:
表1:
表2:
如果我在工作表1中添加行,我希望它们也可以添加到工作表2中。
这可能吗?
非常感谢你们
答案 0 :(得分:0)
可能的解决方案是在C#中,实际上您在一张工作表中插入数据后,将相同的表格内容或该工作表的副本复制到目标工作表中。或者通过copytoclipboard,您可以获取任何表并将其复制到desintation。您在寻找哪种解决方案? C#,VBA?
sheet.UsedRange.Copy(Missing.Value);
sheet.Range(cellmapp).PasteSpecial();
其中cellmapp是您要替换它的范围。如果你对该区域的文本是巨大的,你可以使用sheet.Columns.AutoFit(); sheet.Rows.AutoFit();这将是一个C#解决方案,但需要更多的编程。
循环播放:
foreach (Excel.Worksheet sheet in workbook.Sheets)
{
workbook.Activate(); sheet.Activate(); foreach (Excel.Shape shape in sheet.Shapes)
{ }
}
对于行,修改或切换位置,如果您创建新行,则可以简单地将所有现有行值从一个位置移动到右侧。
sheet.UsedRange.Copy(Missing.Value); //copy your existing row's
sheet.Range(cellmapp).PasteSpecial(); // move them from B4 to C4