مقدمه
Aspose.Cells FOSS برای Java یک کتابخانه pure-Java نسخه 17 با مجوز MIT است که برای ایجاد و دستکاری کتابکارهای Excel .xlsx بدون هیچ وابستگی به Microsoft Office میباشد. این پست به بررسی رایجترین عملیاتهای مدیریت صفحهگسترده میپردازد: ایجاد کتابکارها، بارگذاری فایلها، کار با سلولها و ذخیره نتایج.
شروع سریع
برای شروع، وابستگی Maven را به pom.xml خود اضافه کنید:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-cells-foss</artifactId>
<version>26.5.0</version>
</dependency>فایلی برای مجوز یا کلید API نیاز نیست. این کتابخانه بهصورت کامل متن باز تحت مجوز MIT است.
ایجاد یک Workbook
سازنده Workbook() یک کتابکار جدید و خالی با یک شیت پیشفرض ایجاد میکند:
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println(sheet.getName()); // Sheet1
از WorksheetCollection.add(sheetName) برای افزودن شیتهای نامگذاریشده و از removeAt(sheetName) برای حذف آنها استفاده کنید:
int idx = workbook.getWorksheets().add("Report");
workbook.getWorksheets().get(idx).setName("Report");
workbook.getWorksheets().removeAt("Sheet1");
بارگذاری یک فایل موجود
یک مسیر فایل را به Workbook(fileName) پاس بدهید تا یک کتابکار .xlsx موجود را باز کند:
Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Sheets: " + workbook.getWorksheets().getCount());
برای جریانهای ورودی (مثلاً از یک پایگاهداده یا پاسخ HTTP)، از Workbook(stream) استفاده کنید:
try (java.io.InputStream is = new java.io.FileInputStream("data/report.xlsx")) {
Workbook workbook = new Workbook(is);
}
خواندن و نوشتن سلولها
Worksheet.getCells() مجموعه Cells را برمیگرداند. میتوانید به سلولهای فردی بر اساس نام یا بر اساس اندیس ردیف/ستون صفر-پایه دسترسی پیدا کنید:
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();
// Write by cell name
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Revenue");
// Write by row/column index
cells.get(1, 0).putValue("Widget A"); // A2
cells.get(1, 1).putValue(45000); // B2
// Read back
String name = cells.get("A2").getStringValue();
Object rev = cells.get("B2").getValue();
System.out.println(name + ": " + rev);
تنظیم فرمولها
از Cell.setFormula() برای ذخیرهٔ رشتهٔ فرمول در یک سلول استفاده کنید. فرمول هنگام ذخیره و بارگذاری مجدد کتاب کار ارزیابی میشود:
cells.get("B3").setFormula("=SUM(B2:B2)");
System.out.println(cells.get("B3").getFormula()); // =SUM(B2:B2)
نتایج فرمول هنگام ذخیره و بارگذاری مجدد کتاب کار محاسبه میشوند.
ذخیرهٔ کتاب کار
Workbook.save(fileName) کتاب کار را مینویسد؛ قالب توسط پسوند فایل تعیین میشود (.xlsx فایلی مطابق Excel 2007+ تولید میکند):
workbook.save("output/result.xlsx");
همیشه کتابهای کار بزرگ را در try-with-resources بپیچید تا دستههای فایل بهسرعت آزاد شوند:
try (Workbook workbook = new Workbook("data/input.xlsx")) {
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Updated");
workbook.save("data/output.xlsx");
}
چه چیزهایی را در ادامه بررسی کنید
Aspose.Cells FOSS برای Java شامل APIهایی برای عملیات سطح شیتورک فراتر از دستکاری سلولها است:
- حفاظت از برگه کار:
protect()/unprotect()onWorksheet - AutoFilter:
Worksheet.getAutoFilter()برای فیلتر کردن دادهها بهصورت برنامهای - قالبهای سلول:
Cell.getStyle()/setStyle()withStyleproperties - سلولهای ادغامشده:
Cells.merge(firstRow, firstColumn, totalRows, totalColumns)
برای یک راهنمای کامل API، developer guide و API reference را مشاهده کنید.
شروع کار
مثالهای بالا رایجترین کارهای مدیریت صفحهگسترده در Aspose.Cells FOSS برای Java را پوشش میدهند. برای یک راهنمای کامل API شامل اعتبارسنجی، نمودارها و قالببندی، developer guide را ببینید.