قم بتثبيت ONLYOFFICE Docs Enterprise باستخدام ملف الإنشاء الرسمي الخاص به
ابدأ تشغيل حزمة Enterprise Docker Compose، واحفظ ترخيصها وبياناتها، وقم بتكوين JWT بأمان، وتأكد من أن المحررات جاهزة للتكامل.
لتنظيف جداول البيانات بشكل متكرر، أنشئ ماكرو جافا سكريبت صغيرًا في محرر جداول البيانات، واستهدف نطاق النص الذي ترغب في تغييره فقط، واختبره أولًا على نسخة مكررة من المصنف. يزيل المثال أدناه الأحرف غير القابلة للطباعة ويقص المسافات البيضاء الزائدة من عمود البريد الإلكتروني مع الحفاظ على جميع الصفوف في مكانها.
تعمل وحدات ماكرو ONLYOFFICE داخل المحرر وتستخدم واجهة برمجة تطبيقات جافا سكريبت الخاصة بـ Office. لا تزال الوثائق الرسمية تصف سير العمل بأنه فتح "عرض" > "وحدات الماكرو" ، وكتابة أو لصق التعليمات البرمجية، وتشغيلها في المحرر؛ ولم يطرأ أي تغيير حديث على هذه العملية الأساسية في الوثائق الحالية. وحدة الماكرو نفسها عبارة عن نص برمجي توضيحي قابل لإعادة الاستخدام، وليست تقريرًا لاختبار برمجي. راجع دليل البدء السريع لوحدات ماكرو ONLYOFFICE ومرجع علامة تبويب "عرض" في محرر جداول البيانات .
لنفترض أن مصنفًا يحتوي على قائمة جهات اتصال، عنوانها في الصف الأول، وعناوين بريدها الإلكتروني في العمود B، من B2 إلى B500. قد تحتوي بعض القيم المستوردة على فواصل أسطر، أو علامات جدولة، أو مسافات بادئة ولاحقة. ينظف هذا المثال عمود النص هذا فقط. اضبط النطاق ليتوافق مع ورقتك قبل تشغيل الكود.
استخدم نطاقًا خاصًا بالعمود، مثل B2:B500، بدلًا من النطاق المستخدم بالكامل. قد يؤدي تنظيف كل خلية بشكل عشوائي إلى تغيير الأسماء أو العناوين أو الرموز أو نتائج الصيغ بطرق غير مقصودة.

افتح المصنف في محرر جداول البيانات ONLYOFFICE. اختر عرض > وحدات الماكرو لفتح محرر الماكرو، ثم أنشئ ماكرو أو استبدل الكود المبدئي في المحرر. تستخدم وحدات ماكرو ONLYOFFICE صيغة JavaScript وواجهة برمجة تطبيقات Office؛ وهي ليست وحدات ماكرو VBA. تجد شرحًا لآلية عمل الماكرو في المحرر وطرق واجهة برمجة التطبيقات المدعومة في دليل البدء السريع الرسمي لوحدات الماكرو .
ألصق هذا المثال، ثم غيّره B2:B500إلى نطاق النص الفعلي الخاص بك:
(function () {
var sheet = Api.GetActiveSheet();
var range = sheet.GetRange("B2:B500");
var rows = range.GetValue();
var functions = Api.WorksheetFunction;
for (var i = 0; i < rows.length; i++) {
var value = rows[i][0];
if (typeof value === "string") {
value = functions.CLEAN(value);
rows[i][0] = value.replace(/^\s+|\s+$/g, "")
.replace(/\s{2,}/g, " ");
}
}
range.SetValue(rows);
})();
يقرأ الماكرو النطاق في مصفوفة ثنائية الأبعاد، ويعالج خلايا السلسلة النصية، ثم يعيد كتابة المصفوفة إلى نفس النطاق. CLEANيزيل الأحرف غير القابلة للطباعة؛ ويستبدل التعبيران النمطيان المسافات البيضاء عند الحواف ويقللان المسافات البيضاء المتكررة داخل السلسلة النصية إلى مسافة واحدة. يؤكد مرجع واجهة برمجة التطبيقات (API) GetValueأن بإمكانه إرجاع مصفوفة ثنائية الأبعاد لنطاق معين، وأنه SetValueيقبل المصفوفات؛ وتوثق مراجع GetValue و SetValue و CLEAN هذه الاستدعاءات.
نظرًا لأن البرنامج النصي يعيد كتابة القيم، تجنب توجيهه إلى الخلايا التي تحتوي على صيغ، فقد تُستبدل هذه الخلايا بقيمها المحسوبة الحالية. كما أنه لا يزيل السجلات المكررة، ولا يُوحّد استخدام الأحرف الكبيرة والصغيرة، ولا يتحقق من إمكانية توصيل الطلبات إلى عنوان، ولا يُغيّر تنسيقات أرقام الهواتف. هذه قواعد تنظيف منفصلة، ويجب تصميمها واختبارها بشكل مستقل.

يُسهّل البدء بنطاق ضيق فهم التأثير. بمجرد أن يصبح الناتج صحيحًا، يمكنك إعادة استخدام الماكرو في ورقة عمل أخرى عن طريق تعديل النطاق عمدًا. لا تفترض أن حرف العمود أو حد الصف يظل صالحًا في مصنف آخر.
إذا كان أمر الماكرو مفقودًا أو تعذر تشغيل التعليمات البرمجية، فتحقق مما إذا كانت وحدات الماكرو مُفعّلة في المحرر أو مُعطّلة في إعدادات التطبيق المُضيف. في المحرر عبر الإنترنت، يُمكن للمسؤول التحكم في توفر وحدات الماكرو؛ وتصف الإعدادات المتقدمة لمحرر جداول البيانات خيارات الماكرو المتاحة للمستخدم. تجنب تفعيل التشغيل التلقائي للملفات من مصادر غير معروفة؛ وشغّل فقط التعليمات البرمجية التي تفهمها.

قارن العمود المُنقّح بالنسخة الأصلية بدلاً من الحكم على نجاح العملية من خلال المظهر فقط. تأكد من أن كل بريد إلكتروني غير فارغ لا يزال في نفس الصف، وأنه لم يتم حذف أي جهة اتصال، وأن الاختلافات الوحيدة هي الأحرف والمسافات التي أردت توحيدها. تحقق من عينة بالقرب من أعلى ومنتصف ونهاية النطاق المُختار. ابحث عن مسافة في بداية أو نهاية قيمة ما إذا كان محرر النصوص لديك يُظهر ذلك، وتفحّص القيم المُستوردة التي كانت تحتوي سابقًا على فواصل أسطر أو أحرف تحكم.
قارن أيضًا عدد الصفوف وأي صيغ أو عوامل تصفية أو عمليات بحث تابعة تستخدم العمود. إذا تغيرت نتيجة صيغة ما بشكل غير متوقع، فتراجع عن التعديل أو استعد النسخة الأصلية؛ يجب أن يقتصر عمل الماكرو على خلايا النص الخام. بالنسبة للمصنفات الكبيرة أو ذات الأهمية البالغة للعمل، قارن العمود بعد تنظيفه بالكامل مع النسخة الاحتياطية، أو استخدم عمود إخراج منفصل أولًا حتى تظل التغييرات قابلة للمراجعة.

بعد التأكد من صحة التشغيل الأول، احفظ المصنف ليظل الماكرو متاحًا مع المستند وفقًا لآلية عمل الماكرو في المحرر. لا يُفترض ظهور الماكرو المخزن في مصنف واحد تلقائيًا في كل ملف جديد. بالنسبة لعمليات الاستيراد المتكررة، احتفظ بقالب نظيف أو نسخة مصدر محمية، ووثّق النطاق الذي يتوقعه الماكرو، وقم بتحديثه عند تغيير تخطيط الورقة. تُعد ماكرو ONLYOFFICE مفيدة لقواعد التنظيف المحددة؛ فهي لا تستطيع تحديد ما إذا كانت القيمة صحيحة فعليًا أو ما إذا كان التغيير مناسبًا لمجموعة البيانات الخاصة بك.
النمط الموثوق به بسيط: الاحتفاظ بنسخة المصدر، واستهداف نطاق معروف، وإجراء تحويل محدد واحد، ومقارنة النتيجة قبل مشاركة البيانات أو استيرادها إلى مكان آخر.
ابدأ تشغيل حزمة Enterprise Docker Compose، واحفظ ترخيصها وبياناتها، وقم بتكوين JWT بأمان، وتأكد من أن المحررات جاهزة للتكامل.
استخدم ماكرو جافا سكريبت الخاص بـ ONLYOFFICE لإزالة الأحرف غير القابلة للطباعة وقص المسافات الزائدة من نطاق جدول بيانات محدد، مع سير عمل مراجعة آمن.
انقل بيانات البوابة من القرص الافتراضي إلى موفر تخزين سحابي مدعوم، أو انقل بيانات Docker بأمان عن طريق تغيير تعيين وحدة التخزين المضيفة الخاصة بها.
حدد ما إذا كان خادم المستندات يستخدم حزمة Linux أو Docker، وقم بإزالة مكوناته فقط، وتحقق من البيانات المتبقية دون حذف الخدمات المشتركة عن طريق الخطأ.
حدد أسباب بطء التحرير التعاوني، مثل ضغط موارد Docker أو اتصالات الوكيل أو تحميل المستندات، ثم اختر الحل الذي يتوافق مع قياساتك.
اختر المكان الذي يجب أن ينتهي فيه TLS، وقم بتثبيت شهادة موثوقة ومفتاح خاص بأمان، وتحقق من الوصول إلى HTTPS لخادم ONLYOFFICE Docs المُشغل بواسطة Docker.
قم بتضمين محرر ONLYOFFICE في تطبيق PHP الخاص بك، وقم بتوقيع تكوينه باستخدام JWT، واحفظ الملفات التي تم تحريرها من خلال رد اتصال آمن.
قم بتعيين لغة التدقيق اللغوي للمستند بأكمله أو النص المحدد، وتأكد من أن التدقيق الإملائي نشط، وحدد متى يكون قاموس الخادم مفقودًا.
قم بتمكين ميزة تتبع التغييرات الدائمة للجميع في مستند ONLYOFFICE واحد، وتحقق من تسجيل التعديلات، وافهم حدود هذا الإعداد.
ابحث عما إذا كان Nginx أو شبكة Docker أو خدمة ONLYOFFICE الداخلية تُرجع الخطأ 502، ثم تحقق من المصدر المصحح وفحص الحالة.