Pear 的Excel类写数据需要注意的地方

来源:互联网 发布:js正则判断数字和字母 编辑:程序博客网 时间:2024/06/01 10:29

昨天提到一个任务说,导出报表有问题,就去看了下,页面在之前也看过,所以知道问题在哪,只是那个时候没做修改!昨天一改发现有两个问题困扰!

第一个问题,数据重写问题。在用Excel类的writeString writeNumber 函数时,对某一单元格写入了数据,如:

//实例化Excel写数据类$workbook = new Spreadsheet_Excel_Writer();//添加Excel 页$worksheet = & $workbook->addWorksheet("sheet first");//显示格式$arr_format = & $workbook->addFormat(array('Align' => 'center',                                                   'FontFamily' => '宋体',                                                   'Border' => 0,                                                   'Size' => 10));//写字符串$worksheet->writestring(2,0, ' ',$arr_format);

当这条语句的下面也有一条对此单元格写数据时,

$worksheet->writestring(2,0, ' test string ',$arr_format);

当导出数据到Excel时,打开此Excel表格,就会弹出提示:“文件错误,数据可能丢失”。

 

第二个问题,关于提供默认值的问题,与数据重写相关。其实与第一个问题一样的,如果能够对

单元格的数据重写,那么这个问题就迎刃而解,不成为问题。这里主要就是覆盖以前的数据有问

题,因为有些情况能达到覆盖效果,而有些也不能对前面的进行覆盖。

 

这两个问题可能还跟计算机的Excel软件或其他有关,共测试了六台机器上的导出效果,有两台机

器导出没有任何问题,其他四台机器都会报出 “文件错误,数据可能丢失”的错误,而且数据

也不能覆盖重写。至于说是Excel版本,这个也不能算原因,两台没有问题的机器,装的也是

Excel2003(其他两三台机器也是Excel2003),所以这个问题很是郁闷,找不到根本原因。

 

如果是数组数据循环,而每个数组内的元素又不确定,只能在写入数据时,给数组加上默认,以

避免Excel数据重写报错的情况

 
原创粉丝点击