به‌روزرسانی داده‌های صفحه‌گسترده به‌صورت برنامه‌نویسی یک نیاز مکرر برای توسعه‌دهندگان جاوا است که نیاز به تولید گزارش‌ها، تغییر قالب‌ها یا ادغام فایل‌های اکسل در جریان‌های کاری تجاری دارند. Conholdate.Total for Java یک SDK قدرتمند فراهم می‌کند که به‌راحتی امکان به‌روزرسانی مقدار CELL اکسل در جاوا را با تنها چند خط کد می‌دهد. در این راهنما شما یاد خواهید گرفت که چگونه یک workbook را بارگذاری کنید، سلول‌های خاص را تغییر دهید، قالب‌بندی عددی اعمال کنید و فایل به‌روزرسانی‌شده را ذخیره کنید.

مراحل به‌روزرسانی مقدار سلول Excel در Java

  1. بارگذاری کتاب کار با بهینه‌سازی حافظه: یک نمونه LoadOptions ایجاد کنید، بهینه‌سازی حافظه را فعال کنید و آن را به سازنده Workbook پاس دهید.

    LoadOptions loadOptions = new LoadOptions();
    loadOptions.setEnableMemoryOptimization(true);
    Workbook workbook = new Workbook("input.xlsx", loadOptions);
    
  2. دسترسی به کاربرگ هدف: اولین کاربرگ (شاخص 0) را از کتاب کار بازیابی کنید.

    Worksheet worksheet = workbook.getWorksheets().get(0);
    
  3. یافتن سلول برای به‌روزرسانی: از شاخص‌های ردیف و ستون مبتنی بر صفر برای دریافت سلول B2 (ردیف 1، ستون 1) استفاده کنید. سپس setValue را فراخوانی کنید تا مقدار سلول Excel را در Java به‌روزرسانی کنید.

    Cell cell = worksheet.getCells().get(1, 1);
    cell.setValue("Updated Value");
    
  4. اعمال قالب‌بندی اختیاری: برای سلول‌های عددی می‌توانید نوع داده و قالب عددی را تنظیم کنید، همان‌طور که در مثال برای سلول C3 نشان داده شده است.

    Cell numericCell = worksheet.getCells().get(2, 2);
    numericCell.setValue(12345.678);
    numericCell.setDataType(DataType.NUMERIC);
    Style style = numericCell.getStyle();
    style.setNumberFormat("#,##0.00");
    numericCell.setStyle(style);
    
  5. ذخیره کتاب کار: یک شیء SaveOptions ایجاد کنید و save را با مسیر خروجی موردنظر فراخوانی کنید.

    SaveOptions saveOptions = new SaveOptions();
    workbook.save("output.xlsx", saveOptions);
    

به‌روزرسانی مقدار سلول Excel در Java - مثال کامل کد

کد زیر پیاده‌سازی کامل به‌روزرسانی یک سلول Excel، اعمال قالب عددی و ذخیره نتیجه را نشان می‌دهد.

import com.groupdocs.total.excel.Workbook;
import com.groupdocs.total.excel.Worksheet;
import com.groupdocs.total.excel.Cell;
import com.groupdocs.total.excel.LoadOptions;
import com.groupdocs.total.excel.SaveOptions;
import com.groupdocs.total.excel.Style;
import com.groupdocs.total.excel.DataType;
import java.io.IOException;

public class UpdateExcelCell {
    public static void main(String[] args) {
        String inputPath = "input.xlsx";
        String outputPath = "output.xlsx";

// Load options can be tuned for large worksheets (e.g., enable memory optimization)
        LoadOptions loadOptions = new LoadOptions();
        loadOptions.setEnableMemoryOptimization(true);

Workbook workbook = null;
        try {
            // Load the workbook
            workbook = new Workbook(inputPath, loadOptions);

// Access the first worksheet (index 0)
            Worksheet worksheet = workbook.getWorksheets().get(0);

// Update cell B2 (row index 1, column index 1 – zero based)
            Cell cell = worksheet.getCells().get(1, 1);
            cell.setValue("Updated Value");

// Example: set numeric format and data type for another cell (C3)
            Cell numericCell = worksheet.getCells().get(2, 2);
            numericCell.setValue(12345.678);
            numericCell.setDataType(DataType.NUMERIC);
            Style style = numericCell.getStyle();
            style.setNumberFormat("#,##0.00");
            numericCell.setStyle(style);

// Save the workbook with default save options
            SaveOptions saveOptions = new SaveOptions();
            workbook.save(outputPath, saveOptions);
        } catch (IOException e) {
            System.err.println("I/O error while processing the Excel file: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Unexpected error: " + e.getMessage());
        } finally {
            // Ensure resources are released
            if (workbook != null) {
                try {
                    workbook.dispose();
                } catch (Exception e) {
                    System.err.println("Error while disposing workbook: " + e.getMessage());
                }
            }
        }
    }
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روزرسانی کنید که با محیط واقعی شما مطابقت داشته باشد، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.

Conholdate.Total for Java - پیش‌نیازها و راه‌اندازی

مخزن Maven Conholdate را اضافه کنید و وابستگی SDK را به فایل pom.xml خود اضافه کنید. سپس آخرین کتابخانه را از سایت رسمی دانلود کنید.

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

پکیج SDK را از صفحه دانلود دریافت کنید و اطمینان حاصل کنید که جاوا 8 یا بالاتر را اجرا می‌کنید.

قابلیت‌های Conholdate.Total برای Java برای ویرایش Excel

  • بارگذاری و ذخیره XLSX, XLS, CSV - SDK تمام فرمت‌های رایج صفحات گسترده را بدون از دست رفتن داده می‌خواند و می‌نویسد.
  • دستکاری در سطح سلول - دسترسی به هر سلول با استفاده از ایندکس‌های ردیف و ستون، به‌روزرسانی مقدار آن و تغییر نوع داده.
  • استایل‌دهی و قالب‌های عددی - اعمال اشیاء Style برای تنظیم قالب‌های عددی، فونت‌ها، رنگ‌ها و حاشیه‌ها به‌صورت مستقیم روی سلول‌ها.
  • پردازش بهینه‌شده حافظه - LoadOptions.setEnableMemoryOptimization(true) به کار با ورق‌های کاری بزرگ به‌صورت کارآمد کمک می‌کند.
  • مرجع جامع API - مستندات کلاس به‌صورت جزئی در API reference موجود است.

پیکربندی گزینه‌های به‌روزرسانی سلول‌های Excel

می‌توانید نحوه‌ی عملکرد SDK در برخورد با فایل‌های بزرگ و قالب‌بندی را به‌دقت تنظیم کنید:

  • بهینه‌سازی حافظه - آن را از طریق LoadOptions.setEnableMemoryOptimization(true) فعال کنید (در کد نشان داده شده).
  • گزینه‌های ذخیره‌سازی - از SaveOptions برای کنترل فرمت خروجی، فشرده‌سازی و این که آیا فرمول‌های اصلی حفظ شوند استفاده کنید.
  • کنترل نوع داده - DataType.NUMERIC را برای numbers و DataType.STRING را برای متن و غیره تنظیم کنید تا رفتار صحیح سلول تضمین شود.
LoadOptions loadOptions = new LoadOptions();
loadOptions.setEnableMemoryOptimization(true);

سوالات متداول

آیا می‌توانم چندین سلول را با Conholdate.Total for Java به‌روزرسانی کنم؟
بله، می‌توانید منطق به‌روزرسانی سلول را به‌طور مکرر فراخوانی کنید تا سلول‌های بسیاری را در یک کاربرگ به‌روزرسانی کنید. SDK به شما امکان می‌دهد هر سلول را پیدا کنید و از همان متد setValue برای به‌روزرسانی مقادیر سلول‌های Excel در Java استفاده کنید.

چه فرمت‌های Excel برای به‌روزرسانی سلول‌ها پشتیبانی می‌شوند؟
Conholdate.Total for Java با فرمت‌های XLSX، XLS، CSV و سایر فرمت‌های صفحه‌گسترده کار می‌کند. می‌توانید هر کتاب‌کار پشتیبانی‌شده‌ای را بارگذاری کنید، سلول‌ها را اصلاح کنید و دوباره به فرمت اصلی یا فرمت دیگری ذخیره کنید.

چگونه می‌توانم یک لایسنس موقت برای Conholdate.Total for Java دریافت کنم؟
یک لایسنس موقت می‌تواند از صفحه لایسنس موقت درخواست شود. برای استفاده کامل در تولید، به صفحه قیمت‌گذاری مراجعه کنید تا برنامه‌ای مناسب انتخاب کنید.

کجا می‌توانم مثال‌های بیشتر و کمک جامعه را پیدا کنم؟
مستندات رسمی مستندات جزئیات مرجع API را فراهم می‌کند و انجمن پشتیبانی مکان خوبی برای پرسیدن سؤالات است.

مطالعه بیشتر