מבוא
Aspose.Cells FOSS for Java מספקת סט מקיף של יכולות גיליון אלקטרוני
ליישומי Java 17. שוחררה תחת רישיון MIT ומופצת כ-
artifact סטנדרטי של Maven, הספרייה מכסה הכול מהקמת חוברת עבודה בסיסית
עד ערכי תאים טיפוסיים, עיצוב עשיר, אימות נתונים, ו-AutoFilter — כולם
ללא תלות ב-Microsoft Office.
הפוסט הזה מוביל דרך תחומי הפונקציונליות המרכזיים עם דוגמאות קוד ממוקדות שנלקחו מ
משטח ה-API המאומת. כל שמות המחלקות והשיטות המופיעים למטה קיימים בספרייה.
וזמינים בגרסה 1.0.0.
תכונות מרכזיות
ניהול חוברת עבודה וגיליון עבודה
המחלקה Workbook מממשת את AutoCloseable כך שהיא משולבת בצורה חלקה עם
תבנית ה‑Java try-with-resources. אתה יכול ליצור חוברת עבודה ריקה, לטעון קובץ קיים
.xlsx, לשנות שם של גיליונות, להוסיף או להסיר גיליונות, להגדיר את הגיליון הפעיל, ו
לשלוט בנראות הלשוניות.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
ערכי תאים מוקלדים ונוסחאות
המחלקה Cell מקבלת ערכים טיפוסיים דרך putValue() עבור String, int, double,
boolean ו-LocalDateTime. השיטה getType() מחזירה ערך enum של CellValueType
ערך — STRING, NUMBER, BOOLEAN, DATE_TIME או FORMULA — מה שמקל על
סניפה על סוג הערך ללא ניתוח מחרוזות. מחרוזות נוסחה נשמרות עם
setFormula() והן יחושבו מחדש על‑ידי Excel בפתיחה.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
עיצוב תאים וסגנונות
העיצוב מוחל דרך האובייקט Style שנקרא מcell.getStyle() ונכתב בחזרה עם cell.setStyle(). תת‑האובייקט Font חושף את setBold() וsetColor(). HorizontalAlignment שולט ביישור הטקסט — LEFT, CENTER או RIGHT. פורמטים מותאמים של מספרים משתמשים במחרוזות פורמט של Excel דרך style.setCustom(). גובה השורה ורוחב העמודה מותאמים דרך getRows().get(n).setHeight() וgetColumns().get(n).setWidth().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell cell = sheet.getCells().get("B1");
cell.putValue(9999.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
אימות נתונים
כללי אימות נתונים מתווספים דרך sheet.getValidations().add(). כל
אובייקט Validation לוקח ValidationType (למשל WHOLE_NUMBER, DECIMAL, LIST)
וOperatorType (למשל BETWEEN, GREATER_THAN). גבולות נוסחה נשמרים כמחרוזות
דרך setFormula1() וsetFormula2().
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
workbook.save("validated.xlsx");
}
AutoFilter
AutoFilters מאפשרים למשתמשי קצה לסנן נתונים ב‑Excel באופן אינטראקטיבי ללא צורך בתצורה נוספת.
הפעל את ws.getAutoFilter().setRange() עם טווח בתצורת A1 כדי להפעיל את שורת הכותרת של המסנן.
ניתן להגדיר עמודות מסנן נוספות וקריטריונים מותאמים אישית באמצעות FilterColumn ו‑AutoFilterCustomFilter.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
הגדרת עמוד והגנת גיליון
המחלקה PageSetup שולטת בגודל הנייר, בכיוון העמוד ובהגדרות התאמה לעמוד עבור פלט מוכן להדפסה. הגנת הגיליון מיושמת דרך protect() עם WorksheetProtectionModel, מה שמאפשר לתאים ספציפיים להישאר ניתנים לעריכה בעוד שהשאר ננעלים. קישורים מנוהלים דרך HyperlinkCollection.
התחלה מהירה
הוסף את התלות ל-pom.xml שלך:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
צור חוברת עבודה עם כל התכונות המרכזיות בפחות מ‑20 שורות:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class QuickStart {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
פורמטים נתמכים
| פורמט | הרחבה | קריאה | כתיבה |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
השמירה מוגבלת כרגע ל-.xlsx. הספרייה מאחסנת ומעבירה נוסחאות, אך אינה מתפקדת כמנוע חישוב גיליון אלקטרוני מלא.
קוד פתוח ורישוי
Aspose.Cells FOSS for Java משוחרר תחת רישיון MIT. אתה חופשי להשתמש, לשנות ולהפיץ אותו בפרויקטים אישיים, קוד פתוח ומסחריים ללא הגבלה. קוד המקור זמין ב github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.