استيراد البيانات من Excel في جهاز مباحث أمن الدولة، والقيم الفارغة

StackOverflow https://stackoverflow.com/questions/815493

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام جهاز مباحث أمن الدولة لاستيراد البيانات من ورقة Excel إلى SQL Server 2005 أو البيانات يحتوي على بعض الأعمدة مع البيانات التي يجب أن يكون قيمة الخلية غير فارغة السابقة في نفس العمود، يبدو مثل هذا:

2005 | 15 | Something1
     | 12 | Something2
     | 14 | Something3
2006 | 10 | Something4
     |  2 | Something5
     | 18 | Something6
     | 15 | Something7

ويجب أن تملأ في عامي 2005 و 2006، ولكن كل ما يمكن أن تحصل عليه هو بلا قيم. يمكنني وضع قيمة هذا الحقل في متغير لو انها ليست لاغية، واستخدامها لتحل محل القيم الخالية التي تأتي بعد ذلك؟

هل كانت مفيدة؟

المحلول

وسيكون لديك لاستخدام مكون البرامج النصية في تدفق البيانات وتذهب من خلال كل صف، وذلك باستخدام متغير للاحتفاظ القيمة المعروفة الماضية.

تحديث: هنا هو رمز. فعلت ذلك في VB في مباحث أمن الدولة عام 2008، لذلك قد يكون هناك بعض تحرير ما عليك القيام به (على سبيل المثال، قد تضطر إلى استخدام Dts.Variables [ "العضو :: LastYear"]. Value.ToInt32 () بدلا من Variables.LastYear --I لا أتذكر من على قمة رأسي):

Dim LastYear As Integer

Public Overrides Sub PreExecute()
    MyBase.PreExecute()
    LastYear = 0
End Sub

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    If Row.year_IsNull Then
        Row.year = LastYear
    Else
        LastYear = Row.year
    End If
End Sub

ونأمل أن يساعد هذا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top