我正在尝试在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 的缩进级别。
唯一的其他注意事项是确保文件未在其他地方打开,否则代码将打开只读副本。