`
妮子321
  • 浏览: 85350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PageOffice--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();
分享到:
评论

相关推荐

    PageOffice 基础教程.pdf

    在Excel篇中,教程介绍了Workbook类、Sheet类、Table类和Cell类等常用接口对象,并指导如何动态填充Excel文档、实现单元格点击事件、用户自定义Excel模板、读取数据以及隐藏行号和列标的高级操作。 Java篇中,主要...

    Java通过Microsoft office接口来读写Excel、Word、Visio文件的代码

    内容概要:如果你想Java使用类似C#/VB.NET调用Office com的方式操作Excel、Word、Visio文件,推荐你使用Com4j,使用方式与VBA类似简单。网上没有现成操作这三类文件的Com4j库,笔者提供自己的库供使用。重点事项:...

    LotusDomino学习笔记.doc

    - **结合方式**: 通过COM接口允许Notes应用程序调用MS Office组件的功能,如创建Word文档或发送Excel表格数据。 #### 25. 读写关系数据库资料 - **实现方法**: 通过ODBC或JDBC接口连接到关系数据库,并使用...

    北大青鸟软件课程全部单词

    - **office**:指微软Office套件,包括Word、Excel、PowerPoint等应用。 - **copy**:复制,将选定的内容复制到剪贴板上,以便粘贴到其他位置。 - **find**:查找,搜索文档中的特定文本或数据。 - **table**:表格...

    Qt 数据库sqlite开课查询系统

    关于将数据导出到Excel,Qt不直接支持Excel文件格式,但可以通过第三方库如`libxlsxwriter`或`QAxWidget`(利用Microsoft Office Automation)实现。这里以`libxlsxwriter`为例,你需要先将数据转换为合适的数据结构...

    java学习之英文词汇

    9. **Office**: 办公室,也指微软Office套件,包括Word、Excel等多个办公应用软件。 10. **Copy**: 复制,将文件或数据的副本制作出来。 11. **Find**: 查找,在文档或文件夹中搜索特定的信息。 12. **Table**: 表格...

Global site tag (gtag.js) - Google Analytics