【问题标题】:How to set formula "=''Sheet Name''!B10" with PHPExcel如何使用 PHPExcel 设置公式“=''Sheet Name''!B10”
【发布时间】:2012-07-31 01:17:56
【问题描述】:

想法是从sheet a到sheet b设置动态值,其中sheet b的新值随着sheet a值的变化而变化。

在这里,我已经定义了所有可用于将值从工作表 a 设置到工作表 b 的方法,但所有这些方法都不是动态更新的。

$ba = $objPHPExcel->getSheet(1)->getCell('B10')->getCalculatedValue();

$objPHPExcel->getActiveSheet()->setCellValue('B12', $ba);

我使用的代码是否准确,但它设置 B10 的计算值等于“=SUM(B4:B5)”,它给出一个值“X”并在 Excel 表上打印“X”。

如果我使用

$ba = $objPHPExcel->getSheet(1)->getCell('B10')->getValue();  

"不是 getCalculatedValue()"

在这种情况下,它将创建一个公式 '=SUM(B4:B5)' 并生成 B4 到 B5 值的总和,但来自同一张工作表,而不是我要从中获取的工作表。

实际的公式是='sheet name'!B10

但是当我把它当作

$objPHPExcel->getActiveSheet()->setCellValue('B12', '=''Fixed Cost''!B10');

这会产生错误。

【问题讨论】:

  • 我想为 @vcsjones 投票赞成编辑。

标签: php phpexcel


【解决方案1】:
$objPHPExcel->getActiveSheet()->setCellValue('B12', "='Fixed Cost'!B10"); 

【讨论】:

  • 直接从马嘴里。很棒。
  • 感谢您的回复,对不起,我今天看到它,因为客户再次回复我 :) 因为他确信“PHP 到公式化 excel 转换是不可能的”:) 我让它工作
  • @truthblue82 那么你做错了什么......但是仅仅针对别人的 5 岁问题发表这样的评论并不是 StackOverfow 的工作原理......问一个正确的问题,发布一个简单的例子,说明您实际在做什么、您期望什么以及您实际得到什么
  • 我的代码在这里:$xfile = new PHPExcel(); $xfile->setActiveSheetIndex(0); $sheet1 = $xfile->getActiveSheet(); $sheet1->setTitle('Sheet 1'); $sheet1->setCellValue('A1',100); $xfile->createSheet(); $sheet2 = $xfile->setActiveSheetIndex(1); $sheet2->setCellValue('A1',"='Sheet 1'!A1"); $writer = PHPExcel_IOFactory::createWriter($xfile,'Excel2007'); $writer->save("php://output"); Header("Content-type: application/octet-stream; name=test.xlsx"); Header("内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");你能帮帮我吗?
  • 问问题“作为一个正确的问题”.....只是针对其他人的问题发布 cmets 并不是在问问题。除非您正确提出问题,否则我不会提供帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-15
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
相关资源
最近更新 更多