Table 類,表明PageOffice中定義的Excel表格對象。web
在PageOffice中,咱們把Excel工做表上的任意一塊連續的單元格區域定義爲一個Table對象。Table 類按照經常使用的數據庫組件中的數據表的概念封裝了一系列對連續單元格區域進行的數據操做。 Table 類簡化了對Excel單元格區域的各類複雜操做,使得開發者能夠像操做熟悉的數據表同樣操做Excel中的單元格區域,大大提升了開發效率及代碼穩定性。數據庫
使用Table對象,您不只能夠在指定的單元格區域裏填充數據,甚至還能夠在徹底空白區域畫出表格並填充數據。您只能經過調用 Sheet.openTable(String) 方法獲取 Table 對象。jsp
Table類進行寫入操做時spa
Table類進行讀取操做時excel
經過Table類實現對Excel文件的寫入和讀取操做。
部分實現代碼以下:code
Java 寫入操做,填充數據到Excel文檔中:orm
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須 //定義Workbook對象 Workbook workBook = new Workbook(); //定義Sheet對象,"Sheet1"是打開的Excel表單的名稱 Sheet sheet = workBook.openSheet("Sheet1"); //定義Table對象 Table table = sheet.openTable("B4:F13"); for(int i=0; i < 5; i++) { table.getDataFields().get(0).setValue("產品 " + i); table.getDataFields().get(1).setValue("100"); table.getDataFields().get(2).setValue(String.valueOf(100+i)); …… table.nextRow(); } table.close(); poCtrl1.setWriter(workBook); poCtrl1.setSaveDataPage("savedata.jsp"); // 接收數據的jsp頁面或action方法 poCtrl1.webOpen("doc/test.xls", OpenModeType.xlsNormalEdit, "張三");
Java 讀取操做(savedata.jsp或action方法),獲取Excel提交的數據:server
Workbook workBook = new Workbook(request, response); Sheet sheet = workBook.openSheet("Sheet1"); Table table = sheet.openTable("B4:F13"); while (!table.getEOF()) { //獲取提交的數值 if (!table.getDataFields().getIsEmpty()) { String valueB = table.getDataFields().get(0).getText(); String valueC = table.getDataFields().get(1).getText(); String valueD = table.getDataFields().get(2).getText(); String valueE = table.getDataFields().get(3).getText(); String valueF = table.getDataFields().get(4).getText(); // 處理獲取到的數據,好比保存到數據庫中 …… } table.nextRow();//循環進入下一行 } table.close(); workBook.close();
ASP.NET寫入操做,填充數據到Excel文檔中:對象
PageOffice.ExcelWriter.Workbook workBook = new PageOffice.ExcelWriter.Workbook(); //定義Sheet對象,"Sheet1"是打開的Excel表單的名稱 PageOffice.ExcelWriter.Sheet sheet = workBook.OpenSheet("Sheet1"); //定義Table對象 PageOffice.ExcelWriter.Table table = sheet.OpenTable("B4:F13"); for(int i=0; i < 50; i++) { table.DataFields[0].Value = "產品 " + i.ToString(); table.DataFields[1].Value = "100"; table.DataFields[2].Value = (100+i).ToString(); …… table.NextRow(); } table.Close(); PageOfficeCtrl1.SetWriter(workBook);// 注意不要忘記此代碼,若是缺乏此句代碼,不會賦值成功。 PageOfficeCtrl1.SaveDataPage = "savedata.aspx"; // 接收數據的aspx頁面或action方法 PageOfficeCtrl1.ServerPage = Request.ApplicationPath + "/pageoffice/server.aspx"; PageOfficeCtrl1.WebOpen("doc/test.xls", PageOffice.OpenModeType.xlsNormalEdit, "操做人姓名");
ASP.NET讀取操做(savedata.aspx頁面或action方法),獲取Excel提交的數據:開發
PageOffice.ExcelReader.Workbook workBook = new PageOffice.ExcelReader.Workbook(); PageOffice.ExcelReader.Sheet sheet = workBook.OpenSheet("Sheet1"); PageOffice.ExcelReader.Table table = sheet.OpenTable("B4:F13"); while (!table.EOF) { //獲取提交的數值,DataFields.Count標識的是提交過來的table的列數 if (!table.DataFields.IsEmpty) { string valueB = table.DataFields[0].Text; string valueC = table.DataFields[1].Text; string valueD = table.DataFields[2].Text; string valueE = table.DataFields[3].Text; string valueF = table.DataFields[4].Text; // 處理獲取到的數據,好比保存到數據庫中 …… } table.NextRow();//循環進入下一行 } table.Close(); workBook.Close();