gpt4 book ai didi

c# - 无法设置事件的 Excel 工作表 C#

转载 作者:行者123 更新时间:2023-11-30 16:56:17 25 4
gpt4 key购买 nike

我正在运行一些 C# 代码作为在我的 SSIS 包中运行的脚本组件的一部分。在我的 SSIS 包的下一步导入文件之前,我试图打开一个 Excel 文件并更改工作表的名称。我在尝试初始化“oSheet”的行中遇到错误。

错误指定:“错误 1 ​​无法找到编译动态表达式所需的一种或多种类型。是否缺少引用?C:\Temp\Vsta\SSIS_ST110\VstaTP9LtckEMUWOXYp4Zy3YpQ\Vstau3xOw__Ey1kaOxXFoq0ff8g\ScriptMain.cs 107 26 ST_005c649f34584ed68863a72a72f7"

我有一段时间没有使用 C#,希望有人能给我指出正确的方向。提前致谢!

代码:

        public void Main()
{
String s = (String)Dts.Variables["FilePath"].Value;
String FileName = s.Substring(45,s.Length - 45); //45 = hardcoded value for known index of the start of the file name
MessageBox.Show(FileName);
Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
Excel.Range oRng;

try
{
oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = false;
oWB = (Excel.Workbook)oXL.Workbooks.Open(s);
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
//oSheet = (Excel._Worksheet)oXL.ActiveSheet;
//oSheet = (Excel._Worksheet)oWB.Worksheets.Item(0);
//oSheet = (Excel._Worksheet)oXL.Worksheets[FileName];
oSheet.Name = "NLTWNH";
oWB.Close(s);

}
catch (Exception ex)
{
//do nothing
}

Dts.TaskResult = (int)ScriptResults.Success;
}

最佳答案

首先,添加对 Microsoft Excel Interop DLL 的引用。您可以通过右键单击解决方案资源管理器中的引用文件夹来执行此操作。然后单击“添加引用”。

AddingReference

单击“添加引用”窗口中的 COM 选项卡,向下滚动到您的 Excel 对象库版本(我选择了 15,但您可以选择其他版本)。然后单击“确定”。 SelectingObjLib

现在,看起来您的 using 语句应该执行如下操作:

using Excel = Microsoft.Office.Interop.Excel;

另外,请注意您的 oXL 构造函数现在可以是

oXL = new Excel.Application();

关于c# - 无法设置事件的 Excel 工作表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com