سؤال

أقوم بتحويل صيغة ورقة Excel إلى Java ولكن لا يمكنني فهم كيفية تمكن Excel من تنفيذ ما يلي:0.22 يطبق الصيغة:= نص (R5/14 ، "H: MM") ويصل بطريقة ما إلى:0.22

مرة أخرى إذا قدمت:2.8 يصل إلى 4.48 هل يمكن لأي شخص أن يشرح لي كيف يفعل هذا.لقد قرأت القليل فيما يتعلق بالنظام العشري وأفهم التحويل ولكن هذا لم يساعد بعد في شرح ما ورد أعلاه.

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

المحلول

يقوم Excel بتخزين قيم التاريخ والوقت على النحو التالي:

  • يمثل الرقم الموجود على يسار العلامة العشرية عدد الأيام منذ 1 يناير 1900
  • يمثل الرقم الموجود على يمين العلامة العشرية الجزء الكسري من يوم مكون من 24 ساعة

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

من خلال الصيغة الأولى، 0.22 مقسومًا على 14 (لماذا تفعل هذا؟) يساوي 0.015714286.إذا قمت بعد ذلك بتطبيق هذا الكسر على يوم مكون من 24 ساعة (ضربه في 1440 دقيقة)، فإنه يساوي 22 دقيقة وبعض التغيير (أي 22 دقيقة)."0:22").

باستخدام الصيغة الثانية، 2.8 مقسومًا على 14 يساوي 0.2.مضروباً في 1440 يساوي 288 دقيقة، أي 4 ساعات و48 دقيقة (أي 4 ساعات و48 دقيقة)."4:48").

نصائح أخرى

أو Abacus Formula Compiler for Java، والذي يسمح لك بتجميع الصيغ في أوراق Excel وصولاً إلى رمز Java بايت للاتصال السريع والسهل من تطبيقات Java الخاصة بك (يمكن تجميعها في وقت التشغيل بدون JDK).

http://www.formulacompiler.org/

نعم هو أبله بعض الشيء.خذ /14 للخارج وهذا يساعد.بشكل أساسي 1=1 يوم، لذلك يتم التعبير عن R5 في 14 يومًا.ربما يمكنك أن تفعل

int msInADay= 86400000;
Time value = new Time(R5/14 * msInADay);

ولكن لم يتم اختباره.

شكرا كريدنس.

يعمل مع:مزدوج ص = 0.22؛وقت القيادة المزدوج = (ص / 14) * 1440؛

يمكن العثور على وثائق جيدة جدًا لجداول البيانات الداخلية في مواصفات OpenFormula (التي توثق/تحدد OpenOffice-Calc).

http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula

إذا كنت تبحث عن مكتبة Java لتقييم صيغ Excel، فقد يكون من المفيد استخدام Apache-POI أو Pentaho's LibFormula:

النقاط المهمة: http://poi.Apache.org/

صيغة ليب: http://sourceforge.net/project/showfiles.php?group_id=51669&package_id=213669

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