Excel管理控件Aspose.Cells開發(fā)者指南(三):保存Excel文件的不同方法
Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格管理和處理任務,支持構建具有生成,修改,轉換,呈現(xiàn)和打印電子表格功能的跨平臺應用程序。
【下載體驗Aspose.Cells for .NET最新版】
在接下來的系列教程中,將為開發(fā)者帶來Aspose.Cells for .NET的一系列使用教程,例如關于加載保存轉換、字體、渲染、繪圖、智能標記等等。
第一章:加載,保存,轉換和管理
▲第三節(jié):保存文件的不同方法
Aspose.Cells提供了Workbook表示Microsoft Excel文件的內(nèi)容,并提供了使用Excel文件所需的屬性和方法。本W(wǎng)orkbook類提供了Save用于保存Excel文件的方法。該Save方法有許多重載,用于以不同方式保存文件。
將文件保存到某個位置
要將文件保存到存儲位置,請SaveFormat在調(diào)用Workbook對象的Save方法時指定文件名(包含存儲路徑)和所需的文件格式(從枚舉中)。
// 文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); string filePath = dataDir + "Book1.xls"; //加載源工作簿 Workbook workbook = new Workbook(filePath); //以Excel 97?2003格式保存 workbook.Save(dataDir + ".output.xls"); // OR workbook.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僅保存活動工作表的內(nèi)容。以下代碼示例說明如何將整個工作簿保存為文本格式。使用任意數(shù)量的工作表加載源工作簿,該工作簿可以是任何Microsoft Excel或OpenOffice電子表格文件(因此XLS,XLSX,XLSM,XLSB,ODS等)。
執(zhí)行代碼時,它會將工作簿中所有工作表的數(shù)據(jù)轉換為TXT格式??梢孕薷南嗤氖纠詫⑽募4鏋镃SV。默認情況下,TxtSaveOptions.Separator是逗號,因此如果保存為CSV格式,請不要指定分隔符。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //加載源工作簿 Workbook workbook = new Workbook(dataDir + "book1.xls"); // 0字節(jié)數(shù)組 byte[] workbookData = new byte[0]; //文本保存選項。您可以使用任何類型的分隔符 TxtSaveOptions opts = new TxtSaveOptions(); opts.Separator = '\t'; //在工作簿數(shù)據(jù)數(shù)組中以文本格式復制每個工作表數(shù)據(jù) for (int idx = 0; idx < workbook.Worksheets.Count; idx++) { // 將活動工作表保存為文本格式 MemoryStream ms = new MemoryStream(); workbook.Worksheets.ActiveSheetIndex = idx; workbook.Save(ms, opts); //將工作表數(shù)據(jù)保存到工作表數(shù)據(jù)數(shù)組中 ms.Position = 0; byte[] sheetData = ms.ToArray(); //將此工作表數(shù)據(jù)合并到工作簿數(shù)據(jù)數(shù)組中 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; } // 將整個工作簿數(shù)據(jù)保存到文件中 File.WriteAllBytes(dataDir + "out.txt", workbookData);
使用自定義分隔符保存文本文件
文本文件包含沒有格式的電子表格數(shù)據(jù)。該文件是一種純文本文件,可以在其數(shù)據(jù)之間包含一些自定義分隔符。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); string filePath = dataDir + "Book1.xlsx"; //創(chuàng)建一個Workbook對象并從其路徑中打開該文件 Workbook wb = new Workbook(filePath); //實例化文本文件的保存選項 TxtSaveOptions options = new TxtSaveOptions(); //指定分隔符 options.Separator = Convert.ToChar(";"); //使用選項保存文件 wb.Save(dataDir + "output.csv", options);
將文件保存到流
要將文件保存到流,請創(chuàng)建一個MemoryStream或FileStream對象,并通過調(diào)用該Workbook對象的Save方法將該文件保存到該流對象。SaveFormat調(diào)用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正版授權的朋友可以聯(lián)系在線客服了解詳情哦~
歡迎加入ASPOSE技術交流QQ群,各類資源及時分享,技術問題交流討論!(掃描下方二維碼加入群聊)