gpt4 book ai didi

c# - SSIS(C# 或 VB): delete rows 1-12 in all excel files in directory

转载 作者:行者123 更新时间:2023-12-04 22:32:29 26 4
gpt4 key购买 nike

在从多个 excel 文件导入数据之前,我需要删除每个工作表中的前 12 行。我将使用 the code来自 this solution用于批量处理脚本任务。

问题:

  • 我应该在脚本中插入什么代码来删除行? (我想就在 //Load the DataTable with Sheet Data so we can get the column header 之后);或
  • 如何修改此代码以使其从第 13 行开始读取 excel 文件;或者,或者
  • 我应该在批量删除行的脚本之前插入什么 SSIS 任务?
  • 最佳答案

    这是一种循环工作表的方法:

    创建一个数据流任务以将工作表名称读入 ADO 对象。

    Data flow

    第一项是作为源的脚本组件。
    我有一个用于连接到 Excel 电子表格的字符串的变量

    connstr

    创建了 SheetName 的输出

    Output Setup

    这是读取选项卡名称的代码:
    C#

    您基本上是在使用 oleDB 打开电子表格。
    将表名放入数据表中

    循环遍历数据表并写出要输出的行。

    确保关闭连接!!!如果您不这样做,这可能会在以后导致错误。

    下一步是有条件的拆分,因为由于某种原因,结果有重复的选项卡名称,并且它们都以“_”结尾。

    Conditional Split

    下一步是派生一列以清除 exta "'"的工作表名称

    DerivedCol

    创建对象类型的变量:我命名为 ADO_Sheets

    插入记录集目标对象:
    1.将变量设置为刚刚创建的变量
    2. 映射干净表的列

    现在回到控制流并设置一个 foreach 循环控制:
    enter image description here

    配置foreach...
    枚举器:Foreach ADO 枚举器
    来源:ADO_Sheets
    变量映射:设置为名为 SheetName 的变量

    我在循环中有一个函数任务,但它更易于理解,它可能在变量中:
    SQL

    该变量现在是您从该页面提取数据的选择。

    最后是您要运行的数据流任务。

    很多工作,但我经常使用这个,我想我会分享!!!

    将有关连接字符串的信息添加到 Excel (xlsx)

    Excel 2010
    Xlsx 文件
    使用 Xlsx 文件扩展名连接到 Excel 2007(及更高版本)文件。那是禁用宏的 Office Open XML 格式。

    提供者=Microsoft.ACE.OLEDB.12.0;数据源=c:\myFolder\myExcel2007file.xlsx;
    扩展属性="Excel 12.0 Xml;HDR=YES";

    “HDR=是的;”表示第一行包含列名,而不是数据。 “HDR=否;”表示相反。

    来源:https://www.connectionstrings.com/ace-oledb-12-0/

    关于c# - SSIS(C# 或 VB): delete rows 1-12 in all excel files in directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718525/

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