【发布时间】:2012-10-23 16:05:44
【问题描述】:
我正在使用PHPExcel library打开现有的 Excel 电子表格,然后在其中创建一个新工作表。
我正在使用的代码(不包括所有初始化/保存等,因为一切正常)如下:
#======================================================#
# OPEN EXISTING EXCEL SPREADSHEET #
#======================================================#
if (!file_exists( CURRENT_FILE )) {
exit("Please run " . CURRENT_FILE . " first." . EOL);
}
echo date('H:i:s') , " Load from Excel2007 file" , EOL;
$objPHPExcel = PHPExcel_IOFactory::load( CURRENT_FILE );
#======================================================#
#======================================================#
# SET UP WORKSHEETS #
#======================================================#
echo date('H:i:s') , " Create new worksheet for month" , EOL;
$objPHPExcel->createSheet();
$objPHPExcel->getActiveSheet()->setTitle( date("d M", strtotime( $weeks[1] ) ) . ' - ' . date("d M", strtotime( $weeks[4] ) ) );
#======================================================#
我正在尝试做的是:
- 打开现有的 Excel 文件(其中可能已经有 1 个或多个工作表)
- 创建新工作表
- 设置新工作表的标题
- 向新工作表添加内容
然而,似乎正在发生的事情是这样的:
- 打开现有的 Excel 文件
- 创建一个新工作表
- 将第一个工作表的标题设置为我设置的日期
- 向第一个工作表添加内容
所以,我认为我需要做的是:
- 打开现有的 Excel 文件
- 添加新工作表
- 获取新增工作表的ID(类似
mysql_insert_id()的命令) - 将活动工作表设置为该 ID
- 设置活动工作表的标题
- 向活动工作表添加内容
但是,我似乎在 PHPExcel 文档中找不到这样的命令。一个存在吗?如果没有,是否有任何可行的解决方法?我不想覆盖此文档中的现有工作表。
提前致谢,
【问题讨论】:
-
PHPExcel 哪个版本?您使用的是最新的 1.7.8 版本吗?