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();
相关文章
相关标签/搜索