PageOffice V4.0 Excel經常使用的接口對象---Table類

Table 類,表明PageOffice中定義的Excel表格對象。web

在PageOffice中,咱們把Excel工做表上的任意一塊連續的單元格區域定義爲一個Table對象。Table 類按照經常使用的數據庫組件中的數據表的概念封裝了一系列對連續單元格區域進行的數據操做。 Table 類簡化了對Excel單元格區域的各類複雜操做,使得開發者能夠像操做熟悉的數據表同樣操做Excel中的單元格區域,大大提升了開發效率及代碼穩定性。數據庫

使用Table對象,您不只能夠在指定的單元格區域裏填充數據,甚至還能夠在徹底空白區域畫出表格並填充數據。您只能經過調用 Sheet.openTable(String) 方法獲取 Table 對象。jsp

Table類的命名空間

Table類進行寫入操做時spa

  • Java開發時命名空間爲:com.zhuozhengsoft.pageoffice.excelwriter
  • ASP.NET開發時命名空間爲:PageOffice.ExcelWriter

Table類進行讀取操做時excel

  • Java開發時命名空間爲:com.zhuozhengsoft.pageoffice.excelreader
  • ASP.NET開發時命名空間爲:PageOffice.ExcelReader

Table類的使用

經過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();
相關文章
相關標籤/搜索