c# - 作为 SSIS 脚本任务的一部分,在 C# 中打开、保存然后关闭 xls 文件

标签 c# excel ssis etl script-task

我有一个 SSIS 包,可以从自动生成的 xls 文件中提取数据。 Microsoft Jet Engine 4 驱动程序只会在打开并保存 xls 文档后识别它们,因此我需要添加一个 C# 脚本任务来自动执行此步骤。

我对 C# 一无所知,但尝试了其他人的各种代码摘录,不幸的是,我无法让其中的任何一个正常工作。似乎没有完整的代码摘录可供使用,而且由于我对 C# 的了解为 0,所以我一直遇到大量错误。

using Excel = Microsoft.Office.Interop.Excel;

var ExcelApp = new Excel.Application();
Excel.Workbook workbook = ExcelApp.Workbooks.Open(path);
ExcelApp.Visible = true;
workbook.Save();
workbook.Close();
ExcelApp.Quit();

我使用了上面的代码,但我不认为它是 C# 脚本任务的完整代码集。

编辑

已经提到,如果 xls 文件不是以 xls 结尾的另一种格式,Jet 驱动程序应该可以工作。不幸的是,它不起作用,目前的解决方案是在 c# 中自动打开、保存和关闭,因为我知道它在手动完成时可以工作。

如果有人能对此提供帮助,我们将不胜感激。

最佳答案

您可以使用 https://www.nuget.org/packages/EPPlus/做excel相关的事情

using OfficeOpenXml;

using (ExcelPackage excelPackage = new ExcelPackage(filePath))
{
    ExcelWorkbook excelWorkBook = excelPackage.Workbook;
    ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.First();
    excelWorksheet.Select(excelWorksheet.Cells[1, 1].Address);

     //Save your file
    excelPackage.Save();
}

关于c# - 作为 SSIS 脚本任务的一部分,在 C# 中打开、保存然后关闭 xls 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57003690/

相关文章:

javascript - knockout .js |可观察数组仅在最后一个元素更改时触发

c# - Microsoft 平台就绪测试未通过 .NET 性能计数器的安全测试

c++ - 带有 C++ DLL 的 Excel-VBA 有时会崩溃

xml - XSD 和 SSIS : Error finding globally declared complex type

java - Java SettableFuture 和 ListenableFuture 的 C# 等价物是什么?

c# - Windows 窗体中检查 DrawItemState 等效性的条件表达式的含义是什么?

tsql - 创建从 Microsoft SQL 服务器到 AS/400 的连接

ssis - 在 SSIS 2012 中将 unicode 字符串转换为非 unicode 字符串

javascript - 使用不带选项值的 Excel VBA 设置 javascript 输入值

c# - 如何从 Excel 工作表中获取列名?