ما هي أفضل/أسهل طريقة للتعامل مع كائنات ActiveX في Java؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

أريد فتح ملفات Excel ومعالجتها باستخدام ActiveX.لقد حققت نجاحًا مع بايثون ملحقات Win32 و رائع سكريبتوم المكتبات في مشاريع أخرى ولكن تحتاج إلى القيام بذلك باستخدام Java خالصة هذه المرة إن أمكن.

لقد حاولت جسر جاكوب جافا كوم ولكن هذا لا يبدو واضحًا أو سهل الاستخدام، ولم أتمكن من استرداد قيم الخلية (على الرغم من أن هذه هي المكتبة التي يقوم عليها Scriptom).هل هناك بدائل؟

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

المحلول

يعقوب هو حقًا أداة الوظيفة هنا.أوصي بأن تأخذ الوقت الكافي لتتعلم القليل عن كيفية عمل COM وActiveX، وأعتقد أنك ستجد أنه أسهل في الاستخدام.COM يعد إنجازًا كبيرًا، لكنه كذلك صعب.تجعل الأغلفة مثل VB الأمر يبدو سهلاً (بالنسبة للاستخدام المحدود الذي تعمل من أجله)، ولكنه ليس سهلاً على الإطلاق.لدي كتاب رائع عن تعلم COM، ولكن ليس لدي الاسم المناسب الآن...

تريد التعرف على واجهة IDispatch (وهذا هو ما تم تطوير معظم واجهة COM الخاصة ببرنامج Excel).إنها واجهة سيئة وسيئة (واحدة من تلك الأشياء الفيروسية التي يمكنك فعل الكثير بها بحيث يصبح من المستحيل معرفة ما يحدث بالفعل) - ولكن تعلمها أمر أساسي.

إذا كنت تواجه مشكلات في منطقة واحدة فقط (أي.الحصول على قيمة من خلية)، يمكنك الحصول على مصدر Scriptom ومعرفة ما يفعلونه (مصدر مفتوح، بعد كل شيء!).

اقتراح آخر هو محاولة تنفيذ بعض حالات الاختبار للتعليمات البرمجية الخاصة بك في VBA والتأكد من أنك تفكر بشكل صحيح في جميع القيم المرجعة.عندما كنا نقوم بتنفيذ أتمتة Excel في أحد تطبيقات Java لدينا، قمنا بتنفيذ الخوارزمية العامة من Word's VBA، وعملنا على حل حالات المشكلات، وما إلى ذلك...بعد ذلك، كان الانتقال إلى جاكوب أمرًا سهلاً جدًا.

  • ك

نصائح أخرى

وماذا عن http://www.nevaobject.com/_docs/_java2com/java2com . HTM - وهذا هو تجاري ولكن يعمل بشكل أفضل

.

هل نظرت في JExcelAPI؟ بدلا من استخدام اكتف هذه هي مكتبة جافا الذي يقرأ ويكتب مباشرة ملفات Excel.

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

وهناك أيضا JIntegra ، والتي لا شيء مماثل. التجارية أيضا. وهناك JNIWrapper ، والتي لا شيء مماثل. مرة أخرى، أيضا التجاري.

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