سؤال

أحتاج إلى صياغة مصنف ورقة Excel (إضافة أوراق / إضافة بيانات / إخفاء الأعمدة / حماية الخلايا بكلمة مرور / تغيير الحقول المحتويات / إلخ إلخ)

هل يجب علي استخدام كائنات COM المقدمة من Microsoft (ولكن بعد ذلك أعتقد أن لديهم بعض المشكلات المستخدمة في ASP.NET)

أو هل هناك مكتبة جيدة (علاجات أو مجانية) جيدة لاستخدامها في القيام بهذا النوع من النشاط.

الرجاء المساعدة

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

المحلول

حاول انتشار ورقة والعتاد مكون الطرف الثالث

http://www.spreadsheetgear.com/

نصائح أخرى

أسهل طريقة وجدت هي استخدام تنسيق Excel XML. وبعد بهذه الطريقة يمكنك تحرير ورقة Excel مثل أي ملف XML آخر. لمعرفة كيف يخفي Excel أعمدة أو يحميها بكلمة مرور، قم بهذه الأشياء يدويا ونرى كيف يحفظها Excel ك XML. هذا نسيم لإزداف، إنه صخرة مستقرة، وهو سريع.

يعد معالجة ملفات Excel الأصلية أصعب: يمكنك استخدام كائنات COM مع جمعيات الترابط التابع الأساسي. وبعد في تجربتي، من الصعب جدا الحصول على صواب. في أفضل الأحوال، يترك Excel نسخا قديمة في حد ذاته، والذي يمكنك التخفيف من إعادة تعيين خادم ليلي مجدول. في أسوأ الحالات، ستعلق Excel بشكل عشوائي، مما يجعل موقع الويب الخاص بك لا يستجيب.

طريقة أخرى للعمل مع ملفات Excel الأصلية أدوات مرئية استوديو للمكتب. وبعد من المؤكد أنه أسهل في الاستخدام من COM Interop، ويعمل بشكل أفضل من Visual Basic:

Application.Workbooks.Open("Workbook.xls")

C # يفتقر إلى المعلمات الاختيارية، وفتح مصنف يصبح شيئا من مزحة سيئة:

Application.Workbooks.Open(@"Workbook.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);

لم أحمل بعيدا جدا عن vsto لأن التلاعب XML عملت جيدا بالنسبة لي. ربما يمكن للأشخاص الآخرين التعليق على كيفية استخدامها في موقع ASP.NET.

مع streationsheetgear. لديك إمكانية الوصول الكامل إلى Excel Doc وجميع القدرة الكلية بما في ذلك القدرة على حماية وخلايا الأمم المتحدة أو الأعمدة، وما إلى ذلك. لدينا نفس الشيء الذي تصفه إلا في WinForms.

لقد استخدمنا كائنات COM ولا أستطيع أن أوصي به. في مشكلة كبيرة هو أن الكائنات لا تحصل عليها أبدا ...

نستخدم الآن المكون من برنامج Gembox. لقد استخدمته لمدة عامين ويعمل على ما يرام، إنه أرخص بعض الشيء أن الشخص الذي تم تكوينه أعلاه، الذي لم أكن أعرفه قبل رؤيته هنا.

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