【问题标题】:Php Box/Spout Format cell to currency and set widthPhp Box/Spout 格式单元格为货币并设置宽度
【发布时间】:2018-06-19 10:42:59
【问题描述】:

查看 Box/Spout 的文档后,我没有看到一种方法可以为单元格设置货币格式。

注意:PhpExcel 和 PhpSpreadsheet 不是一个选项。

有没有办法格式化单元格?

造型时,有没有办法设置单元格的宽度?

这是我目前的代码。
它可以工作,但缺少货币格式和宽度:

$writer = WriterFactory::create(Type::XLSX); // for XLSX files
$writer->openToFile($tmpfile); // write data to a file or to a PHP stream
$writer_sheet = $writer->getCurrentSheet();

$writer_sheet->setName($invoiceSheetName);
$headerStyle = (new StyleBuilder())
  ->setFontBold()
  ->setFontUnderline()
  ->build();

// add header with style
$writer->addRowWithStyle($header, $headerStyle);

$writer->addRows($resultsArray); // add multiple rows at a time
$writer->close();
$excelOutput = file_get_contents($tmpfile);

文档: Spout Documentation

非常感谢您的帮助。

【问题讨论】:

  • 如果文档没有提供选项.....
  • 如果代码无法实现,并且您不能使用其他代码,您期望什么?
  • “我想用函数 X 做一些我知道函数 X 不能做的事情”,现在这是什么问题?
  • 哪里说做不到?查看他们的 github 存储库中的问题。它可以做到。有一些拉取请求已经实现了其中一些期望的结果。但是,看起来它们还没有被合并到master上。你为什么不解释为什么你认为“它做不到”?
  • “查看 Box/Spout 的文档后,我没有看到为货币设置单元格格式的方法。”您的意思显然与我的解释不同。

标签: php


【解决方案1】:

决定通过解压xlsx文件并修改正确的xml文件来实现我自己的实现。

【讨论】:

  • 好! Spout 目前不支持设置单元格类型/宽度。实现这样的库有很多陷阱,但如果您的用例很简单并且在受控环境中,那么构建一个极简产品就可以了。
  • @Drew 您使用了 Spout 还是其他库?
  • 你是怎么做到的?能分享就更好了。
猜你喜欢
  • 2020-04-22
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多