הגדרת נוסחאות ב- Excel עם אפייצ'י POI

1. סקירה כללית

במדריך מהיר זה נדבר על האופן שבו אנו יכולים קבע נוסחאות בגיליון אלקטרוני של Microsoft Excel באמצעות נקודת עניין של אפאצ'י באמצעות דוגמה פשוטה.

2. נקודת עניין של אפאצ'י

Apache POI היא ספריית Java פתוחה עם קוד פתוח המספקת למתכנתים ממשקי API ל- ליצור, לשנות ולהציג את MS Office קבצים.

זה משתמש חוברת עבודה לייצג קובץ אקסל ומרכיביו. א תָא בקובץ Excel יכול להיות סוגים שונים כגון נוּסחָה.

על מנת לראות את נקודת המוצא של אפאצ'י בפעולה, אנו נקבע נוסחה להפחתת סכום הערכים בעמודות A ו- B בקובץ Excel. הקובץ המקושר מכיל את הנתונים הבאים:

3. תלות

ראשית, עלינו להוסיף את התלות של נקודת עניין לפרויקט שלנו pom.xml קוֹבֶץ. כדי לעבוד עם חוברות עבודה של Excel 2007+, עלינו להשתמש פוי-אוקסמל:

 org.apache.poi poi-ooxml 4.1.2 

שים לב שעבור גרסאות קודמות של Excel, עלינו להשתמש ב- פוי תלות במקום.

4. בדיקת תאים

כדי להתחיל, בואו נפתח את הקובץ ונבנה את חוברת העבודה המתאימה:

FileInputStream inputStream = FileInputStream חדש (קובץ חדש (fileLocation)); XSSFWorkbook excel = XSSFWorkbook חדש (inputStream);

לאחר מכן, עלינו ליצור או לחפש את התא בו אנו משתמשים. באמצעות הנתונים ששותפו קודם לכן, אנו רוצים לערוך את תא C1.

זה נמצא בגיליון הראשון ובשורה הראשונה, ואנחנו יכולים לבקש מ- POI את העמודה הריקה הראשונה:

גיליון XSSFSheet = excel.getSheetAt (0); int lastCellNum = sheet.getRow (0) .getLastCellNum (); XSSFCell formulaCell = sheet.getRow (0) .createCell (lastCellNum + 1);

5. נוסחאות

לאחר מכן, אנו רוצים לקבוע נוסחה על התא שחיפשנו.

כאמור קודם, בוא ונחסיר את סכום העמודה B מסכום העמודה A. ב- Excel זה יהיה:

= SUM (A: A) -SUM (B: B)

ואנחנו יכולים לכתוב את זה לתוך שלנו נוסחה תא עם ה setCellFormula שיטה:

formulaCell.setCellFormula ("SUM (A: A) -SUM (B: B)");

עכשיו זה לא יעריך את הנוסחה. לשם כך נצטרך להשתמש בנקודות עניין XSSFFormulaEvaluator:

XSSFFormulaEvaluator formulaEvaluator = excel.getCreationHelper (). CreateFormulaEvaluator (); formulaEvaluator.evaluateFormulaCell (formulaCell);

התוצאה תיקבע בראשונה תָא של העמודה הריקה הבאה:

כפי שאנו רואים, התוצאה מחושבת ונשמרת בתא הראשון בעמודה C. הנוסחה מוצגת בשורת הנוסחאות.

שים לב שה- FormulaEvaluator בכיתה מספקת לנו שיטות אחרות להערכה נוּסחָה בחוברות עבודה של Excel, כמו הערכהכל, אשר יעברו לולאה על כל התאים ותעריך אותם.

6. מסקנה

במדריך זה הראינו כיצד להגדיר נוסחה על תא בקובץ אקסל בג'אווה באמצעות ה- API של Apache POI.

קוד המקור השלם למאמר זהזמין באתר GitHub.


$config[zx-auto] not found$config[zx-overlay] not found