剪切并粘贴整个Excel列
我正在寻找一些关于如何在Excel中剪切和粘贴整个列的示例代码。
假设你知道如何剪切和粘贴一个范围,那么只需使用列字母来指定范围。 例如。 Range("A:A")
指定整个列A.
这里有一个示例 ,剪切和粘贴一行。 将其转换为列应该是微不足道的
我的第一个问题是 – 你必须从Excel文件中读取? 有可能,出口到CSV或其他东西。 这可能会更容易。
否则,你可以做这样的事情(假设你已经有了Excel对象的引用):
xlobj.workbook("workbook1.xls").sheets("Sheet1").Columns("C:C").Cut xlobj.workbook("workbook1.xls").sheets("Sheet1").Columns("A:A").Paste
使用Microsoft Excel 12.0对象库(Microsoft.Office.Interop.Excel)
Application app = new Application(); Workbook wb = app.Workbooks.Open("test.xlsx"); Worksheet ws = wb.Sheets["MyTestSheet"]; Range rngSource = ws.UsedRange.Columns["A"]; Range rngTarget = ws.UsedRange.Columns["D"]; rngTarget.Value = rngSource.Value; rngSource.Value = null; wb.Save(); app.Application.Quit();
你可以用更less的代码来做同样的事情,但是为了演示的目的,我已经这样写了。 请记住,上面的代码违反了“引用COM对象时从不使用2个点”,这可能会导致处理COM对象和离开僵尸Excel进程的麻烦。
使用“EntireColumn”属性,就是这样的:
string rangeQuery = "A1:A1"; Range range = workSheet.get_Range(rangeQuery, Type.Missing); range = range.EntireColumn;