Different Ways to Save Files

Different Ways to Save Files

Aspose.Cells provides the Workbook which represents a Microsoft Excel file and provides the properties and methods necessary to work with Excel files. The Workbook class provides the Save method used to save Excel files. The Save method has many overloads that are used to save files in different ways.

The file format that the file is saved to is decided by the SaveFormat enumeration

File Format Types Description
CSV Represents a CSV file
Excel97To2003 Represents an Excel 97 - 2003 file
Xlsx Represents an Excel 2007 XLSX file
Xlsm Represents an Excel 2007 XLSM file
Xltx Represents an Excel 2007 template XLTX file
Xltm Represents an Excel 2007 macro-enabled XLTM file
Xlsb Represents an Excel 2007 binary XLSB file
SpreadsheetML Represents a Spreadsheet XML file
TSV Represents a Tab-separated values file
TabDelimited Represents a Tab Delimited text file
ODS Represents an ODS file
Html Represents HTML file(s)
MHtml Represents an MHTML file(s)
Pdf Represents a PDF file
XPS Represents an XPS document
TIFF Represents Tagged Image File Format (TIFF)

How to Save File to Different Formats

To save files to a storage location, specify the file name (complete with storage path) and the desired file format (from the SaveFormat enumeration) when calling the Workbook object’s Save method.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xls";
// Load your source workbook
Workbook workbook = new Workbook(filePath);
// Save in Excel 97 to 2003 format
workbook.Save(dataDir + ".output.xls");
// OR
workbook.Save(dataDir + ".output.xls", new XlsSaveOptions());
// Save in Excel2007 xlsx format
workbook.Save(dataDir + ".output.xlsx", SaveFormat.Xlsx);
// Save in Excel2007 xlsb format
workbook.Save(dataDir + ".output.xlsb", SaveFormat.Xlsb);
// Save in ODS format
workbook.Save(dataDir + ".output.ods", SaveFormat.Ods);
// Save in Pdf format
workbook.Save(dataDir + ".output.pdf", SaveFormat.Pdf);
// Save in Html format
workbook.Save(dataDir + ".output.html", SaveFormat.Html);
// Save in SpreadsheetML format
workbook.Save(dataDir + ".output.xml", SaveFormat.SpreadsheetML);

How to Save Workbook to Pdf

Portable Document Format (PDF) is a type of document created by Adobe back in 1990s. The purpose of this file format was to introduce a standard for representation of documents and other reference material in a format that is independent of application software, hardware as well as Operating System. The PDF file format has full capability to contain information like text, images, hyperlinks, form-fields, rich media, digital signatures, attachments, metadata, Geospatial features and 3D objects in it that can become as part of source document.

The following codes shows how to save workboook as pdf file With Aspose.Cells:

// Instantiate the Workbook object
Workbook workbook = new Workbook();
//Set value to Cell.
workbook.Worksheets[0].Cells["A1"].PutValue("Hello World!");
workbook.Save("pdf1.pdf");
// Save as Pdf format compatible with PDFA-1a
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.Compliance = PdfCompliance.PdfA1a;
workbook.Save("pdfa1a.pdf");
view raw Save-As-Pdf.cs hosted with ❤ by GitHub

How to Save Workbook to Text or CSV Format

Sometimes, you want to convert or save a workbook with multiple worksheets into text format. For text formats (for example TXT, TabDelim, CSV, etc.), by default both Microsoft Excel and Aspose.Cells save the contents of the active worksheet only.

The following code example explains how to save an entire workbook into text format. Load the source workbook which could be any Microsoft Excel or OpenOffice spreadsheet file (so XLS, XLSX, XLSM, XLSB, ODS and so on) with any number of worksheets.

When the code is executed, it converts the data of all sheets in the workbook to the TXT format.

You can modify the same example to save your file to CSV. By default, TxtSaveOptions.Separator is comma, so do not specify a separator if saving to CSV format. Please note: If you are using the evaluation version and even if the TxtSaveOptions.ExportAllSheets property is set to true, the program will still only export one worksheet.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load your source workbook
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Text save options. You can use any type of separator
TxtSaveOptions opts = new TxtSaveOptions();
opts.Separator = '\t';
opts.ExportAllSheets = true;
// Save entire workbook data into file
workbook.Save(dataDir + "out.txt", opts);

How to Save File to Text Files with Custom Separator

Text files contain spreadsheet data without formatting. The file is a kind of plain text file that can have some customized delimiters between its data.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Create a Workbook object and opening the file from its path
Workbook wb = new Workbook(filePath);
// Instantiate Text File's Save Options
TxtSaveOptions options = new TxtSaveOptions();
// Specify the separator
options.Separator = Convert.ToChar(";");
// Save the file with the options
wb.Save(dataDir + "output.csv", options);

How to Save File to a Stream

To save files to a stream, create a MemoryStream or FileStream object and save the file to that stream object by calling the Workbook object’s Save method. Specify the desired file format using the SaveFormat enumeration when calling the Save method.

public async Task<IActionResult> DownloadExcel()
{
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Load your source workbook
Workbook workbook = new Workbook(filePath);
// Save the workbook to a memory stream
var stream = new MemoryStream();
workbook.Save(stream, SaveFormat.Xlsx);
// Reset the position of the stream to 0
stream.Position = 0;
// Set the content type and file name
var contentType = "application/octet-stream";
var fileName = "output.xlsx";
// Set the response headers
Response.Headers.Add("Content-Disposition", $"attachment; filename=\"{fileName}\"");
Response.ContentType = contentType;
// Write the file contents to the response body stream
await stream.CopyToAsync(Response.Body);
// Close the file stream
stream.Dispose();
// Return the response
return new EmptyResult();
}

How to Save Excel File to Html and Mht files

Aspose.Cells can simply save an Excel file ,JSON, CSV or other files which could be loaded by Aspose.Cells as .html and .mht files.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
//save file to mhtml format
workbook.Save("out.mht");

How to Save Excel File to OpenOffice (ODS, SXC, FODS, OTS)

We can saving the files as open offce format : ODS, SXC, FODS, OTS etc.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load your source workbook
Workbook workbook = new Workbook("book1.xlsx");
// Save as ods file
workbook.Save("Out.ods");
// Save as sxc file
workbook.Save("Out.sxc");
// Save as fods file
workbook.Save("Out.fods");

How to Save Excel File to JSON or XML

JSON (JavaScript Object Notation) is an open standard file format for sharing data that uses human-readable text to store and transmit data. JSON files are stored with the .json extension. JSON requires less formatting and is a good alternative for XML. JSON is derived from JavaScript but is a language-independent data format. The generation and parsing of JSON is supported by many modern programming languages. application/json is the media type used for JSON.

Aspose.Cells supports saving files to JSON or XML.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
// convert the workbook to json file.
workbook.Save(dir + "book1.json");

Advance topics

  • Adjust workbook compression level
  • Save Workbook to Strict Open XML Spreadsheet Format
  • Saving File to Response Object