<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documentation – Loading and Managing Excel, OpenOffice, JSON, CSV, and HTML Files with Golang via C&#43;&#43;</title>
    <link>https://docs.aspose.com/cells/go-cpp/loading-saving-and-managing/</link>
    <description>Recent content in Loading and Managing Excel, OpenOffice, JSON, CSV, and HTML Files with Golang via C&#43;&#43; on Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="https://docs.aspose.com/cells/go-cpp/loading-saving-and-managing/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Gocpp: Load Specific Worksheets in a Workbook with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/load-specific-worksheets-in-a-workbook/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/load-specific-worksheets-in-a-workbook/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

By default, Aspose.Cells loads the entire spreadsheet into memory. It is possible to load only specific sheets, which can improve performance and consume less memory. This approach is useful when working with a large workbook made up of many worksheets.
&lt;/div&gt;

&lt;p&gt;&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-LoadSpecificWorksheetsInAWorkbook.go&#34;&gt;&lt;/script&gt;

Here is the implementation of the &lt;code&gt;CustomLoad&lt;/code&gt; class.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-LoadSpecificWorksheetsInAWorkbook-1.go&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Gocpp: Stop conversion or loading using InterruptMonitor when it is taking too long with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/stop-conversion-or-loading-using-interruptmonitor-when-it-is-taking-too-long/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/stop-conversion-or-loading-using-interruptmonitor-when-it-is-taking-too-long/</guid>
      <description>
        
        
        &lt;h2 id=&#34;possible-usage-scenarios&#34;&gt;&lt;strong&gt;Possible Usage Scenarios&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Aspose.Cells allows you to stop the conversion of a Workbook to various formats like PDF, HTML, etc., using the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/interruptmonitor/&#34;&gt;&lt;strong&gt;InterruptMonitor&lt;/strong&gt;&lt;/a&gt; object when it is taking too long. The conversion process is often both CPU‑ and memory‑intensive, and it is useful to halt it when resources are limited. You can use &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/interruptmonitor/&#34;&gt;&lt;strong&gt;InterruptMonitor&lt;/strong&gt;&lt;/a&gt; both for stopping conversion as well as for stopping the loading of huge workbooks. Please use the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/workbook/getinterruptmonitor/&#34;&gt;&lt;strong&gt;Workbook.InterruptMonitor&lt;/strong&gt;&lt;/a&gt; property for stopping conversion and the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loadoptions/getinterruptmonitor/&#34;&gt;&lt;strong&gt;LoadOptions.InterruptMonitor&lt;/strong&gt;&lt;/a&gt; property for loading huge workbooks.&lt;/p&gt;
&lt;h2 id=&#34;stop-conversion-or-loading-using-interruptmonitor-when-it-is-taking-too-long&#34;&gt;&lt;strong&gt;Stop conversion or loading using InterruptMonitor when it is taking too long&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The following sample code explains the usage of the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/interruptmonitor/&#34;&gt;&lt;strong&gt;InterruptMonitor&lt;/strong&gt;&lt;/a&gt; object. The code converts a quite large Excel file to PDF. It will take several seconds (i.e., &lt;em&gt;more than 30 seconds&lt;/em&gt;) to get it converted because of these lines of code.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-StopConversionOrLoadingUsingInterruptmonitorWhenItIsTakingTooLong.go&#34;&gt;&lt;/script&gt;

&lt;p&gt;As you see, &lt;strong&gt;J1000000&lt;/strong&gt; is quite a far cell in the XLSX file. However, the &lt;strong&gt;WaitForWhileAndThenInterrupt()&lt;/strong&gt; method interrupts the conversion after 10 seconds, and the program ends/terminates. Please use the following code to execute the sample code.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-StopConversionOrLoadingUsingInterruptmonitorWhenItIsTakingTooLong-1.go&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;sample-code&#34;&gt;&lt;strong&gt;Sample Code&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-StopConversionOrLoadingUsingInterruptmonitorWhenItIsTakingTooLong-2.go&#34;&gt;&lt;/script&gt;

&lt;button class=&#34;floating-button&#34; id=&#34;openModalBtn&#34;&gt;AI Document Assistant&lt;/button&gt;

&lt;div class=&#34;modal&#34; id=&#34;modal&#34;&gt;
    &lt;button class=&#34;close-btn&#34; id=&#34;closeModalBtn&#34;&gt;Close&lt;/button&gt;
    &lt;iframe src=&#34;https://products.aspose.ai/cells/chat/document/go?source=docs&#34; frameborder=&#34;0&#34; width=&#34;100%&#34; height=&#34;100%&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;style&gt;
    .floating-button {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: #007bff;
        color: white;
        border: none;
        padding: 15px 20px;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        z-index: 999;
    }

    .modal {
        display: none;
        position: fixed;
        top: 10%;
        left: 10%;
        width: 80%;
        height: 80%;
        background-color: white;
        border: none;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
        z-index: 1000;
        padding: 20px;
        box-sizing: border-box;
    }

    .close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        background-color: #f44336;
        color: white;
        border: none;
        padding: 5px 10px;
        cursor: pointer;
        font-size: 16px;
        border-radius: 3px;
    }
&lt;/style&gt;

&lt;script&gt;
    const openModalBtn = document.getElementById(&#39;openModalBtn&#39;);
    const closeModalBtn = document.getElementById(&#39;closeModalBtn&#39;);
    const modal = document.getElementById(&#39;modal&#39;);

    openModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;block&#39;;
    });

    closeModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;none&#39;;
    });

    window.addEventListener(&#39;click&#39;, function(event) {
        if (event.target === modal) {
            modal.style.display = &#39;none&#39;;
        }
    });
&lt;/script&gt;
&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Gocpp: Get Warnings while Loading Excel File with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/get-warnings-while-loading-excel-file/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/get-warnings-while-loading-excel-file/</guid>
      <description>
        
        
        &lt;h2 id=&#34;possible-usage-scenarios&#34;&gt;&lt;strong&gt;Possible Usage Scenarios&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Sometimes the user tries to load a workbook that is somewhat corrupt but still loadable. In such cases, Aspose.Cells throws warnings while loading the workbook. You can catch these warnings by implementing the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/iwarningcallback/&#34;&gt;&lt;strong&gt;IWarningCallback&lt;/strong&gt;&lt;/a&gt; interface and setting the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loadoptions/getwarningcallback/&#34;&gt;&lt;strong&gt;LoadOptions.GetWarningCallback()&lt;/strong&gt;&lt;/a&gt; property.&lt;/p&gt;
&lt;h2 id=&#34;get-warnings-while-loading-excel-file&#34;&gt;&lt;strong&gt;Get Warnings while Loading Excel File&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The following sample code explains how to get warnings while loading an Excel file. The code loads the &lt;a href=&#34;sampleDuplicateDefinedName.xlsx&#34;&gt;sample Excel file&lt;/a&gt;, which throws a &lt;strong&gt;DuplicateDefinedName&lt;/strong&gt; warning on loading. This warning is then caught by the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/iwarningcallback/warning/&#34;&gt;&lt;strong&gt;IWarningCallback.Warning()&lt;/strong&gt;&lt;/a&gt; method, which prints the warning messages on the console. The code then saves the workbook as an &lt;a href=&#34;outputDuplicateDefinedName.xlsx&#34;&gt;output Excel file&lt;/a&gt;. If you open the sample Excel file in Microsoft Excel, it will also display this warning, as shown in the screenshot below. Please also check the console output of the code given below for better understanding.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;get-warnings-while-loading-excel-file_1.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;sample-code&#34;&gt;&lt;strong&gt;Sample Code&lt;/strong&gt;&lt;/h2&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-GetWarningsWhileLoadingExcelFile.go&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;console-output&#34;&gt;&lt;strong&gt;Console Output&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Here is the console output of the above code when executed with the provided &lt;a href=&#34;sampleDuplicateDefinedName.xlsx&#34;&gt;sample Excel file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;n&#34;&gt;Duplicate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Defined&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Warning&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PRINT_AREA&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReferTo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Introduction&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;$D$16&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;$D$17&lt;/span&gt;

&lt;span class=&#34;n&#34;&gt;Duplicate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Defined&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Warning&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PRINT_AREA&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReferTo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Panel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;$B$228&lt;/span&gt;

&lt;span class=&#34;n&#34;&gt;Duplicate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Defined&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Warning&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PRINT_AREA&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReferTo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Queries&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;$D$14&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;$D$16&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;button class=&#34;floating-button&#34; id=&#34;openModalBtn&#34;&gt;AI Document Assistant&lt;/button&gt;

&lt;div class=&#34;modal&#34; id=&#34;modal&#34;&gt;
    &lt;button class=&#34;close-btn&#34; id=&#34;closeModalBtn&#34;&gt;Close&lt;/button&gt;
    &lt;iframe src=&#34;https://products.aspose.ai/cells/chat/document/go?source=docs&#34; frameborder=&#34;0&#34; width=&#34;100%&#34; height=&#34;100%&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;style&gt;
    .floating-button {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: #007bff;
        color: white;
        border: none;
        padding: 15px 20px;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        z-index: 999;
    }

    .modal {
        display: none;
        position: fixed;
        top: 10%;
        left: 10%;
        width: 80%;
        height: 80%;
        background-color: white;
        border: none;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
        z-index: 1000;
        padding: 20px;
        box-sizing: border-box;
    }

    .close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        background-color: #f44336;
        color: white;
        border: none;
        padding: 5px 10px;
        cursor: pointer;
        font-size: 16px;
        border-radius: 3px;
    }
&lt;/style&gt;

&lt;script&gt;
    const openModalBtn = document.getElementById(&#39;openModalBtn&#39;);
    const closeModalBtn = document.getElementById(&#39;closeModalBtn&#39;);
    const modal = document.getElementById(&#39;modal&#39;);

    openModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;block&#39;;
    });

    closeModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;none&#39;;
    });

    window.addEventListener(&#39;click&#39;, function(event) {
        if (event.target === modal) {
            modal.style.display = &#39;none&#39;;
        }
    });
&lt;/script&gt;
&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Gocpp: Using LightCells API with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/using-lightcells-api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/using-lightcells-api/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Sometimes you need to read and write large Microsoft Excel files with a huge list of data or content in the worksheet. The LightCells API is useful for creating huge Excel spreadsheets: with it, you need less memory and get better performance and efficiency.
&lt;/div&gt;

&lt;h1 id=&#34;eventdriven-architecture&#34;&gt;Event‑Driven Architecture&lt;/h1&gt;
&lt;p&gt;Aspose.Cells provides the LightCells API, mainly designed to manipulate cell data one by one without building a complete data model block (using the Cell collection etc.) into memory. It works in an event‑driven mode.&lt;/p&gt;
&lt;p&gt;To save workbooks, provide the cell content cell by cell when saving, and the component saves it to the output file directly.&lt;/p&gt;
&lt;p&gt;When reading template files, the component parses every cell and provides its value one by one.&lt;/p&gt;
&lt;p&gt;In both procedures, one Cell object is processed and then discarded; the Workbook object does not hold the collection. In this mode, therefore, memory is saved when importing and exporting Microsoft Excel &lt;strong&gt;files&lt;/strong&gt; that have a large data set which would otherwise use a lot of memory.&lt;/p&gt;
&lt;p&gt;Even though the LightCells API processes the cells in the same way for XLSX and XLS files (it does not actually load all cells in memory but processes one cell and then discards it), it saves memory more effectively for XLSX files than XLS files because of the different data models and structures of the two formats.&lt;/p&gt;
&lt;p&gt;However, &lt;strong&gt;for XLS files&lt;/strong&gt;, to save more memory, developers can specify a temporary location for saving temporary data generated during the Save process. Commonly, &lt;strong&gt;using LightCells API to save an XLSX file may save 50% or more memory compared with the common method; saving XLS may save about 20–40% memory&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;writing-a-large-excel-file&#34;&gt;Writing a Large Excel File&lt;/h2&gt;
&lt;p&gt;Aspose.Cells provides an interface, &lt;code&gt;LightCellsDataProvider&lt;/code&gt;, that needs to be implemented in your program. The interface represents the data provider for saving large spreadsheet files in light‑weight mode.&lt;/p&gt;
&lt;p&gt;When saving a workbook in this mode, &lt;code&gt;StartSheet(int)&lt;/code&gt; is called for each worksheet in the workbook. For one sheet, if &lt;code&gt;StartSheet(int)&lt;/code&gt; returns true, then all the data and properties of rows and cells of this sheet to be saved are provided by this implementation. Initially, &lt;code&gt;NextRow()&lt;/code&gt; is called to get the next row index to be saved. If a valid row index is returned (the row index must be in ascending order for the rows to be saved), then a &lt;code&gt;Row&lt;/code&gt; object representing this row is provided for the implementation to set its properties via &lt;code&gt;StartRow(Row)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For one row, &lt;code&gt;NextCell()&lt;/code&gt; is checked first. If a valid column index is returned (the column index must be in ascending order for all cells of one row to be saved), then a &lt;code&gt;Cell&lt;/code&gt; object representing that cell is provided for the implementation to set its data and properties via &lt;code&gt;StartCell(Cell)&lt;/code&gt;. After the data of the cell is set, the cell is saved directly to the generated spreadsheet file and the next cell is checked and processed.&lt;/p&gt;
&lt;h3 id=&#34;writing-a-large-excel-file-example&#34;&gt;Writing a Large Excel File: Example&lt;/h3&gt;
&lt;p&gt;Please see the following sample code to see the working of the LightCells API. Add, remove, or update the code segments according to your needs.&lt;/p&gt;
&lt;p&gt;The program creates a huge file with &lt;strong&gt;10,000 (10000 × 30 matrix) records&lt;/strong&gt; in a worksheet and fills them with dummy data. You can specify your own matrix by changing the &lt;code&gt;rowsCount&lt;/code&gt; and &lt;code&gt;colsCount&lt;/code&gt; variables in the &lt;code&gt;Main()&lt;/code&gt; method.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-UsingLightcellsApi.go&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;reading-large-excel-files&#34;&gt;Reading Large Excel Files&lt;/h2&gt;
&lt;p&gt;Aspose.Cells provides an interface, &lt;code&gt;LightCellsDataHandler&lt;/code&gt;, that needs to be implemented in your program. The interface represents the data provider for reading large spreadsheet files in light‑weight mode.&lt;/p&gt;
&lt;p&gt;When reading a workbook in this mode, &lt;code&gt;StartSheet&lt;/code&gt; is called for each worksheet in the workbook. For a sheet, if &lt;code&gt;StartSheet&lt;/code&gt; returns true, then all the data and properties of the cells in the rows and columns of the sheet are processed by the implementation of this interface. For each row, &lt;code&gt;StartRow&lt;/code&gt; is called to determine whether it needs to be processed. If a row needs processing, its properties are read first and the developer can access them with &lt;code&gt;ProcessRow&lt;/code&gt;. If the row&amp;rsquo;s cells also need processing, then &lt;code&gt;ProcessRow&lt;/code&gt; should return true and &lt;code&gt;StartCell&lt;/code&gt; is called for each existing cell in the row to determine whether the cell should be processed. If a cell needs processing, then &lt;code&gt;ProcessCell&lt;/code&gt; is called to handle the cell by the implementation of this interface.&lt;/p&gt;
&lt;h3 id=&#34;reading-large-excel-files-example&#34;&gt;Reading Large Excel Files: Example&lt;/h3&gt;
&lt;p&gt;Please see the following sample code to see the working of the LightCells API. Add, remove, or update the code segments according to your needs.&lt;/p&gt;
&lt;p&gt;The program reads a huge file with millions of records in a worksheet. It takes a little time to read each sheet in the workbook. The sample code reads the file and retrieves the total number of cells, the string count and the formula count in each worksheet.&lt;/p&gt;
&lt;p&gt;&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-UsingLightcellsApi-1.go&#34;&gt;&lt;/script&gt;

&lt;button class=&#34;floating-button&#34; id=&#34;openModalBtn&#34;&gt;AI Document Assistant&lt;/button&gt;

&lt;div class=&#34;modal&#34; id=&#34;modal&#34;&gt;
    &lt;button class=&#34;close-btn&#34; id=&#34;closeModalBtn&#34;&gt;Close&lt;/button&gt;
    &lt;iframe src=&#34;https://products.aspose.ai/cells/chat/document/go?source=docs&#34; frameborder=&#34;0&#34; width=&#34;100%&#34; height=&#34;100%&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;style&gt;
    .floating-button {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: #007bff;
        color: white;
        border: none;
        padding: 15px 20px;
        border-radius: 50px;
        cursor: pointer;
        font-size: 16px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        z-index: 999;
    }

    .modal {
        display: none;
        position: fixed;
        top: 10%;
        left: 10%;
        width: 80%;
        height: 80%;
        background-color: white;
        border: none;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
        z-index: 1000;
        padding: 20px;
        box-sizing: border-box;
    }

    .close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        background-color: #f44336;
        color: white;
        border: none;
        padding: 5px 10px;
        cursor: pointer;
        font-size: 16px;
        border-radius: 3px;
    }
&lt;/style&gt;

&lt;script&gt;
    const openModalBtn = document.getElementById(&#39;openModalBtn&#39;);
    const closeModalBtn = document.getElementById(&#39;closeModalBtn&#39;);
    const modal = document.getElementById(&#39;modal&#39;);

    openModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;block&#39;;
    });

    closeModalBtn.addEventListener(&#39;click&#39;, function() {
        modal.style.display = &#39;none&#39;;
    });

    window.addEventListener(&#39;click&#39;, function(event) {
        if (event.target === modal) {
            modal.style.display = &#39;none&#39;;
        }
    });
&lt;/script&gt;
&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Gocpp: Optimizing Memory Usage while Working with Big Files that Have Large Datasets with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/optimizing-memory-usage-while-working-with-big-files-having-large-datasets/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/optimizing-memory-usage-while-working-with-big-files-having-large-datasets/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

&lt;p&gt;When building a workbook with large data sets, or reading a big Microsoft Excel file, the total amount of RAM the process will take is always a concern. There are measures that can be adapted to cope with the challenge. Aspose.Cells provides some relevant options and API calls to lower, reduce, and optimize memory use. It can also help the process work more efficiently and run faster.&lt;/p&gt;
&lt;p&gt;Use the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.MemoryPreference&lt;/strong&gt;&lt;/a&gt; option to optimize memory use for cell data and decrease the overall memory cost. When building a large data set for cells, it can save a certain amount of memory compared to using the default setting (&lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.Normal&lt;/strong&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;optimizing-memory&#34;&gt;&lt;strong&gt;Optimizing Memory&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;reading-large-excel-files&#34;&gt;&lt;strong&gt;Reading Large Excel Files&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The following example shows how to read a large Microsoft Excel file in optimized mode.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-OptimizingMemoryUsageWhileWorkingWithBigFilesHavingLargeDatasets.go&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;writing-large-excel-files&#34;&gt;&lt;strong&gt;Writing Large Excel Files&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The following example shows how to write a large dataset to a worksheet in an optimized mode.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-OptimizingMemoryUsageWhileWorkingWithBigFilesHavingLargeDatasets-1.go&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;caution&#34;&gt;&lt;strong&gt;Caution&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The default option, &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.Normal&lt;/strong&gt;&lt;/a&gt;, is applied for all versions. For some situations, such as building a workbook with a large data set for cells, the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.MemoryPreference&lt;/strong&gt;&lt;/a&gt; option may optimize memory use and decrease the memory cost for the application. However, this option may degrade performance in some special cases such as the following.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Accessing Cells Randomly and Repeatedly&lt;/strong&gt;: The most efficient sequence for accessing the cells collection is cell by cell in one row, and then row by row. Especially, if you access rows/cells by the enumerator acquired from &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/cells/&#34;&gt;&lt;strong&gt;Cells&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/rowcollection/&#34;&gt;&lt;strong&gt;RowCollection&lt;/strong&gt;&lt;/a&gt; and &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/row/&#34;&gt;&lt;strong&gt;Row&lt;/strong&gt;&lt;/a&gt;, performance is maximized with &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.MemoryPreference&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Inserting &amp;amp; Deleting Cells &amp;amp; Rows&lt;/strong&gt;: Please note that if there are many insert/delete operations for cells/rows, the performance degradation will be notable for &lt;em&gt;MemoryPreference&lt;/em&gt; mode compared to the &lt;em&gt;Normal&lt;/em&gt; mode.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Operating on Different Cell Types&lt;/strong&gt;: If most of the cells contain string values or formulas, the memory cost will be the same as &lt;em&gt;Normal&lt;/em&gt; mode, but if there are many empty cells, or cell values are numeric, boolean, and so on, the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/memorysetting/&#34;&gt;&lt;strong&gt;MemorySetting.MemoryPreference&lt;/strong&gt;&lt;/a&gt; option will give better performance.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Gocpp: Filter Objects while loading Workbook or Worksheet with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/filter-objects-while-loading-workbook-or-worksheet/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/filter-objects-while-loading-workbook-or-worksheet/</guid>
      <description>
        
        
        &lt;h2 id=&#34;possible-usage-scenarios&#34;&gt;&lt;strong&gt;Possible Usage Scenarios&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Please use the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loadoptions/getloadfilter/&#34;&gt;LoadOptions.GetLoadFilter()&lt;/a&gt; property while filtering data from the workbook. However, if you want to filter data from individual worksheets, you will have to override the &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/loadfilter/startsheet/&#34;&gt;LoadFilter.StartSheet&lt;/a&gt; method. Please provide an appropriate value from the &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/loaddatafilteroptions/&#34;&gt;LoadDataFilterOptions&lt;/a&gt; enumeration when creating or using a &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/loadfilter/&#34;&gt;LoadFilter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loaddatafilteroptions/&#34;&gt;LoadDataFilterOptions&lt;/a&gt; enumeration has the following possible values.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All&lt;/li&gt;
&lt;li&gt;BookSettings&lt;/li&gt;
&lt;li&gt;CellBlank&lt;/li&gt;
&lt;li&gt;CellBool&lt;/li&gt;
&lt;li&gt;CellData&lt;/li&gt;
&lt;li&gt;CellError&lt;/li&gt;
&lt;li&gt;CellNumeric&lt;/li&gt;
&lt;li&gt;CellString&lt;/li&gt;
&lt;li&gt;CellValue&lt;/li&gt;
&lt;li&gt;Chart&lt;/li&gt;
&lt;li&gt;ConditionalFormatting&lt;/li&gt;
&lt;li&gt;DataValidation&lt;/li&gt;
&lt;li&gt;DefinedNames&lt;/li&gt;
&lt;li&gt;DocumentProperties&lt;/li&gt;
&lt;li&gt;Formula&lt;/li&gt;
&lt;li&gt;Hyperlinks&lt;/li&gt;
&lt;li&gt;MergedArea&lt;/li&gt;
&lt;li&gt;PivotTable&lt;/li&gt;
&lt;li&gt;Settings&lt;/li&gt;
&lt;li&gt;Shape&lt;/li&gt;
&lt;li&gt;SheetData&lt;/li&gt;
&lt;li&gt;SheetSettings&lt;/li&gt;
&lt;li&gt;Structure&lt;/li&gt;
&lt;li&gt;Style&lt;/li&gt;
&lt;li&gt;Table&lt;/li&gt;
&lt;li&gt;VBA&lt;/li&gt;
&lt;li&gt;XmlMap&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;filter-objects-while-loading-workbook&#34;&gt;&lt;strong&gt;Filter Objects while loading Workbook&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The following sample code illustrates how to filter charts from the workbook. Please check the &lt;a href=&#34;5115258.xlsx&#34;&gt;sample Excel file&lt;/a&gt; used in this code and the &lt;a href=&#34;5115257.pdf&#34;&gt;output PDF&lt;/a&gt; generated by it. As you can see in the output PDF, all charts have been filtered out of the workbook.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-FilterObjectsWhileLoadingWorkbookOrWorksheet.go&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;filter-objects-while-loading-worksheet&#34;&gt;&lt;strong&gt;Filter Objects while loading Worksheet&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The following sample code loads the &lt;a href=&#34;5115255.xlsx&#34;&gt;source Excel file&lt;/a&gt; and filters the following data from its worksheets using a custom filter.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It filters charts from the worksheet named &lt;strong&gt;NoCharts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It filters shapes from the worksheet named &lt;strong&gt;NoShapes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It filters conditional formatting from the worksheet named &lt;strong&gt;NoConditionalFormatting&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once it loads the source Excel file with a custom filter, it captures the images of all worksheets one by one. Here are the output images for your reference. As you can see, the first image does not have charts, the second image does not have shapes, and the third image does not have conditional formatting.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;5115254.png&#34;&gt;NoCharts.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;5115256.png&#34;&gt;NoShapes.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;5115251.png&#34;&gt;NoConditionalFormatting.png&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-FilterObjectsWhileLoadingWorkbookOrWorksheet-1.go&#34;&gt;&lt;/script&gt;

&lt;p&gt;This is how to use the &lt;strong&gt;CustomLoadFilter&lt;/strong&gt; class for specific worksheet names.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-FilterObjectsWhileLoadingWorkbookOrWorksheet-2.go&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Gocpp: Filtering the kind of data while loading the workbook from a template file with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/filtering-the-kind-of-data-while-loading-the-workbook-from-template-file/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/filtering-the-kind-of-data-while-loading-the-workbook-from-template-file/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Sometimes you want to specify which kind of data should be loaded when building the workbook from the template file. Filtering loaded data can improve performance for your specific purpose, especially when using &lt;a href=&#34;https://docs.aspose.com/cells/cells/cpp/using-lightcells-api/&#34;&gt;LightCells APIs&lt;/a&gt;. Please use the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loadoptions/getloadfilter/&#34;&gt;&lt;strong&gt;LoadOptions.GetLoadFilter()&lt;/strong&gt;&lt;/a&gt; property for this purpose.
&lt;/div&gt;

&lt;p&gt;The following sample code loads only shape objects while loading the workbook from the &lt;a href=&#34;5115552.xlsx&#34;&gt;template file&lt;/a&gt; which you can download from the given link. The following screenshot shows the &lt;a href=&#34;5115552.xlsx&#34;&gt;template file&lt;/a&gt; contents and also explains that the data in red color and yellow background will not be loaded because the &lt;a href=&#34;https://reference.aspose.com/cells/go-cpp/loadoptions/getloadfilter/&#34;&gt;&lt;strong&gt;LoadOptions.GetLoadFilter()&lt;/strong&gt;&lt;/a&gt; property has been set to &lt;a href=&#34;https://reference.aspose.com/cells/cpp/aspose.cells/loaddatafilteroptions/&#34;&gt;&lt;strong&gt;LoadDataFilterOptions.Shape&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;filtering-the-kind-of-data-while-loading-the-workbook-from-template-file_1.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/p&gt;
&lt;p&gt;The following screenshot shows the &lt;a href=&#34;5115555.pdf&#34;&gt;output PDF&lt;/a&gt; which you can download from the given link. Here you can see that the data in red color and yellow background is not present, but all shapes are there.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;filtering-the-kind-of-data-while-loading-the-workbook-from-template-file_2.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-FilteringTheKindOfDataWhileLoadingTheWorkbookFromTemplateFile.go&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Gocpp: Load Source Excel File Without Charts with Golang via C&#43;&#43;</title>
      <link>https://docs.aspose.com/cells/go-cpp/load-source-excel-file-without-charts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/cells/go-cpp/load-source-excel-file-without-charts/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Aspose.Cells allows you to load an Excel file without charts. Please use the &lt;strong&gt;LoadOptions.GetLoadFilter()&lt;/strong&gt; property for this purpose.
&lt;/div&gt;

&lt;h2 id=&#34;load-spreadsheet-without-charts&#34;&gt;&lt;strong&gt;Load Spreadsheet Without Charts&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The following sample code loads the sample Excel file without charts and saves it as a PDF file.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/aspose-cells-gists/b414abd53259bbc47d2c3c0fe985395b.js?file=Examples-Go-CPP-LoadSourceExcelFileWithoutCharts.go&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
  </channel>
</rss>
