在 SSIS 中编写 C# 脚本以操作 Excel 工作表



我正在尝试在SSIS中创建一个脚本C#,以便在Excel上的工作表中创建一个新列。

我需要知道 excel 中单元格的缩进级别,为此我必须使用此值创建一个新列。

我正在尝试这样做(c#脚本(:

Range values = sheet.get_Range("A13");
values.Value = sheet.Range["B13"].IndentLevel();

在 VBA 中 像这样工作(在 excell 内部的 VBA 中脚本(:

Range("A16").Value = Range("B16").IndentLevel

在 C# 中,我该怎么做? 我正在尝试一切,但不起作用。

完整脚本:

xlApp = new _Excel.Application();
xlApp.Visible = true;
oWB = (_Excel.Workbook)xlApp.Workbooks.Open(destFile);
_Excel.Worksheet sheet = (_Excel.Worksheet)xlApp.Worksheets[1];
sheet.Columns["B:N"].Delete();

Range values = sheet.get_Range("A13");
values.Value = sheet.Range["B13"].IndentLevel();

去掉括号似乎可以正确地完成任务。

string destFile = @"E:StackOverflowSample.xlsx";
var xlApp = new Microsoft.Office.Interop.Excel.Application();
xlApp.Visible = true;
var oWB = (Microsoft.Office.Interop.Excel.Workbook)xlApp.Workbooks.Open(destFile);
Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)xlApp.Worksheets[1];
sheet.Range["A16"].Value = sheet.Range["B16"].IndentLevel;

单元格 A16 中的值设置为 B16 的缩进级别。

唯一的其他注意事项是确保文件未在其他地方打开,否则代码将打开只读副本。

最新更新