c# - 作为 SSIS 脚本任务的一部分,在 C# 中打开、保存然后关闭 xls 文件
问题描述
我有一个从自动生成的 xls 文件中提取数据的 SSIS 包。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();
}