Excel管理控件Aspose.Cells开发者指南(三):保存Excel文件的不同方法

Aspose.Cells提供了Workbook表示Microsoft Excel文件的内容,并提供了使用Excel文件所需的属性和方法。本Workbook类提供了Save用于保存Excel文件的方法。该Save方法有许多重载,用于以不同方式保存文件。

Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。

【下载体验Aspose.Cells for .NET最新版】

在接下来的系列教程中,将为开发者带来Aspose.Cells for .NET的一系列使用教程,例如关于加载保存转换、字体、渲染、绘图、智能标记等等。

第一章:加载,保存,转换和管理

▲第三节:保存文件的不同方法

Aspose.Cells提供了Workbook表示Microsoft Excel文件的内容,并提供了使用Excel文件所需的属性和方法。本Workbook类提供了Save用于保存Excel文件的方法。该Save方法有许多重载,用于以不同方式保存文件。

将文件保存到某个位置


要将文件保存到存储位置,请SaveFormat在调用Workbook对象的Save方法时指定文件名(包含存储路径)和所需的文件格式(从枚举中)。

// 文档目录的路径。string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);string filePath = dataDir + "Book1.xls";//加载源工作簿Workbook workbook = new Workbook(filePath);//以Excel 97003格式保存workbook.Save(dataDir + ".output.xls");// ORworkbook.Save(dataDir + ".output..xls", new XlsSaveOptions(SaveFormat.Excel97To2003));//以Excel2007 xlsx格式保存workbook.Save(dataDir + ".output.xlsx", SaveFormat.Xlsx);//以Excel2007 xlsb格式保存workbook.Save(dataDir + ".output.xlsb", SaveFormat.Xlsb);//以ODS格式保存workbook.Save(dataDir + ".output.ods", SaveFormat.ODS);//以Pdf格式保存workbook.Save(dataDir + ".output.pdf", SaveFormat.Pdf);//以Html格式保存workbook.Save(dataDir + ".output.html", SaveFormat.Html);//以SpreadsheetML格式保存workbook.Save(dataDir + ".output.xml", SaveFormat.SpreadsheetML);

将工作簿保存为文本或CSV格式


对于文本格式(例如TXT,TabDelim,CSV等),默认情况下,Microsoft Excel和Aspose.Cells仅保存活动工作表的内容。以下代码示例说明如何将整个工作簿保存为文本格式。使用任意数量的工作表加载源工作簿,该工作簿可以是任何Microsoft Excel或OpenOffice电子表格文件(因此XLS,XLSX,XLSM,XLSB,ODS等)。

执行代码时,它会将工作簿中所有工作表的数据转换为TXT格式。可以修改相同的示例以将文件保存为CSV。默认情况下,TxtSaveOptions.Separator是逗号,因此如果保存为CSV格式,请不要指定分隔符。

//文档目录的路径。string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);//加载源工作簿Workbook workbook = new Workbook(dataDir + "book1.xls");// 0字节数组byte[] workbookData = new byte[0];//文本保存选项。您可以使用任何类型的分隔符TxtSaveOptions opts = new TxtSaveOptions();opts.Separator = 't';//在工作簿数据数组中以文本格式复制每个工作表数据for (int idx = 0; idx < workbook.Worksheets.Count; idx++){    // 将活动工作表保存为文本格式    MemoryStream ms = new MemoryStream();    workbook.Worksheets.ActiveSheetIndex = idx;    workbook.Save(ms, opts);    //将工作表数据保存到工作表数据数组中    ms.Position = 0;    byte[] sheetData = ms.ToArray();    //将此工作表数据合并到工作簿数据数组中    byte[] combinedArray = new byte[workbookData.Length + sheetData.Length];    Array.Copy(workbookData, 0, combinedArray, 0, workbookData.Length);    Array.Copy(sheetData, 0, combinedArray, workbookData.Length, sheetData.Length);    workbookData = combinedArray;}// 将整个工作簿数据保存到文件中File.WriteAllBytes(dataDir + "out.txt", workbookData);

使用自定义分隔符保存文本文件


文本文件包含没有格式的电子表格数据。该文件是一种纯文本文件,可以在其数据之间包含一些自定义分隔符。

  //文档目录的路径。string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);string filePath = dataDir + "Book1.xlsx";//创建一个Workbook对象并从其路径中打开该文件Workbook wb = new Workbook(filePath);//实例化文本文件的保存选项TxtSaveOptions options = new TxtSaveOptions();//指定分隔符options.Separator = Convert.ToChar(";");//使用选项保存文件wb.Save(dataDir + "output.csv", options);

将文件保存到流


要将文件保存到流,请创建一个MemoryStream或FileStream对象,并通过调用该Workbook对象的Save方法将该文件保存到该流对象。SaveFormat调用Save方法时使用枚举指定所需的文件格式。

  //文档目录的路径。string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);string filePath = dataDir + "Book1.xlsx";//加载源工作簿Workbook workbook = new Workbook(filePath);FileStream stream = new FileStream(dataDir + "output.xlsx", FileMode.CreateNew);workbook.Save(stream, new XlsSaveOptions(SaveFormat.Xlsx));stream.Close();

*想要购买Aspose.Cells for .NET正版授权的朋友可以联系在线客服了解详情哦~

欢迎加入ASPOSE技术交流QQ群,各类资源及时分享,技术问题交流讨论!(扫描下方二维码加入群聊)

1560231367164.png

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月24日
下一篇 2019年7月24日

相关推荐

发表回复

登录后才能评论