کار با نمودارها
کار با نمودارها
Aspose.Cells FOSS برای Java نمودارهای جاسازیشده را هنگام بارگذاری و ذخیره کتابهای کاری XLSX حفظ میکند. شما میتوانید نمودارهای موجود را بررسی کنید، نوع و موقعیت آنها را پرسوجو کنید، و نمودارهای استاندارد جدید را به صورت برنامهنویسی اضافه کنید. انواع ChartEx مانند Waterfall، Treemap، Sunburst، Histogram، Box and Whisker، Funnel و Map در مسیر دوطرفه حفظ میشوند اما نمیتوانند از طریق API ایجاد شوند.
نمای کلی
نمودارها در یک برگه کاری از طریق ChartCollection که از طریق Worksheet.getCharts() دسترسی میشود، مدیریت میشوند. هر نمونه Chart نام، نوع نمودار و موقعیت لنگر دوسلولی آن را نشان میدهد. یک نمودار جدید با ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) وارد میشود که شاخص نمودار تازه ایجاد شده را برمیگرداند.
enum ChartType نوع نمودار (ستونی، خطی، دایرهای و غیره) را شناسایی میکند. روشهای کمکی ChartCollection.parseChartType(string) و ChartCollection.chartTypeToString(ChartType) بین enum و نمایش رشتهای آن برای موارد استفادهٔ سریالسازی تبدیل میشوند.
کلاسهای کلیدی
| کلاس | توضیح |
|---|---|
Chart | نمایش یک نمودار جاسازیشده در یک برگه کاری. دسترسی فقط خواندنی به نام، نوع و موقعیت سلول-لنگر. |
ChartCollection | مجموعهای از تمام نمودارهای موجود در یک برگه کاری. از شمارش، دسترسی ایندکس، افزودن و کمککنندههای تبدیل نوع نمودار پشتیبانی میکند. |
ChartType | شمارشی که نوع نمودار را شناسایی میکند (نمودار میلهای، ستونی، خطی، دایرهای، پراکنده و غیره). |
ChartModel | مدل داخلی سریالسازی برای یک نمودار. فیلدهای خام XML را که در زمان بارگذاری/ذخیره استفاده میشوند، نمایش میدهد. |
دسترسی به نمودارها در یک برگه کاری
ChartCollection را از هر شیء Worksheet از طریق Worksheet.getCharts() بازیابی کنید. از ChartCollection.getCount() برای تعیین تعداد نمودارهای موجود استفاده کنید. نمودارهای منفرد با استفاده از اندیس صفر-پایه از طریق ChartCollection.get(index) دسترسی پیدا میکنند.
به محض اینکه یک مرجع Chart داشته باشید میتوانید بخوانید:
Chart.getName()— رشته نام داخلی نمودار.Chart.getChartType()— مقدار شمارشیChartType.Chart.getUpperLeftRow()/Chart.getUpperLeftColumn()— سلول لنگر بالا-چپ.Chart.getLowerRightRow()/Chart.getLowerRightColumn()— سلول لنگر پایین-راست.Chart.getExtentCx()/Chart.getExtentCy()— ابعاد نمودار بر حسب EMU.
افزودن یک نمودار جدید
از ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) برای درج یک نمودار جدید استفاده کنید. این متد اندیس عددی صحیح نمودار را درون مجموعه برمیگرداند. برای آرگومان type مقدار ChartType ارائه دهید و برای dataRange یک رشته بازه سلولی (به عنوان مثال A1:B5) فراهم کنید.
توجه: انواع خانواده ChartEx (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) هنگام بارگذاری فایلهای XLSX حفظ میشوند اما نمیتوانند بهصورت برنامهنویسی از طریق این API ایجاد شوند.
API Reference خلاصه
Chart
| روش | نوع بازگشت | توضیح |
|---|---|---|
getName() | String | نام داخلی نمودار. |
getChartType() | ChartType | مقدار enum واریانت نمودار. |
getUpperLeftRow() | int | اندیس ردیف لنگر بالا-چپ. |
getUpperLeftColumn() | int | شاخص ستون لنگر بالا-چپ. |
getLowerRightRow() | int | شاخص سطر لنگر پایین-راست. |
getLowerRightColumn() | int | شاخص ستون لنگر پایین-راست. |
getExtentCx() | long | عرض نمودار بر حسب EMUها. |
getExtentCy() | long | ارتفاع نمودار بر حسب EMUها. |
ChartCollection
| روش | نوع بازگشت | توضیح |
|---|---|---|
getCount() | int | تعداد نمودارها در برگه کار. |
get(index) | Chart | نمودار را در اندیس صفر-پایهٔ دادهشده برمیگرداند. |
add(type, dataRange, ...) | int | یک نمودار جدید اضافه میکند؛ اندیس آن را برمیگرداند. |
parseChartType(string) | ChartType | یک نام رشتهای را به مقدار enum ChartType تبدیل میکند. |
chartTypeToString(type) | String | یک مقدار enum ChartType را به نام رشتهای آن تبدیل میکند. |
محدودیتها
- انواع ChartEx (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) بهصورت دقیق منتقل میشوند اما نمیتوانند از طریق API ایجاد شوند.
- اتصالات سری دادههای نمودار در این نسخه قابل تغییر نیستند؛ نمودار بر پایهٔ بازه دادهٔ اصلی که در زمان ایجاد ارائه شده است، رندر میشود.