PageOffice V4.0 Excel常用的接口对象---Table类

Table 类,代表PageOffice中定义的Excel表格对象。

在PageOffice中,我们把Excel工作表上的任意一块连续的单元格区域定义为一个Table对象。Table 类按照常用的数据库组件中的数据表的概念封装了一系列对连续单元格区域进行的数据操作。 Table 类简化了对Excel单元格区域的各种复杂操作,使得开发者可以像操作熟悉的数据表一样操作Excel中的单元格区域,大大提高了开发效率及代码稳定性。

使用Table对象,您不仅可以在指定的单元格区域里填充数据,甚至还可以在完全空白区域画出表格并填充数据。您只能通过调用 Sheet.openTable(String) 方法获取 Table 对象。

Table类的命名空间

Table类进行写入操作时

  • Java开发时命名空间为:com.zhuozhengsoft.pageoffice.excelwriter
  • ASP.NET开发时命名空间为:PageOffice.ExcelWriter

Table类进行读取操作时

  • Java开发时命名空间为:com.zhuozhengsoft.pageoffice.excelreader
  • ASP.NET开发时命名空间为:PageOffice.ExcelReader

Table类的使用

通过Table类实现对Excel文件的写入和读取操作。
部分实现代码如下:

Java 写入操作,填充数据到Excel文档中:

	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提交的数据:

	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();

转载于:https://my.oschina.net/u/3850288/blog/2049589

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值