گزارشات را از داده‌های Excel در Java تولید کنید

شما می‌توانید داده‌های Microsoft Excel را به شکل گزارش‌های سفارشی به کاربران خود مانند مشتریان، ذینفعان و غیره ارائه دهید. به عنوان یک توسعه‌دهنده جاوا، می‌توانید اینگونه گزارش‌ها را به صورت برنامه‌نویسی با استفاده از صفحه‌گسترده‌های Excel به عنوان جدول داده‌ها تولید کنید. در این مقاله، شما یاد می‌گیرید که چگونه از داده‌های Excel گزارش‌هایی با استفاده از Java تولید کنید.

موضوعات زیر در این مقاله مورد بحث قرار گرفته‌اند:

Java API برای تولید گزارشات

برای تولید گزارش‌ها از داده‌های اکسل، من از API GroupDocs.Assembly for Java استفاده خواهم کرد. این API به شما این امکان را می‌دهد که برنامه‌های قدرتمند اتوماسیون سند و تولید گزارش ایجاد کنید. این API داده‌ها را از منبع داده با توجه به سند الگوی تعریف شده، استخراج می‌کند، آنها را سرهم می‌کند و گزارش‌ها را در فرمت خروجی مشخص شده تولید می‌کند. این API از استخراج داده‌ها از منابع داده مختلفی مانند XML، Excel، JSON و CSV پشتیبانی می‌کند. شما می‌توانید به راحتی گزارش‌ها را در تمام فرمت‌های فایل پرطرفدار مانند PDF، HTML و Microsoft Word تولید کنید.

شما می‌توانید دانلود JAR API را انجام دهید یا فقط پیکره‌بندی pom.xml زیر را در برنامه Java مبتنی بر Maven خود اضافه کنید تا کدهای مثالی که در زیر ذکر شده است را امتحان کنید.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.7</version> 
</dependency>

گزارش‌های تولید شده از داده‌های اکسل با استفاده از Java

شما می‌توانید به راحتی با دنبال کردن مراحل ساده زیر، گزارش‌هایی در Word از داده‌های Excel خود تولید کنید:

  1. دریافت Excel data source
  2. یک template بر اساس داده‌های Excel تعریف کنید.
  3. تبدیل داده‌های اکسل به گزارش ورد در جاوا

منبع داده اکسل

شما می‌توانید از داده‌های جدولی به عنوان منبع داده که در فایل Excel ارائه شده است برای تولید گزارش‌ها استفاده کنید. من از داده‌های نمونه Excel زیر برای تولید گزارش استفاده خواهم کرد. این داده‌های قراردادهای مشتریان با مدیران مربوطه و قیمت قرارداد مورد توافق است.

Excel Data Source

منبع داده اکسل

قالب

شما می‌توانید از یک سینتکس الگوی مبتنی بر Linq برای ایجاد یک الگو استفاده کنید. یک الگو شامل محتوای عمومی اسناد و برچسب‌هایی است که ساختار و بایندینگ‌های داده الگو را توصیف می‌کند. شما می‌توانید الگوی زیر را در فایل DOCX یا XLSX تعریف کنید. این الگو به شما امکان می‌دهد داده‌های قراردادها و مدیران مربوطه آن‌ها را با قیمت قرارداد تکرار کنید. هر گروه در الگو یک کلید منحصر به فرد دارد که توسط انتخاب‌گر ورودی تعریف شده و شامل اقلام فراخوانی منبع مرتبط با این کلید است. شما می‌توانید با استفاده از خاصیت Key به کلید یک نمونه گروه دسترسی پیدا کنید. وقتی که الگو را ایجاد کردید، می‌توانید به کد برای تولید گزارش بروید. می‌توانید بیشتر درباره template syntax در مستندات بخوانید.

Report-Template

قالب گزارش

تبدیل داده‌های اکسل به گزارش ورد در Java

شما می‌توانید تبدیل داده‌های اکسل به گزارش DOCX بر اساس الگو را با دنبال کردن مراحل زیر خودکار کنید:

  • مسیرهای فایل داده Excel، فایل الگو و فایل گزارش خروجی DOCX را تعریف کنید.
  • یک نمونه از کلاس DocumentTableOptions را ایجاد کنید
  • Set setFirstRowContainsColumnNames to true
  • در DocumentTable با فایل داده های Excel تعریف شده و گزینه های DocumentTable ایجاد کنید.
  • یک نمونه از کلاس DocumentAssembler ایجاد کنید
  • متد assembleDocument() را با داده‌های Excel ارائه‌شده و الگوی تعریف‌شده فراخوانی کنید.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان گزارشی از منبع داده‌های Excel طبق قالب تعریف شده با استفاده از Java تولید کرد.

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// Set extracting of column names from the first row.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Create document table
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Create document assembler
DocumentAssembler assembler = new DocumentAssembler();

// داده‌ها را جمع‌آوری کرده و گزارش تهیه کنید
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
گزارش تولید شده

گزارش تولید شده

کلاس DocumentTableOptions مجموعه‌ای از گزینه‌ها را برای کنترل استخراج داده‌ها از جدول یک سند ارائه می‌دهد. من ویژگی FirstRowContainsColumnNames را روی true تنظیم کردم تا سرصفحه‌های ستون‌ها بخشی از داده‌های گزارش نشوند.

کلاس DocumentTable دسترسی به داده‌های یک جدول واحد (یا یک صفحه‌گسترده) را که در یک سند خارجی قرار دارد و برای استفاده در زمان جمع‌آوری یک سند مورد استفاده قرار می‌گیرد، فراهم می‌کند.

کلاس DocumentAssembler متدهای مختلفی را برای ایجاد گزارش‌ها با استفاده از سند الگوی تعریف‌شده همراه با داده‌ها فراهم می‌کند. متد assembleDocument() این کلاس سه پارامتر ورودی می‌گیرد: سند الگوی تعریف‌شده به عنوان سند منبع، مسیر فایل خروجی و منبع داده. این متد داده‌ها را از منبع داده بر اساس سند الگوی ارائه‌شده پر می‌کند و سند حاصل را در مسیر هدف ذخیره می‌کند. شما می‌توانید سند حاصل را به فرمت‌های فایل مختلف پشتیبانی‌شده مانند Word، Excel یا HTML ذخیره کنید.

گرفتن یک مجوز رایگان

شما می‌توانید با درخواست یک مجوز موقت رایگان، بدون محدودیت‌های ارزیابی، از API استفاده کنید.

نتیجه گیری

در این مقاله، شما یاد گرفته‌اید که چگونه گزارش‌هایی از داده‌های اکسل با استفاده از Java تولید کنید. شما همچنین یاد گرفته‌اید که چگونه یک الگوی گزارش برای تولید گزارش‌ها ایجاد کنید. می‌توانید اطلاعات بیشتری در مورد GroupDocs.Assembly برای API Java با استفاده از documentation بیاموزید. در صورت هرگونه ابهام، لطفاً با ما در forum تماس بگیرید.

همچنین ببینید