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

نام تاپیک: جستجو در یک فایل اکسل

  1. #1
    کاربر دائمی آواتار mahdi68
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تبریز
    پست
    878

    جستجو در یک فایل اکسل

    سلام
    چطوری میتونم با سی شارپ در یک فایل اکسل یک کلمه جستجو کنم و وقتی اون کلمه در یک سطر پیدا کرد کل اون سطر به عنوان رشته برگردونه ؟

  2. #2
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط mahdi68 مشاهده تاپیک
    سلام
    چطوری میتونم با سی شارپ در یک فایل اکسل یک کلمه جستجو کنم و وقتی اون کلمه در یک سطر پیدا کرد کل اون سطر به عنوان رشته برگردونه ؟
    می‌تونی فایل اکسل رو باز کنی و سطر به سطر بخونی یا اینکه می‌تونی تبدیلش کنی به DataTable و روی اون کار کنی.

  3. #3
    کاربر دائمی آواتار mahdi68
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تبریز
    پست
    878

    نقل قول: جستجو در یک فایل اکسل

    می‌تونی فایل اکسل رو باز کنی و سطر به سطر بخونی
    خوب برای انجام این چیکار باید بکنم ؟

  4. #4

    نقل قول: جستجو در یک فایل اکسل

    تا ریختن اطلاعات توی دیتا گرید ویو رو نوشتم فقط کافیه دستور اس کیول رو تغییر بدی (به جای SheetName اسم جدول مورد نظر رو بذار، اون تکست باکس هم تشریفاتی بود)
    از کمبو باکس هم باید نوع فایل ورودی رو انتخاب کنی.
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله سوداگر : پنج شنبه 31 فروردین 1391 در 14:55 عصر دلیل: ضمیمه اصلاح شد

  5. #5
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    من کدی که دوستمون نوشتن رو ندیدم و نمی‌دونم از چه روشی استفاده کردن. ولی چون گفتن دستور sql حدس می‌زنم فایل اکسل رو با یه کانکشن OLE DB باز کردن.
    به جز روش بالا می‌تونی کتابخانه Microsoft.Interop.Excel رو به پروژه‌ات اضافه کنی و فایل اکسل را با اون باز کنی. با این کتابخانه می‌تونی خروجی اکسل هم داشته باشی.

  6. #6
    کاربر دائمی آواتار masoud_z_65
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    Tehran-SHiraz
    سن
    38
    پست
    294

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط Alghoochi مشاهده تاپیک
    من کدی که دوستمون نوشتن رو ندیدم و نمی‌دونم از چه روشی استفاده کردن. ولی چون گفتن دستور sql حدس می‌زنم فایل اکسل رو با یه کانکشن OLE DB باز کردن.
    به جز روش بالا می‌تونی کتابخانه Microsoft.Interop.Excel رو به پروژه‌ات اضافه کنی و فایل اکسل را با اون باز کنی. با این کتابخانه می‌تونی خروجی اکسل هم داشته باشی.
    دوست عزیز من با روش OLEDB رو بلدم اما این کتابخونه رو باهاش آشنایی ندارم
    میشه روش استفاده ازش رو توضیح بدی؟
    قطعه کداش رو بگو....چطور فایل اکسل رو میخونه؟

    در ضمن کسی از دوستان میتونه به صورت تخصصی توضیح بده کدوم روش بهتره؟
    سرعت کدوم بهتره و کلا یه مقایسه انجام بده

  7. #7

    نقل قول: جستجو در یک فایل اکسل

    اون فضای نامی که دوستمون فرمودند Microsoft.Office.Interop.Excel هستش که راه حل مناسبی برای این کار هست ولی به این 3 دلیلی که در سایت مایکروسافت دیدم (جواب مدیر بخش بود)، روش OleDb بهینه تر هست:


    1. In order to use the "Interop" the Excel application must be present. Excel should not be run server-side, so using Interop is usually not a good approach for asp.net solutions

    2. Interop will usually be slower than other methods for working with a spreadsheet's data (as opposed to the tools provided by the UI).

    3. Most controls (such as gridview) are designed to accept a standardized data source, such as OLE DB (ADO.NET) delivers. The interop doesn't provide data in that manner, so there'd be a lot more "manual labor" involved to extract that data via the Interop.
    موفق باشید

  8. #8
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط Dezfoul مشاهده تاپیک
    اون فضای نامی که دوستمون فرمودند Microsoft.Office.Interop.Excel هستش که راه حل مناسبی برای این کار هست ولی به این 3 دلیلی که در سایت مایکروسافت دیدم (جواب مدیر بخش بود)، روش OleDb بهینه تر هست:



    موفق باشید
    این فضا و کلاسهای اون برنامه اکسل رو باز می‌کنه و هر کاری که خواستی می‌تونی با فایل انجام بدی. درصورتی که هدفت فقط خوندن اطلاعات هست استفاده از OLEDB بهتره ولی اگه می‌خوای یه خروجی اکسل داشته باشی بهتره از این کلاس استفاده کنی.
    براساس متنی که دوستمون گذاشتن:‌OLEDB سریع‌تره و چون خروجی استانداردی داره واسه استفاده تو Gridview مناسب‌تره. به علاوه اینکه چون اون کتابخانه از خود برنامه استفاده می‌کنه استفاده از OLEDB تو برنامه‌های سمت سرور مناسب تره.

  9. #9
    کاربر دائمی آواتار masoud_z_65
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    Tehran-SHiraz
    سن
    38
    پست
    294

    نقل قول: جستجو در یک فایل اکسل

    کاملا به جوابم رسیدم ممنون

    حالا اگه یه قطعه کد و مثال از اون روش کتابخونه رو هم بگید خیلی بیشتر ممنون میشم

  10. #10
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط masoud_z_65 مشاهده تاپیک
    کاملا به جوابم رسیدم ممنون

    حالا اگه یه قطعه کد و مثال از اون روش کتابخونه رو هم بگید خیلی بیشتر ممنون میشم

    DataTable people = (DataTable)Session["people"];

    // Create excel file.
    ExcelFile ef = new ExcelFile();
    ExcelWorksheet ws = ef.Worksheets.Add("DataSheet");
    ws.InsertDataTable(people, "A1", true);

    Response.Clear();

    // Stream file to browser, in required type.
    switch (this.RadioButtonList1.SelectedValue)
    {
    case "XLS":
    Response.ContentType = "application/vnd.ms-excel";
    Response.AddHeader("Content-Disposition", "attachment; filename="
    + "Report.xls");
    ef.SaveXls(Response.OutputStream);
    break;

    case "XLSX":
    Response.ContentType = "application/vnd.openxmlformats";
    Response.AddHeader("Content-Disposition", "attachment; filename="
    + "Report.xlsx");
    // With XLSX it is a bit more complicated as MS Packaging API
    // can't write directly to Response.OutputStream.
    // Therefore we use temporary MemoryStream.
    MemoryStream ms = new MemoryStream();
    ef.SaveXlsx(ms);
    ms.WriteTo(Response.OutputStream);
    break;
    }

    Response.End();


    کد رو هم از اینجا کپی کردم.
    Using Microsoft.Office.Interop.Excel

  11. #11
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    تو این لینکم یه مثال داره.
    http://www.dotnetperls.com/excel

  12. #12
    کاربر دائمی آواتار mahdi68
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تبریز
    پست
    878

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط Dezfoul مشاهده تاپیک
    تا ریختن اطلاعات توی دیتا تیبلش رو نوشتم فقط کافیه دستور اس کیول رو تغییر بدی (به جای SheetName اسم جدول مورد نظر رو بذار، اون تکست باکس هم تشریفاتی بود)
    از کمبو باکس هم باید نوع فایل ورودی رو انتخاب کنی.
    موفق باشید
    سلام
    من وقتی کد شما اجرا میکنم واسه این بخش خطا میده :
    excelConnection.Open();

  13. #13

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط mahdi68 مشاهده تاپیک
    سلام
    من وقتی کد شما اجرا میکنم واسه این بخش خطا میده :
    excelConnection.Open();
    من تست کرده بودم. تنها اروری که میتونست داشته باشه درست وارد نکردن نام جدول بود.

    آها... xlsx رو مثل اینکه باز نمیکنه!
    اون رو با عجله نوشتم. اگه شد کاملش میکنم.
    موفق باشید

  14. #14
    کاربر دائمی آواتار mahdi68
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تبریز
    پست
    878

    نقل قول: جستجو در یک فایل اکسل

    فایل اکسل با فرمت 2003 ذخیره کردم و اون مشکل حل شد اما این بار برای این بخش خطا میده :
    dataAdapter.Fill(dt);
    این هم متن خطا هست :
    The Microsoft Jet database engine could not find the object 'SheetName'. Make sure the object exists and that you spell its name and the path name correctly.
    لازم هست که به غیر از ویژوال استدیو برنامه دیگه ای نصب کنم ؟

  15. #15

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط mahdi68 مشاهده تاپیک
    فایل اکسل با فرمت 2003 ذخیره کردم و اون مشکل حل شد اما این بار برای این بخش خطا میده :
    dataAdapter.Fill(dt);
    این هم متن خطا هست :
    لازم هست که به غیر از ویژوال استدیو برنامه دیگه ای نصب کنم ؟
    غیر از آفیس 2007 چیز دیگه ای نمیخواد، من نمیدونم ایراد کار کجاست، منم وقتی اسم جدول رو می زنم ارور میده. حتی نمونه کدهایی هم از اینجا، اینجا و اینجا دیدم نفهمیدم اشکال کجاست

  16. #16
    کاربر دائمی آواتار mahdi68
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تبریز
    پست
    878

    نقل قول: جستجو در یک فایل اکسل

    سلام من اشکال پیدا کردم ایراد از این قسمت بوذ که صحیحش این هست
    string strSQL = "SELECT * FROM [sheet1$]";
    الان هیج خطایی نمیده حالا چجوری میتونم بفهمم که درست عمل کزده ؟ یعنی این اطلاعات که ذخیره شده ببینم ؟
    متشکرم

  17. #17

    نقل قول: جستجو در یک فایل اکسل

    من علامت $ رو گذاشته بودم ولی بازم ارور میداد اما مشکل از کروشه ها بود.
    یعنی این اطلاعات که ذخیره شده ببینم ؟
    کافیه یه دیتا گرید ویو به پروژه اضافه کنی و کد زیر:
    dataGridView1.DataSource = dt;


    ضمیمه بالا هم اصلاح شد
    موفق باشید
    آخرین ویرایش به وسیله سوداگر : جمعه 01 اردیبهشت 1391 در 22:29 عصر

  18. #18
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط mahdi68 مشاهده تاپیک
    سلام من اشکال پیدا کردم ایراد از این قسمت بوذ که صحیحش این هست
    string strSQL = "SELECT * FROM [sheet1$]";
    الان هیج خطایی نمیده حالا چجوری میتونم بفهمم که درست عمل کزده ؟ یعنی این اطلاعات که ذخیره شده ببینم ؟
    متشکرم
    strSql رو از نوع DataTable در نظر بگیرید.

  19. #19
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط Dezfoul مشاهده تاپیک
    که چی بشه؟!!!!
    شما اصلا کد رو دانلود کردید؟!
    خیر من کد رو ندیدم. ولی خروجی این کد SQL قطعا یک مقدار رشته‌ای نیست.

  20. #20

    نقل قول: جستجو در یک فایل اکسل

    نقل قول نوشته شده توسط Alghoochi مشاهده تاپیک
    خیر من کد رو ندیدم.
    واقعا خسته نباشید

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

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