Различные способы сохранения файлов

Различные способы сохранения файлов

Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel и обеспечивает необходимые свойства и методы для работы с файлами Excel. Класс Workbook предоставляет метод Save, используемый для сохранения файлов Excel. Метод Save имеет множество перегрузок, которые используются для сохранения файлов различными способами.

Формат файла, в который файл сохраняется, определяется перечислением SaveFormat

Типы форматов файлов Описание
CSV Представляет собой файл CSV
Excel97To2003 Представляет файл Excel 97 - 2003
Xlsx Представляет файл Excel 2007 XLSX
Xlsm Представляет файл Excel 2007 XLSM
Xltx Представляет шаблон файла Excel 2007 XLTX
Xltm Представляет макросов Excel 2007 XLTM
Xlsb Представляет двоичный файл Excel 2007 XLSB
SpreadsheetML Представляет файл XML электронной таблицы
TSV Представляет собой файл значений, разделенных табуляцией
TabDelimited Представляет файл текста с табуляцией
ODS Представляет собой файл ODS
Html Представляет файл(ы) HTML
MHtml Представляет файл(ы) MHTML
Pdf Представляет файл PDF
XPS Представляет документ XPS
TIFF Представляет файл формата Tagged Image File Format (TIFF)

Как сохранить файл в разных форматах

Для сохранения файлов в хранилище необходимо указать имя файла (с полным путем к хранилищу) и желаемый формат файла (из перечисления SaveFormat) при вызове метода Workbook объекта Save.

// 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);

Как сохранить книгу в Pdf

Формат портативного документа (PDF) - это тип документа, созданный Adobe еще в 1990 годах. Цель этого формата файла заключалась во введении стандарта для представления документов и других справочных материалов в формате, независимом от прикладного программного обеспечения, аппаратного обеспечения и операционной системы. Формат файла PDF обладает полной способностью содержать информацию, такую как текст, изображения, гиперссылки, форм-поля, мультимедийные элементы, цифровые подписи, вложения, метаданные, геопространственные объекты и 3D-объекты, которые могут стать частью исходного документа.

Следующие коды показывают, как сохранить книгу в формате PDF с помощью 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

Как сохранить книгу в формате текста или CSV

Иногда вам может потребоваться конвертировать или сохранить книгу с несколькими листами в текстовом формате. Для текстовых форматов (например, TXT, TabDelim, CSV и т. д.) как Microsoft Excel, так и Aspose.Cells по умолчанию сохраняют только содержимое активного листа.

В следующем примере кода объясняется, как сохранить всю книгу в текстовом формате. Загрузите исходную книгу, которая может быть любым файлом электронных таблиц Microsoft Excel или OpenOffice (например, XLS, XLSX, XLSM, XLSB, ODS и т. д.) с любым количеством листов.

При выполнении кода он преобразует данные всех листов рабочей книги в формат TXT

Вы можете изменить тот же пример, чтобы сохранить свой файл в CSV. По умолчанию TxtSaveOptions.Separator — запятая, поэтому не указывайте разделитель при сохранении в формат CSV. Обратите внимание: Если вы используете оценочную версию и даже если свойство TxtSaveOptions.ExportAllSheets установлено в true, программа все равно экспортирует только один лист.

// 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);

Как сохранить файл в текстовые файлы с пользовательским разделителем

Текстовые файлы содержат данные электронных таблиц без форматирования. Файл представляет собой своего рода обычный текстовый файл, который может содержать некоторые настраиваемые разделители между его данными.

// 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);

Как сохранить файл в поток

Для сохранения файлов в поток создайте объект MemoryStream или FileStream и сохраните файл в этот объект потока, вызвав метод Workbook объекта объекта Save. Укажите желаемый формат файла, используя перечисление SaveFormat при вызове метода Save.

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();
}

Как сохранить файл Excel в файлы Html и Mht

Aspose.Cells просто может сохранить файл Excel, JSON, CSV или другие файлы, которые могут быть загружены Aspose.Cells, в файлы .html и .mht.

// 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");

Как сохранить файл Excel в форматы OpenOffice (ODS, SXC, FODS, OTS)

Мы можем сохранить файлы в формате OpenOffice: ODS, SXC, FODS, OTS и т. д.

// 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");

Как сохранить файл Excel в формат JSON или XML

JSON (JavaScript Object Notation) – это открытый стандартный файловый формат для обмена данными, который использует удобочитаемый текст для хранения и передачи данных. JSON-файлы сохраняются с расширением .json. JSON требует меньше форматирования и является хорошей альтернативой XML. JSON происходит из JavaScript, но является независимым от языка форматом данных. Создание и разбор JSON поддерживается многими современными языками программирования. application/json – это тип медиа-формат, используемый для JSON.

Aspose.Cells поддерживает сохранение файлов в форматах JSON или 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");

Продвинутые темы