.NET में Excel फ़ाइलों को PDF में कैसे परिवर्तित करें
इस लेख में दिखाया गया है कि कैसे बैच कई Excel फ़ाइलों को पीडीएफ में परिवर्तित करने के लिए Aspose.Cells LowCode PDF Converter .NET अनुप्रयोगों में प्रदान करता है. PDF कनवर्टर विस्तृत कोडिंग या Excel के आंतरिक संरचनाओं के गहरे ज्ञान की आवश्यकता के बिना दस्तावेज़ रूपांतरण का एक सटीक दृष्टिकोण प्रदान करते हैं - व्यापार विश्लेषकों और रिपोर्ट डेवलपर्स जो अपने रिपोर्टिंग कार्यप्रवाह को स्वचालित करना चाहते हैं।
असली दुनिया की समस्या
कॉर्पोरेट वातावरण में, रिपोर्टिंग टीमों को अक्सर नियमित रूप से कई दर्जनों या यहां तक कि सैकड़ों एक्सेल कार्यपुस्तिकाओं को पीडीएफ प्रारूप में परिवर्तित करने की आवश्यकता होती है. ऐसा करना मैन्युअल तौर पर समय-उपयोगी, त्रुटि-प्रेरित होता है, और अधिक महत्वपूर्ण विश्लेषणात्मक कार्यों से मूल्यवान संसाधनों का विचलन करता है।
समाधान समीक्षा
Aspose.Cells LowCode PDF Converter का उपयोग करके, हम इस चुनौती को कम से कम कोड के साथ प्रभावी ढंग से हल कर सकते हैं. यह समाधान व्यापार विश्लेषकों और रिपोर्ट डेवलपर्स के लिए आदर्श है जिन्हें अपनी रिपोर्टिंग प्रक्रियाओं को सरल बनाने की आवश्यकता है, दस्तावेजों के बीच स्थिरता सुनिश्चित करने और अधिक मूल्यवान काम पर समय निकालने की जरूरत है. हमारा दृष्टिकोण एक मजबूत बैच प्रसंस्करण प्रणाली बनाने पर ध्यान केंद्रित करेगा जो एक्सेल फ़ाइलों की बड़ी मात्रा को अनुकूलित रूपांतरण सेटिंग्स द्वारा संभाल सकता है।
Prerequisites
समाधान को लागू करने से पहले, सुनिश्चित करें कि आपके पास है:
- Visual Studio 2019 या बाद में
- .NET 6.0 या उससे अधिक (NET Framework 4.6.2+ के साथ संगत)
- NuGet के माध्यम से स्थापित .NET पैकेज के लिए Aspose.Cells
- C# प्रोग्रामिंग की बुनियादी समझ
PM> Install-Package Aspose.Cells
चरण-दर-चरण कार्यान्वयन
चरण 1: स्थापित करें और Aspose.Cells सेट करें
अपने परियोजना में Aspose.Cells पैकेज जोड़ें और आवश्यक नाम स्थान शामिल करें:
using Aspose.Cells;
using Aspose.Cells.LowCode;
using System;
using System.IO;
using System.Collections.Generic;
using System.Threading.Tasks;
चरण 2: बैच प्रसंस्करण के लिए एक निर्देशिका संरचना बनाएं
अपने इनपुट एक्सेल फ़ाइलों और आउटडोर पीडीएफ फाइलें को व्यवस्थित करने के लिए एक निर्देशिका संरचना स्थापित करें:
// Create directories if they don't exist
string inputDirectory = @"C:\Reports\ExcelFiles";
string outputDirectory = @"C:\Reports\PDFOutput";
string logDirectory = @"C:\Reports\Logs";
Directory.CreateDirectory(inputDirectory);
Directory.CreateDirectory(outputDirectory);
Directory.CreateDirectory(logDirectory);
चरण 3: फ़ाइल खोज तार्किक लागू करें
सभी Excel फ़ाइलों को खोजने के लिए एक विधि बनाएं जिसे रूपांतरित करने की आवश्यकता है:
private List<string> GetExcelFilesToProcess(string directoryPath, string searchPattern = "*.xlsx")
{
List<string> excelFiles = new List<string>();
try
{
// Get all Excel files (.xlsx) in the directory
string[] files = Directory.GetFiles(directoryPath, searchPattern);
excelFiles.AddRange(files);
// Optionally, you can also search for .xls files
string[] oldFormatFiles = Directory.GetFiles(directoryPath, "*.xls");
excelFiles.AddRange(oldFormatFiles);
Console.WriteLine($"Found {excelFiles.Count} Excel files to process.");
}
catch (Exception ex)
{
Console.WriteLine($"Error searching for Excel files: {ex.Message}");
}
return excelFiles;
}
चरण 4: PDF Converter विकल्पों को सेट करें
एक निरंतर आउटपुट के लिए पीडीएफ रूपांतरण विकल्पों को सेट करने का एक तरीका बनाएं:
private LowCodePdfSaveOptions ConfigurePdfOptions(bool onePagePerSheet = true,
bool includeHiddenSheets = false,
bool printComments = false)
{
// Create PDF save options
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Set whether each worksheet should be rendered as a separate page
pdfOpts.OnePagePerSheet = onePagePerSheet;
// Option to include hidden worksheets in the output
pdfOpts.AllColumnsInOnePagePerSheet = true;
// Configure additional PDF options
pdfOpts.Compliance = PdfCompliance.PdfA1b; // For archival quality
pdfOpts.PrintingPageType = PrintingPageType.ActualSize;
// Configure comment display options
pdfOpts.PrintComments = printComments ? PrintCommentsType.PrintInPlace : PrintCommentsType.PrintNoComments;
// Create low code PDF save options
LowCodePdfSaveOptions lcsopts = new LowCodePdfSaveOptions();
lcsopts.PdfOptions = pdfOpts;
return lcsopts;
}
चरण 5: एकल फ़ाइल रूपांतरण तार्किक लागू करें
एक Excel फ़ाइल को PDF में परिवर्तित करने के लिए एक विधि बनाएं:
private bool ConvertExcelToPdf(string inputFilePath, string outputFilePath, LowCodePdfSaveOptions pdfOptions)
{
try
{
// Create load options
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = inputFilePath;
// Set output file path
pdfOptions.OutputFile = outputFilePath;
// Process the conversion
PdfConverter.Process(loadOptions, pdfOptions);
return true;
}
catch (Exception ex)
{
Console.WriteLine($"Error converting {Path.GetFileName(inputFilePath)}: {ex.Message}");
return false;
}
}
चरण 6: बैच प्रसंस्करण तार्किक लागू करें
अब मुख्य विधि बनाएं जो कई फ़ाइलों को संसाधित करेगी:
public void BatchConvertExcelToPdf(string inputDirectory, string outputDirectory, string searchPattern = "*.xlsx")
{
// Get all Excel files
List<string> excelFiles = GetExcelFilesToProcess(inputDirectory, searchPattern);
// Configure PDF options
LowCodePdfSaveOptions pdfOptions = ConfigurePdfOptions(true, false, false);
// Track conversion statistics
int successCount = 0;
int failureCount = 0;
// Process each file
foreach (string excelFile in excelFiles)
{
string fileName = Path.GetFileNameWithoutExtension(excelFile);
string outputFilePath = Path.Combine(outputDirectory, $"{fileName}.pdf");
Console.WriteLine($"Converting: {fileName}");
bool success = ConvertExcelToPdf(excelFile, outputFilePath, pdfOptions);
if (success)
{
successCount++;
Console.WriteLine($"Successfully converted: {fileName}");
}
else
{
failureCount++;
Console.WriteLine($"Failed to convert: {fileName}");
}
}
// Report summary
Console.WriteLine("\n===== Conversion Summary =====");
Console.WriteLine($"Total files processed: {excelFiles.Count}");
Console.WriteLine($"Successfully converted: {successCount}");
Console.WriteLine($"Failed conversions: {failureCount}");
}
चरण 7: बेहतर प्रदर्शन के लिए समानांतर प्रसंस्करण लागू करें
बड़े पैचों के लिए, रूपांतरण को तेज करने में समानांतर प्रसंस्करण लागू करें:
public void ParallelBatchConvertExcelToPdf(string inputDirectory, string outputDirectory, string searchPattern = "*.xlsx")
{
// Get all Excel files
List<string> excelFiles = GetExcelFilesToProcess(inputDirectory, searchPattern);
// Track conversion statistics
int successCount = 0;
int failureCount = 0;
object lockObj = new object();
// Configure PDF options (will be reused for each conversion)
LowCodePdfSaveOptions pdfOptions = ConfigurePdfOptions(true, false, false);
// Process files in parallel
Parallel.ForEach(excelFiles,
new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },
excelFile =>
{
string fileName = Path.GetFileNameWithoutExtension(excelFile);
string outputFilePath = Path.Combine(outputDirectory, $"{fileName}.pdf");
// Each thread needs its own copy of the options
LowCodePdfSaveOptions threadPdfOptions = ConfigurePdfOptions(true, false, false);
threadPdfOptions.OutputFile = outputFilePath;
Console.WriteLine($"Converting: {fileName}");
// Create load options
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = excelFile;
try
{
// Process the conversion
PdfConverter.Process(loadOptions, threadPdfOptions);
lock (lockObj)
{
successCount++;
Console.WriteLine($"Successfully converted: {fileName}");
}
}
catch (Exception ex)
{
lock (lockObj)
{
failureCount++;
Console.WriteLine($"Failed to convert {fileName}: {ex.Message}");
}
}
});
// Report summary
Console.WriteLine("\n===== Conversion Summary =====");
Console.WriteLine($"Total files processed: {excelFiles.Count}");
Console.WriteLine($"Successfully converted: {successCount}");
Console.WriteLine($"Failed conversions: {failureCount}");
}
चरण 8: पूर्ण कार्यान्वयन उदाहरण
यहाँ एक पूर्ण कार्य उदाहरण है जो पूरे बैच रूपांतरण प्रक्रिया को दर्शाता है:
using Aspose.Cells;
using Aspose.Cells.LowCode;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace ExcelBatchConverter
{
public class ExcelToPdfBatchConverter
{
private readonly string _inputDirectory;
private readonly string _outputDirectory;
private readonly string _logDirectory;
public ExcelToPdfBatchConverter(string inputDirectory, string outputDirectory, string logDirectory)
{
_inputDirectory = inputDirectory;
_outputDirectory = outputDirectory;
_logDirectory = logDirectory;
// Ensure directories exist
Directory.CreateDirectory(_inputDirectory);
Directory.CreateDirectory(_outputDirectory);
Directory.CreateDirectory(_logDirectory);
}
// Log the conversion activity
private void LogConversion(string message)
{
string logFilePath = Path.Combine(_logDirectory, $"ConversionLog_{DateTime.Now.ToString("yyyyMMdd")}.txt");
string logEntry = $"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}] {message}";
try
{
File.AppendAllText(logFilePath, logEntry + Environment.NewLine);
}
catch (Exception ex)
{
Console.WriteLine($"Warning: Unable to write to log file: {ex.Message}");
}
Console.WriteLine(logEntry);
}
// Get all Excel files to process
private List<string> GetExcelFilesToProcess(string searchPattern = "*.xlsx")
{
List<string> excelFiles = new List<string>();
try
{
// Get all Excel files in the directory
excelFiles.AddRange(Directory.GetFiles(_inputDirectory, "*.xlsx"));
excelFiles.AddRange(Directory.GetFiles(_inputDirectory, "*.xls"));
excelFiles.AddRange(Directory.GetFiles(_inputDirectory, "*.xlsm"));
LogConversion($"Found {excelFiles.Count} Excel files to process.");
}
catch (Exception ex)
{
LogConversion($"Error searching for Excel files: {ex.Message}");
}
return excelFiles;
}
// Configure PDF conversion options
private LowCodePdfSaveOptions ConfigurePdfOptions()
{
// Create PDF save options
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Set whether each worksheet should be rendered as a separate page
pdfOpts.OnePagePerSheet = true;
// Set additional PDF options
pdfOpts.Compliance = PdfCompliance.PdfA1b; // For archival quality
pdfOpts.AllColumnsInOnePagePerSheet = true;
// Create low code PDF save options
LowCodePdfSaveOptions lcsopts = new LowCodePdfSaveOptions();
lcsopts.PdfOptions = pdfOpts;
return lcsopts;
}
// Process all Excel files in the input directory
public void ProcessAllFiles(bool useParallelProcessing = true)
{
LogConversion("Starting batch conversion process...");
List<string> excelFiles = GetExcelFilesToProcess();
if (excelFiles.Count == 0)
{
LogConversion("No Excel files found to process.");
return;
}
// Conversion statistics
int successCount = 0;
int failureCount = 0;
if (useParallelProcessing)
{
// For thread safety with parallel processing
object lockObj = new object();
// Process files in parallel
Parallel.ForEach(excelFiles,
new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },
excelFile =>
{
string fileName = Path.GetFileNameWithoutExtension(excelFile);
string outputFilePath = Path.Combine(_outputDirectory, $"{fileName}.pdf");
try
{
// Create load options for this file
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = excelFile;
// Configure PDF options for this file
LowCodePdfSaveOptions pdfOptions = ConfigurePdfOptions();
pdfOptions.OutputFile = outputFilePath;
// Process the conversion
PdfConverter.Process(loadOptions, pdfOptions);
lock (lockObj)
{
successCount++;
LogConversion($"Successfully converted: {fileName}");
}
}
catch (Exception ex)
{
lock (lockObj)
{
failureCount++;
LogConversion($"Failed to convert {fileName}: {ex.Message}");
}
}
});
}
else
{
// Process files sequentially
foreach (string excelFile in excelFiles)
{
string fileName = Path.GetFileNameWithoutExtension(excelFile);
string outputFilePath = Path.Combine(_outputDirectory, $"{fileName}.pdf");
try
{
// Create load options for this file
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = excelFile;
// Configure PDF options for this file
LowCodePdfSaveOptions pdfOptions = ConfigurePdfOptions();
pdfOptions.OutputFile = outputFilePath;
// Process the conversion
PdfConverter.Process(loadOptions, pdfOptions);
successCount++;
LogConversion($"Successfully converted: {fileName}");
}
catch (Exception ex)
{
failureCount++;
LogConversion($"Failed to convert {fileName}: {ex.Message}");
}
}
}
// Report summary
LogConversion("\n===== Conversion Summary =====");
LogConversion($"Total files processed: {excelFiles.Count}");
LogConversion($"Successfully converted: {successCount}");
LogConversion($"Failed conversions: {failureCount}");
LogConversion("Batch conversion process completed.");
}
}
class Program
{
static void Main(string[] args)
{
// Define directory paths
string inputDirectory = @"C:\Reports\ExcelFiles";
string outputDirectory = @"C:\Reports\PDFOutput";
string logDirectory = @"C:\Reports\Logs";
// Create and run the converter
ExcelToPdfBatchConverter converter = new ExcelToPdfBatchConverter(
inputDirectory, outputDirectory, logDirectory);
// Process all files (using parallel processing)
converter.ProcessAllFiles(true);
Console.WriteLine("Process completed. Press any key to exit.");
Console.ReadKey();
}
}
}
मामलों और अनुप्रयोगों का उपयोग करें
उद्यम रिपोर्टिंग सिस्टम
वित्तीय रिपोर्टिंग प्रणालियों में, महीने के अंत या तिमाही का चक्र अक्सर हितधारकों को वितरित करने के लिए कई एक्सेल-आधारित रिपोर्टों को पीडीएफ प्रारूप में परिवर्तित करना आवश्यक होता है. यह बैच रूपांतरण समाधान रिपोर्ट डेवलपर्स को प्रक्रिया को स्वचालित कर सकता है, यह सुनिश्चित करता है कि सभी रिपोर्ट लगातार सेटिंग्स और स्वरूपण के साथ कनवर्टर किए जाते हैं, जबकि नाटकीय रूप से मैन्युअल प्रयास को कम करते हैं. रिपोर्ट्स को मानक रूप में संग्रहीत किया जा सके, रिसेप्शन और अनुपालन को आसान बनाता है।
विभाग डेटा प्रसंस्करण
व्यवसाय विश्लेषकों जो कई विभागों से एक्सेल-आधारित डेटा इकट्ठा कर सकते हैं इस समाधान का उपयोग मानकीकृत करने और प्रस्तुतियों को संग्रहीत करने के लिए किया जा सकता है. स्वचालित रूप से प्राप्त कार्यपुस्तिकाओं को पीडीएफ में परिवर्तित करके, वे एक स्थायी रिकॉर्ड बनाते हैं, जबकि जानकारी को उन हितधारकों के साथ साझा करने में सक्षम बनाता है जिनके पास Excel नहीं है।
स्वचालित दस्तावेज प्रबंधन कार्यप्रवाह
दस्तावेज़ प्रबंधन प्रणालियों के साथ एकीकरण त्वरित हो जाता है जब एक्सेल रिपोर्ट्स स्वचालित रूप से पीडीएफ में परिवर्तित होते हैं. इस समाधान को एक बड़े कार्यप्रवाह के हिस्से के रूप में चलाने के लिए अनुसूचित किया जा सकता है जो नए Excel फ़ाइलों को पिकअप करता है, उन्हें PDF में रूपांतरित करता हूं, और फिर उन्हें सही मेटाडेटा वाले उपयुक्त वृत्तचित्रों में मार्गदर्शन देता है. निरंतर प्रारूपण और संग्रह-गुणवत्ता PDF आउटपुट व्यापार डेटा की दीर्घकालिक उपलब्धता सुनिश्चित करती है।
आम चुनौतियां और समाधान
चुनौती 1: पासवर्ड सुरक्षा के साथ Excel फ़ाइलों को संभालना
** समाधान:** लोड विकल्पों को शामिल करने के लिए परिवर्तित करें पासवर्ड प्रबंधन:
// For password-protected Excel files
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = excelFile;
loadOptions.Password = "YourPassword"; // Supply the password
// Then proceed with conversion as normal
PdfConverter.Process(loadOptions, pdfOptions);
चुनौती 2: PDF आउटपुट में Excel प्रारूपण बनाए रखना
** समाधान:** यह सुनिश्चित करें कि पीडीएफ विकल्पों को सही ढंग से कॉन्फ़िगर किया गया है ताकि प्रारूप बनाए रखा जा सके:
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OnePagePerSheet = true;
pdfOpts.PrintingPageType = PrintingPageType.ActualSize;
pdfOpts.DefaultFontName = "Arial"; // Specify a fallback font
pdfOpts.Compliance = PdfCompliance.PdfA1b; // For archival quality
चुनौती 3: बहुत बड़े एक्सेल फ़ाइलों को संभालना
** समाधान:** अत्यधिक बड़े फ़ाइलों के लिए, स्मृति ऑप्टिमाइज़ेशन लागू करें:
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions();
loadOptions.InputFile = largeExcelFile;
loadOptions.MemorySetting = MemorySetting.MemoryPreference; // Optimize for memory usage
// Consider file-specific optimizations
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OptimizationType = OptimizationType.MinimumSize;
प्रदर्शन विचार
- बड़े बैच के साथ सर्वोत्तम प्रदर्शन के लिए, एक उचित तरीके से समानांतर प्रसंस्करण दृष्टिकोण का उपयोग करें
MaxDegreeOfParallelism
आपके सर्वर की क्षमताओं के आधार पर - स्मृति दबाव से बचने के लिए बहुत बड़ी Excel कार्यपुस्तिकाओं के साथ काम करते समय छोटे पैट्स में फ़ाइलों को संसाधित करने पर विचार करें
- रूपांतरण की प्रगति और संसाधन उपयोग को ट्रैक करने के लिए एक निगरानी तंत्र लागू करें
- उत्पादन रिलीज के लिए, एक समर्पित सर्वर पर या ऑफ-पिक घंटों के दौरान रूपांतरण प्रक्रिया को चलाने पर विचार करें
सर्वश्रेष्ठ अभ्यास
- ** संभावित समस्याओं की पहचान करने के लिए बैच प्रसंस्करण से पहले Excel फ़ाइलों को पूर्व-सत्यापित करें**
- प्रदर्शन मजबूत त्रुटि प्रबंधन यह सुनिश्चित करने के लिए कि एक फ़ाइल विफल होने पर प्रक्रिया बंद नहीं होती है
- ** समस्या हल करने और ऑडिट करने के लिए रूपांतरण प्रक्रिया के विस्तृत लॉग बनाएं**
- आउटपुट पीडीएफ को सरल प्रबंधन के लिए एक संरचित फ़ोल्डर निर्देशिका में व्यवस्थित करें
- एक निगरानी प्रणाली स्थापित करें जो प्रबंधकों को रूपांतरण विफलताओं के बारे में चेतावनी देता है
- ** विभिन्न Excel फ़ाइल प्रकारों के साथ परीक्षण** (XLSX, XLS,XLSM) संगतता सुनिश्चित करने के लिए
उन्नत परिदृश्य
अधिक जटिल आवश्यकताओं के लिए, इन उन्नत कार्यान्वयनों पर विचार करें:
परिदृश्य 1: Excel सेल सामग्री के आधार पर कस्टम पीडीएफ नाम
आप पीडीएफ फ़ाइल नाम में उपयोग करने के लिए विशिष्ट सेल मूल्य निकाल सकते हैं:
// Advanced naming based on cell content
private string GetCustomPdfName(string excelFilePath)
{
try
{
// Load the workbook
Workbook workbook = new Workbook(excelFilePath);
// Get report date from cell A1
string reportDate = workbook.Worksheets[0].Cells["A1"].StringValue;
// Get report type from cell B1
string reportType = workbook.Worksheets[0].Cells["B1"].StringValue;
// Create a custom name
string customName = $"{reportType}_{reportDate}";
// Sanitize the filename
foreach (char invalidChar in Path.GetInvalidFileNameChars())
{
customName = customName.Replace(invalidChar, '_');
}
return customName + ".pdf";
}
catch
{
// Fallback to default naming if extraction fails
return Path.GetFileNameWithoutExtension(excelFilePath) + ".pdf";
}
}
परिदृश्य 2: सेलेक्टिव शीट रूपांतरण
प्रत्येक Excel फ़ाइल से केवल विशिष्ट शीटों को परिवर्तित करें:
// Configure PDF options to convert only specific sheets
private LowCodePdfSaveOptions ConfigureSelectiveSheetsOptions(string[] sheetNames)
{
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OnePagePerSheet = true;
// Create a worksheet name collection for selective conversion
WorksheetCollection worksheets = new WorksheetCollection();
foreach (string sheetName in sheetNames)
{
worksheets.Add(sheetName);
}
// Set sheet selection
SheetOptions sheetOptions = new SheetOptions();
sheetOptions.SheetNames = worksheets;
pdfOpts.SheetOptions = sheetOptions;
// Create low code PDF save options
LowCodePdfSaveOptions lcsopts = new LowCodePdfSaveOptions();
lcsopts.PdfOptions = pdfOpts;
return lcsopts;
}
Conclusion
बैच प्रसंस्करण के लिए Aspose.Cells LowCode PDF Converter को लागू करके, व्यावसायिक विश्लेषकों और रिपोर्ट डेवलपर्स मैनुअल Excel में PDF रूपांतरण पर बिताए गए समय को नाटकीय रूप से कम कर सकते हैं. यह दृष्टिकोण उत्पादकता में काफी सुधार करता है और मूल Excel फ़ाइलों की गुणवत्ता और प्रारूपण को बनाए रखते हुए सभी उत्पन्न पीडीएफ पर एकजुटता सुनिश्चित होता है. समाधान छोटे विभाग के उपयोग से लेकर उद्यम-विस्तृत रिपोर्टिंग सिस्टम तक स्केल किया जा सकता है, जिसमें विशिष्ट व्यवसाय आवश्यकताओं को पूरा करने वाले अनुकूलन के विकल्प होते हैं।
अधिक जानकारी और अतिरिक्त उदाहरण के लिए, संदर्भ Aspose.Cells.LowCode API संदर्भ .