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

نام تاپیک: کار با اکسل در سی شارپ

  1. #1
    کاربر تازه وارد آواتار HDDSoft2001
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یه جای خوب
    پست
    98

    Question کار با اکسل در سی شارپ

    با سلام

    دوستان من یه پروژه میخام بنویسم که توی اون قرار اطلاعات رو بافرمت خاصی از اکسل بخونم و در با فرمت خاصی در فایل ورود بنویسم. دوستان من تا حالا تجربه چنین کاری نداشتم اگه میشه کمکم کنید. در ضمن اگه کامپونت خاصی داره لطف کنید برام ادرشو بگید. خیلی ممنونم.



    با تشکر

  2. #2
    کاربر تازه وارد آواتار daniel_0247
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    Kuala Lumpur
    پست
    91

    نقل قول: کار با اکسل در سی شارپ

    سلام !
    خوب اگر شما تاپیک های قبلی رو یه نگاهی بیندازی ، مطالبی رو پیدا می کنی . در هر صورت
    می تونی از لینک زیر که مطلب کاملی است استفاده کنی .

    Exporting Data To Csv And Excel

    ____________________
    My Blog

  3. #3
    کاربر تازه وارد آواتار HDDSoft2001
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یه جای خوب
    پست
    98

    نقل قول: کار با اکسل در سی شارپ

    با سلام


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


    ببینید دوستان من یک برنامه می خوام بنویسم که یک فایل اکسل رو کاربر انتخاب کنه و خود کاربر بره و ادرس ستونی که قراره اعدادش با هم جمع زده بشه رو وارد کنه (ادرس ستون و ادرس سطر اول و سطر آخر).
    راستش من کمی کیج شدم چون خود دات نت کلاس برای این کار فکر کنم داشته باشه ولی بعضی از دوستان با اکتیو ایکس فکر کنم کار کردن و دیگه اینگه از oledb (با کامندهاش) البته فکر کنم این هم یه راه باشه.
    حالا بی خیال. دوستان اگه کسی هست فقط همین یک قسمت رو قشنگ برام توضیح بده منظورم با کده من خودم تا اخرش رو دنبال میکنم فط یکی یه قسمتشو بگه بقیش با من.
    سعی کنید که از خود کلاس های دات نت هم استفاده شود ترجیحا.

    راستی یه چیز دیگه اینکه وقتی توی فایل اکسل سلول ها با هم مرج میشن فرقی میکنه تو کد نویسی یا نه و مورد دیگر ایا نوع سلول ها هم فرقی به حال خواندن داده ها می کند مثلا استرینگ هست یا عددی و یا ... .

    در ضمن در مورد ورژن هم یه توضیحی بدهید.
    و در آخر هم من میخام با دات نت 2 بنویسم. (به گمانم توضیحات تکمیلی دادم )
    با تشکر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: کار با اکسل در سی شارپ

    اگر از oledb استفاده کنید، خودش می فهمه که ستون مورد نظر شما از چه نوع داده‌ای هست( اگر توی اکسل از نوع general انتخاب نکرده باشند)
    اما مشکل oledb این هست که دیگه نمی تونی شماره ستون بهش بدین، بلکه ستون های شما در سطر اول باید نام فیلد داشته باشند، و شما نام فیلدها رو مشخص کنین. همچنین نام جدول شما در واقع همون نام برگه هست. مثلا Sheet1.
    برای اینکه کاربر شما نام فیلد رو مشخص کنه، شما می تونین ساختار فایل رو با یک دستور select که رکوردی بر نمی گردونه(‌مثلا در قسمت شرط بگزارید 1<>1) دربیارید و براساس اون نام ستون ها رو در یک کومبو یا چک لیست یا هرچیز دیگری نشون بدین و کاربر ستون مورد نظر خودش رو انتخاب کنه.
    بقیهش هم که مثل کار با باقی پایگاه داده هاست.

    این هم یه متد برای خوندن از فایل اکسل:

    public static DataTable getData(string Path, string SheetName)
    {
    string strconstring =
    string.Format(
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;",
    Path);

    System.Data.OleDb.OleDbDataAdapter da =
    new System.Data.OleDb.OleDbDataAdapter(
    string.Format("select * from [{0}$] ", SheetName)
    , strconstring);
    DataTable dt = new DataTable();
    try
    {
    da.Fill(dt);
    }
    catch (Exception ex)
    {
    if (da.SelectCommand.Connection.State != ConnectionState.Closed)
    da.SelectCommand.Connection.Close();

    MessageBox.Show(ex.Message + Environment.NewLine + "tableName= " + SheetName);
    }

    return dt;
    }

  5. #5
    کاربر تازه وارد آواتار HDDSoft2001
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یه جای خوب
    پست
    98

    نقل قول: کار با اکسل در سی شارپ

    با سلام


    خیلی ممنون از توجهون. در ضمن من گفتم خواندن یک ادرس رو میخام نه فقط باز کردن یک فایل ان هم با oledb. البته من نمیخام خدای ناکرده کار شما رو بی ارزش جلوه بدم! اصلا. چون راستش من خودم تو سرچ هام این کدها رو دیدم تقریبا. ولی دوست داشتم از ابجکتهای خود دات نت استفاده کنم چون oledb باید باز برم کدهای اسکریپشو در بیارم و ... .

    خلاصه من بازم منتظر جواب های شما هستم. (دوباره از دوست عزیزم بابت جوابشون خیلی ممنونم.)

    در ضمن من خودم دارم یه ازمون هایی میکنم که مرتبا به خطای زیر بر می خورم این خطای چیه؟

    Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

    دستورات زیر این خطا رو داد هنوز هم هیچ کاری نکردم. (خط آخری خا میده)

    of.Application app = new Microsoft.Office.Interop.Excel.Application();

    app.Visible = true;

    app.Workbooks.Add(Type.Missing);


  6. #6
    کاربر تازه وارد آواتار HDDSoft2001
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یه جای خوب
    پست
    98

    نقل قول: کار با اکسل در سی شارپ

    با سلام

    فکر کنم من یه 10 تا پست دیگه بزنم یکی یک نظری نمیده. بیشتر از اینها انتظار داشتم.

    بابا مشکل من اینکه که نمیدونم چرا خطای زیر رو میده هنگام اجرای دستور زیر.

    خطا :

    Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))


    کد باعث خطای بالا :

    app = new Microsoft.Office.Interop.Excel.Application();
    app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);


    بابا یکی بیاد دیگه!


    با تشکر

  7. #7
    کاربر دائمی آواتار pars.engineer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    187

    نقل قول: کار با اکسل در سی شارپ

    سلام
    در Control Panel و در تنظیمات Regional And Languages زبان مورد نظر را En-US قرار دهید


    موفق باشید

  8. #8

    نقل قول: کار با اکسل در سی شارپ

    سلام
    یه سری به این ادرس بزن
    http://support.microsoft.com/kb/302084#top

    به این مطلب هم که داخل این صفحه اومده توجه کن شاید مشکلت این باشه.


    Note Microsoft Office 2003 includes Primary Interop Assemblies (PIAs). Microsoft Office XP does not include PIAs,


    but they can be downloaded. For more information about Office XP PIAs, click the following article number to

    view the article in the Microsoft Knowledge Base


    328912 Microsoft Office XP primary interop assemblies (PIAs) are available for download

    موفق باشی

  9. #9
    کاربر جدید
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    روبروی سیستم
    پست
    6

    نقل قول: کار با اکسل در سی شارپ

    این چند خط و قبل کدهات اضافه کن مشکل حل میشه
    System.Globalization.CultureInfo oldci = System.Threading.Thread.CurrentThread.CurrentCultu re;
    System.Threading.Thread.CurrentThread.CurrentCultu re = new System.Globalization.CultureInfo("en-us");


  10. #10

    نقل قول: کار با اکسل در سی شارپ

    usingMicrosoft.Office.Interop.Excel;




    this.openFileDialog1.FileName = "*.xls";
    if(this.openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(
    openFileDialog1.FileName, 0, true, 5,
    "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
    0, true);
    Excel.Sheets sheets = theWorkbook.Worksheets;
    Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
    for(inti = 1; i <= 10; i++)
    {
    Excel.Range range = worksheet.get_Range("A"+i.ToString(), "J"+ i.ToString());
    System.Array myvalues = (System.Array)range.Cells.Value;
    string[] strArray = ConvertToStringArray(myvalues);
    }
    }

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

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