نمایش نتایج 1 تا 11 از 11

نام تاپیک: مشکل در ورود اطلاعات از فایل Excel

  1. #1
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    36
    پست
    740

    Tick مشکل در ورود اطلاعات از فایل Excel

    سلام.
    من یه فایل Excel دارم. چه وقتی با کد زیر می خونمش و توی DataGridView نمایش می دم و چه وقتی که با Sql Server اونرو Import می کنم و توی جدول یه دیتابیس می ریزم بعضی از Cell ها مقدارش Null می شه، این مشکل برای ستونهایی پیش میاد که دو نوع مقدار integer و string توی اونها ذخیره شده. من حتی فایل رو توی Microsoft Excel هم باز کردم و فرمت همه Cell ها رو Text کردم، اما بازهم خیلی از Cell ها بعد از خونده شدن مقدارشون Null می شه!!!!!!!!!!!


    Dim Conn AsNew OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Packing_List.xls; Extended Properties=""Excel 8.0""")
    Dim DS AsNew DataSet
    Dim Result AsNew DataTable("Result")
    DS.Tables.Add(
    "Result")
    Dim CMD AsString = "Select * From [Sheet1$]"
    Dim OLEDBDA AsNew OleDbDataAdapter(CMD, Conn)
    OLEDBDA.Fill(DS,
    "Result")
    Me.DataGridView1.DataSource = DS
    Me.DataGridView1.DataMember = "Result"
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip XLS.zip‏ (6.5 کیلوبایت, 402 دیدار)


  2. #2
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    36
    پست
    740

    Microsoft.Office.Interop.Excel

    سلام، با عرض تشکر از اینکه کسی جواب سوال اول من رو نداد، سوال دوم رو می پرسم.

    کسی با Microsoft.Office.Interop.Excel کار کرده، یعنی از این طریق یک فایل Excel رو بخونه و به WorkSheet اون دسترسی پیدا کنه؟؟؟؟

    من مشکل بالا رو فهمیدم، توی سایت Microsoft توی یکی از Forum ها نوشته بود که چون DataType رو از اولین سطر فایل Excel میفهمه، اگر توی اون ستون که اولین سطرش یه String اه، مقدار Integer داشتین، باید با استفاده از کد زیر به اول همه اون سلول ها مثلا یک آپستروف اضافه کنید تا اونا هم String بشن و خونده بشن :


    Public Sub AddApostrophe(rngCol As Excel.Range)
    Dim rngCell As Excel.Range, varCellValue As Variant
    Set rngCol = rngCol.Columns(1)
    For Each rngCell In rngCol.Cells
    If Not IsEmpty(rngCell) Then
    If IsNumeric(rngCell) Then
    varCellValue = rngCell.Value
    varCellValue = "'" & varCellValue
    rngCell = varCellValue
    End If
    End If
    Next rngCell
    End Sub


    اما من نمی دونستم اطلاعات فایلم رو چجوری باید بریزم توی Range . یعنی چجوری فایل Excel رو به اینها منعقد - Bind کنم. کد زیر رو هم پیدا کردم و اجرا کردم :



    PrivateFunction GetSheetNames(ByVal path AsString) As System.Windows.Forms.ListBox
    Dim lst AsNew System.Windows.Forms.ListBox
    'Note: this will not work for Excel 2007 (.xlsx) workbooks.
    If IO.File.Exists(path) AndAlso IO.Path.GetExtension(path) = ".xls"Then
    Dim app AsNew Excel.Application
    Dim WB As Excel.Workbook
    Try
    WB = app.Workbooks.Open(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)
    If WB IsNotNothingThen
    ForEach ws As Excel.Worksheet In WB.Sheets
    lst.Items.Add(ws.Name)
    Next
    WB.Close()
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(WB)
    WB = Nothing
    EndIf
    Catch ex As Exception
    MsgBox(ex.Message)
    Finally
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(app)
    app = Nothing
    EndTry
    EndIf
    Return lst
    EndFunction


    اما بعد از اجرای این کد این Error رو میده :

    عکس های ضمیمه عکس های ضمیمه

  3. #3
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    36
    پست
    740
    چرا هیچ کس جواب سوال من رو نمی ده؟؟؟؟
    خیلی هم سخت نباید باشه.

  4. #4
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    36
    پست
    740

    با تشکر

    سلام.
    و من باز هم تشکر می کنم از اینکه هیچ کس جواب سوال من رو نداد و لااقل کسی یه پست هم نزد که دلم خوش باشه.
    بالاخره راه حل مشکل رو پیدا کردم :

    اگر به این Error برخوردید :

    Retrieving the COM class factory for component with CLSID {00020819-0000-0000-C000-000000000046} failed due to the following error: 80040154.

    راه حل مشکل اینجاست :

    http://blog.crowe.co.nz/archive/2006/03/02/589.aspx

    و اگر به این Error برخوردید :

    Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
    راه حل مشکل اینجاست :

    http://forums.microsoft.com/MSDN/Sho...84846&SiteID=1


    ---------------------------------------------------------------------------------------------------
    This is actually a bug in Excel. It occurs when you are automating excel and you are using an english version of excel but have your locale set to another language.
    You should set the current culture of the thread to "en-US" before calling the method, and set it back afterwards
    System.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCultu re;
    System.Threading.Thread.CurrentThread.CurrentCultu re = new System.Globalization.CultureInfo("en-US");
    //call Excel method here
    System.Threading.Thread.CurrentThread.CurrentCultu re = CurrentCI;
    I had this issue when using the following Excel methods/properties:
    • calling Workbook.IsAddin
    • Enabling / Disabling a menu item (CommandBarButton.Enabled)
    • calling Workbook.Name (on ActiveWorkbook)
    • calling Workbook.FullName (on ActiveWorkbook)


  5. #5

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    خيلي ماهي
    من دو روز تمام به اندازه 18 ساعت
    اين مشكل را داشتم و اكسل نصب مي كردم و فكر كردم اشكال از dll interop است
    خيلي متشكرم كه شما آن را برطرف كردييد

  6. #6
    کاربر دائمی آواتار mom alone
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    ایران
    سن
    37
    پست
    196

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    ممنون عزیزم
    الهی فدات بشم من

  7. #7

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    دمت گرم خیلی مردی واقعا اگر این پست رو دیده بودم لاقل بهت دلداری میدادم
    برای اینکه جمله دوستمون رو کامل کنم
    هم ماهی هم خوشگلی

  8. #8
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    36
    پست
    740

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    آقایون ممنون از پست هاتون ، مخلص همه شما هم هستیم.

  9. #9
    کاربر دائمی آواتار shirin_sh1024
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    پست
    136

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    راه حل مشکل اینجاست :

    http://forums.microsoft.com/MSDN/Sho...84846&SiteID=1
    اررور 404 میده

  10. #10
    کاربر دائمی آواتار corona
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    مشهد
    پست
    188

    نقل قول: با تشکر

    دوست عزیز صفحاتی که لینک دادی وجود ندارن، من مشکل اول رو دارم، خواهشاً اگه لطف کنی راه حلش رو بگی خیلی خیلی ممنون میشم.

  11. #11

    نقل قول: مشکل در ورود اطلاعات از فایل Excel

    سلام دوستان من یک سئوالی دارم اگر میشه راهنماییم کنین که چگونه میتونم کدی بنویسم که از داخل خود برنامه Vb.net یا C#‎ پایگاه داده خودم رو در sql Server با یک فایل Excel جدا Update کنم خیلی ممنون میشم .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •