Adjust Compression Level

Introduction

When it comes to handling large Excel files, efficient storage is key. Whether you’re a developer looking to optimize file sizes or a data analyst wanting to speed up file transfers, understanding how to adjust compression levels in Aspose.Cells for .NET can be a game changer. In this guide, we’ll walk you through the steps to adjust compression levels when saving Excel files, ensuring you maintain performance without sacrificing quality.

Prerequisites

Before diving into the nitty-gritty of compression levels, let’s make sure you have everything you need to get started:

  1. Basic Knowledge of C#: A foundational understanding of C# programming is essential. If you’re comfortable with variables, loops, and basic file operations, you’re good to go!
  2. Aspose.Cells for .NET Library: Ensure you have the Aspose.Cells library installed. You can download it from the website. If you’re just starting out, consider grabbing a free trial here.
  3. Development Environment: Set up your development environment, ideally Visual Studio, to write and execute your C# code.
  4. Sample Excel File: Have a large Excel file ready for testing. You can create one or use any existing file, but make sure it’s sizable enough to see the effects of compression.

With these prerequisites in place, let’s get started!

Import Packages

Before we can manipulate Excel files, we need to import the necessary namespaces. This is a crucial step that allows us to access the classes and methods provided by Aspose.Cells.

Import the Aspose.Cells Namespace

using Aspose.Cells.Rendering;
using Aspose.Cells.WebExtensions;
using System;

This code snippet imports the Aspose.Cells namespace, which contains all the classes needed to work with Excel files. The Aspose.Cells.Xlsb namespace is specifically for handling XLSB file formats.

Now that we have everything set up, let’s break down the process of adjusting compression levels into manageable steps. We’ll save a workbook with different compression levels and measure the time taken for each operation.

Step 1: Set Up Your Directories

First things first, we need to define where our files will be stored. This involves specifying the source directory for our input file and the output directory for our compressed files.

// Source directory
string sourceDir = "Your Document Directory";
string outDir = "Your Document Directory";

Step 2: Load the Workbook

Next, we’ll load the Excel workbook that we want to compress. This is where you’ll point to your large Excel file.

Workbook workbook = new Workbook(sourceDir + "LargeSampleFile.xlsx");

This line initializes a new Workbook object with the specified file. Make sure the file path is correct; otherwise, you’ll run into errors.

Step 3: Create Save Options for XLSB

Now, we’ll create an instance of XlsbSaveOptions, which allows us to specify how we want to save our workbook, including the compression level.

XlsbSaveOptions options = new XlsbSaveOptions();

This line prepares the options we’ll use for saving our workbook in XLSB format.

Step 4: Set and Measure Compression Levels

Now comes the fun part! We’ll save the workbook using different compression levels and measure the time taken for each operation.

Level 1 Compression

Let’s start with the lowest compression level:

options.CompressionType = OoxmlCompressionType.Level1;
var watch = System.Diagnostics.Stopwatch.StartNew();
workbook.Save(outDir + "LargeSampleFile_level_1_out.xlsb", options);
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;
Console.WriteLine("Level 1 Elapsed Time: " + elapsedMs);

In this snippet, we set the compression type to Level 1, save the workbook, and log the time taken.

Level 6 Compression

Next, we’ll try a mid-range compression level:

options.CompressionType = OoxmlCompressionType.Level6;
watch = System.Diagnostics.Stopwatch.StartNew();
workbook.Save(outDir + "LargeSampleFile_level_6_out.xlsb", options);
watch.Stop();
elapsedMs = watch.ElapsedMilliseconds;
Console.WriteLine("Level 6 Elapsed Time: " + elapsedMs);

This time, we set the compression type to Level 6 and repeat the save operation.

Level 9 Compression

Finally, let’s save using the highest compression level:

options.CompressionType = OoxmlCompressionType.Level9;
watch = System.Diagnostics.Stopwatch.StartNew();
workbook.Save(outDir + "LargeSampleFile_level_9_out.xlsb", options);
watch.Stop();
elapsedMs = watch.ElapsedMilliseconds;
Console.WriteLine("Level 9 Elapsed Time: " + elapsedMs);

In this step, we set the compression type to Level 9, which should yield the smallest file size but may take longer to save.

Step 5: Final Output

After executing all the above steps, you’ll see the elapsed times for each compression level printed to the console.

Console.WriteLine("AdjustCompressionLevel executed successfully.");

This line confirms that the entire process has been completed without issues.

Conclusion

Adjusting compression levels when saving Excel files with Aspose.Cells for .NET is a straightforward yet powerful technique. By following the steps outlined in this guide, you can easily manipulate file sizes, making them more manageable for storage and transfer. Whether you need quick access to data or are looking to optimize your application’s performance, mastering these techniques will undoubtedly enhance your skills as a developer.

FAQ’s

What is Aspose.Cells?

Aspose.Cells is a .NET library that allows developers to create, manipulate, and convert Excel files programmatically.

How do I download Aspose.Cells?

You can download the Aspose.Cells library from the website.

Can I use Aspose.Cells for free?

Yes, Aspose offers a free trial version that you can access here.

What are the different compression levels available?

Aspose.Cells supports multiple compression levels ranging from Level 1 (least compression) to Level 9 (maximum compression).

Where can I find support for Aspose.Cells?

You can get support and ask questions on the Aspose forum.