剪切并粘贴整个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;