剪切并粘贴整个Excel列

时间:2011-05-04 02:18:40

标签: c# excel vsto

我正在寻找一些关于如何剪切的示例代码,并在Excel中粘贴整个列。

5 个答案:

答案 0 :(得分:1)

假设您知道如何剪切和粘贴范围,那么只需使用列字母指定范围即可。例如。 Range("A:A")指定整个A列。

答案 1 :(得分:1)

这是sample切割并粘贴一行。将其转换为列应该是微不足道的

答案 2 :(得分:0)

我的第一个问题是 - 您是否必须从Excel文件中读取?是否可能,导出为CSV或其他内容。这可能更容易。

否则,您可以执行以下操作(假设您已经拥有对Excel对象的引用):

xlobj.workbook("workbook1.xls").sheets("Sheet1").Columns("C:C").Cut
xlobj.workbook("workbook1.xls").sheets("Sheet1").Columns("A:A").Paste

答案 3 :(得分:0)

使用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();

你可以用更少的代码行来做同样的事情,但出于演示目的,我已经这样写了。请记住,上面的代码违反了“在引用COM对象时绝不使用2个点”,这可能会导致处理COM对象和离开僵尸Excel进程时出现问题。

答案 4 :(得分:0)

使用'EntireColumn'属性,就是它的用途:

string rangeQuery = "A1:A1";

Range range = workSheet.get_Range(rangeQuery, Type.Missing);

range = range.EntireColumn;