Excel管理控件Aspose.Cells開發(fā)者指南(一):打開文件的不同方法
Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格管理和處理任務(wù),支持構(gòu)建具有生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格功能的跨平臺應(yīng)用程序。
【下載體驗Aspose.Cells for .NET最新版】
在接下來的系列教程中,將為開發(fā)者帶來Aspose.Cells for .NET的一系列使用教程,例如關(guān)于加載保存轉(zhuǎn)換、字體、渲染、繪圖、智能標(biāo)記等等。
第一章:加載,保存,轉(zhuǎn)換和管理
▲第一節(jié):打開文件的不同方法
通過路徑打開文件
開發(fā)人員可以在本地計算機(jī)上使用其文件路徑打開Microsoft Excel文件,方法是在Workbook類構(gòu)造函數(shù)中指定它。只需在構(gòu)造函數(shù)中傳遞路徑即可string。Aspose.Cells將自動檢測文件格式類型。
// 文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //通過路徑打開 //創(chuàng)建工作簿對象并使用其文件路徑打開Excel文件 Workbook workbook1 = new Workbook(dataDir + "Book1.xlsx"); Console.WriteLine("Workbook opened using path successfully!");
使用流打開文件
可以將Excel文件作為流打開。為此,請使用構(gòu)造函數(shù)的重載版本,該構(gòu)造函數(shù)采用Stream包含該文件的對象。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //開通過流 //創(chuàng)建一個流對象 FileStream fstream = new FileStream(dataDir + "Book2.xls", FileMode.Open); //創(chuàng)建工作簿對象時,從流對象打開文件 //包含文件的內(nèi)容,它應(yīng)該支持搜索 Workbook workbook2 = new Workbook(fstream); Console.WriteLine("Workbook opened using stream successfully!"); fstream.Close();
僅使用數(shù)據(jù)打開文件
要僅使用數(shù)據(jù)打開文件,請使用LoadOptions和LoadDataOption類,設(shè)置要加載的模板文件的類的相關(guān)屬性和選項。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //僅加載包含數(shù)據(jù)和公式的特定工作表 //將丟棄其他對象,項目等 //實例化LoadFormat指定的LoadOptions LoadOptions loadOptions = new LoadOptions(LoadFormat.Xlsx); //設(shè)置LoadFilter屬性以僅加載數(shù)據(jù)和單元格格式 loadOptions.LoadFilter = new LoadFilter(LoadDataFilterOptions.CellData); //創(chuàng)建一個Workbook對象并從其路徑中打開該文件 Workbook book = new Workbook(dataDir + "Book1.xlsx", loadOptions); Console.WriteLine("File data imported successfully!");
僅加載可見表格
Workbook有時加載時,您可能只需要工作簿中可見工作表中的數(shù)據(jù)。Aspose.Cells允許您在加載工作簿時跳過不可見工作表中的數(shù)據(jù)。該類LoadDataOptions提供了一個OnlyVisibleWorksheet允許我們跳過不可見表格的屬性。將加載工作表,但所有單元格值將保留null。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); string sampleFile = "output.xlsx"; string samplePath = dataDir + sampleFile; //創(chuàng)建一個示例工作簿 //并將一些數(shù)據(jù)放入所有3張表格的第一個單元格中 Workbook createWorkbook = new Workbook(); createWorkbook.Worksheets["Sheet1"].Cells["A1"].Value = "Aspose"; createWorkbook.Worksheets.Add("Sheet2").Cells["A1"].Value = "Aspose"; createWorkbook.Worksheets.Add("Sheet3").Cells["A1"].Value = "Aspose"; createWorkbook.Worksheets["Sheet3"].IsVisible = false; createWorkbook.Save(samplePath); //加載示例工作簿 LoadOptions loadOptions = new LoadOptions(); loadOptions.LoadFilter = new CustomLoad(); Workbook loadWorkbook = new Workbook(samplePath, loadOptions); Console.WriteLine("Sheet1: A1: {0}", loadWorkbook.Worksheets["Sheet1"].Cells["A1"].Value); Console.WriteLine("Sheet1: A2: {0}", loadWorkbook.Worksheets["Sheet2"].Cells["A1"].Value); Console.WriteLine("Sheet1: A3: {0}", loadWorkbook.Worksheets["Sheet3"].Cells["A1"].Value);
下面是上面代碼片段中引用的CustomnLoad類的實現(xiàn)。
class CustomLoad : LoadFilter { public override void StartSheet(Worksheet sheet) { if (sheet.IsVisible) { // Load everything from visible worksheet this.LoadDataFilterOptions = LoadDataFilterOptions.All; } else { // Load nothing this.LoadDataFilterOptions = LoadDataFilterOptions.None; } } }
*想要購買Aspose.PDF for .NET正版授權(quán)的朋友可以聯(lián)系在線客服了解詳情哦~
歡迎加入ASPOSE技術(shù)交流QQ群,各類資源及時分享,技術(shù)問題交流討論!(掃描下方二維碼加入群聊)