在 PHPExcel 中复制样式和数据

2024-04-14

我想将某个范围的所有数据和样式复制到其他单元格。例如我想从 A4: I15 复制,然后完全粘贴我想要从 A16 复制的内容和样式。我该怎么做?。这就是我要复制的内容:

我知道只复制数据而不复制样式,并使用以下代码执行此操作:

$cellValues = $objPHPExcel->getActiveSheet()->rangeToArray('A4:I15');
$objPHPExcel->getActiveSheet()->fromArray($cellValues, null, 'A16');

我需要复制麦粒肿和数据


function copyRows(PHPExcel_Worksheet $sheet,$srcRow,$dstRow,$height,$width) {
    for ($row = 0; $row < $height; $row++) {
        for ($col = 0; $col < $width; $col++) {
            $cell = $sheet->getCellByColumnAndRow($col, $srcRow + $row);
            $style = $sheet->getStyleByColumnAndRow($col, $srcRow + $row);
            $dstCell = PHPExcel_Cell::stringFromColumnIndex($col) . (string)($dstRow + $row);
            $sheet->setCellValue($dstCell, $cell->getValue());
            $sheet->duplicateStyle($style, $dstCell);
        }

        $h = $sheet->getRowDimension($srcRow + $row)->getRowHeight();
        $sheet->getRowDimension($dstRow + $row)->setRowHeight($h);
    }

    foreach ($sheet->getMergeCells() as $mergeCell) {
        $mc = explode(":", $mergeCell);
        $col_s = preg_replace("/[0-9]*/", "", $mc[0]);
        $col_e = preg_replace("/[0-9]*/", "", $mc[1]);
        $row_s = ((int)preg_replace("/[A-Z]*/", "", $mc[0])) - $srcRow;
        $row_e = ((int)preg_replace("/[A-Z]*/", "", $mc[1])) - $srcRow;

        if (0 <= $row_s && $row_s < $height) {
            $merge = $col_s . (string)($dstRow + $row_s) . ":" . $col_e . (string)($dstRow + $row_e);
            $sheet->mergeCells($merge);
        } 
    }
}
$objPHPExcel = PHPExcel_IOFactory::load("x.xlsx");
$sheet = $objPHPExcel->getActiveSheet();
copyRows($sheet, 1, 50, 48, 11);
copyRows($sheet, 2, 7 + 5, 5, 5);
copyRows($sheet, 2, 7 + 10, 5, 5);
copyRows($sheet, 2, 7 + 15, 5, 5);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHPExcel 中复制样式和数据 的相关文章

  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据
  • ZipArchive 提取 - 单个文件

    我有以下代码 ipaFile path file ipa iconFilePath Payload myapp app email protected cdn cgi l email protection the pathway to my
  • Codeigniter:Base_url 似乎不起作用

    我开发了一个简单的网站 可以从 Twitter 公共时间线获取推文 将其缓存 60 秒等等 我最近将主机从 Hostgator 移至 Mediatemple 我的网站之前在 Hostgator 上运行良好 我的应用程序不使用数据库连接 也不
  • 客户端和服务器端编程有什么区别?

    我有这个代码 为什么这不会将 bar 写入我的文本文件 而是警告 42 注意 这个问题的早期修订明确涉及服务器上的 PHP 和客户端上的 JavaScript 问题的本质和解决方案是相同的any当一种语言在客户端上运行而另一种语言在服务器上
  • 将扩展配置文件实体添加到 FOS UserBundle

    我正在尝试扩展 FOS UserBundle 以允许扩展配置文件实体除了基本 UserBundle 字段之外还保存其他信息 因为我的网站上有多种类型的用户 所以我创建了单独的实体来保存个人资料信息 我的实体设置如下 class UserPr
  • 在Windows上安装php Composer时出现错误

    在安装 Composer 以使用 Laravel 框架时 我遇到了一些错误 Download failed file get contents SSL operation failed with code 1 OpenSSL Error m
  • TCPDF / FPDI 可以接受 PDF 作为字符串吗?

    是否可以将 TCPDF 或 FPDI PDF 作为字符串提供 我有一个传入的 PDF 数组作为字符串 但无法写入磁盘 我在文档中找不到与此相关的任何内容 如果没有 是否有一种有效的方法来从内存或作为对象存储 读取这些 PDF 将它们喂给 F
  • 为什么 SORT_REGULAR 在 PHP 中产生不一致的结果?

    我正在开发一个类 它使 PHP 中的数组排序变得更容易 并且我一直在使用 SORT 常量 但是行为或SORT REGULAR 默认排序类型 似乎有所不同 具体取决于您在数组中添加项目的顺序 此外 我找不到任何模式来解释为什么会出现这种情况
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • 正确的标头 php mysql blob 显示图像

    我正在尝试在我的 PHP 页面中显示来自 mysql blob 的图像 我知道这不是最佳实践 然后我会将其引入我的 iOS 应用程序中 我在设置页面标题时遇到问题 我认为需要将其设置为图像 所以 这显示了图像 但我不相信页眉是正确的 hea
  • 维护 HttpUrlConnection 调用之间的会话(Native/Webview)

    让我从我做的开始desire 我想制作一个应用程序part native and part webviews Problem 维护本机和 webview 部分之间的会话 My 处理方法 this 我打算实现一个本机登录 其中我向用户展示两个
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • PHP:展平数组-最快的方法? [复制]

    这个问题在这里已经有答案了 是否有任何快速方法可以在不运行 foreach 循环的情况下展平数组并选择子键 在本例中为 键 和 值 或者 foreach 始终是最快的方法 Array 0 gt Array key gt string val
  • 我应该使用排队系统来处理付款吗?

    我在用着Slim https www slimframework com和这个结合Stripe 的 PHP 库 https stripe com docs api php在我的应用程序中处理付款 一切都很好 但是直到最近 我在我的系统中发现
  • SVG 转 JPG / PNG

    有没有工作模块可以convert a SVG image into像素格式如JPEG or PNG 看看蜡染工具包 具体来说是光栅化器 http xmlgraphics apache org batik tools rasterizer h
  • 如何使用xquery查找节点并向其添加子节点?

    是否可以使用xpath xquery查询特定的xml节点 然后向其导入 添加子节点 示例 代码取自http codepad org gJ1Y2LjM http codepad org gJ1Y2LjM 这是在类似的问题中提出的 但不相同 1
  • Heredoc:常用的“EOT”实际上是什么意思?

    PHP s 定界例子 http www php net manual en language types string php language types string syntax heredoc似乎总是使用 EOT 有时是 EOD 作
  • 使用 html5 分块上传文件

    我正在尝试使用 html5 的文件 API 分块上传文件 然后在服务器端用 php 重新组装它 我正在上传视频 但是当我在服务器端合并文件时 大小增加了 并且它变成了无效文件 请注意 以下 html5 代码仅适用于 chrome 浏览器 在
  • SimpleXML插入处理指令(样式表)

    我想集成一个XSL文件在一个XML给我的字符串php CURL命令 我试过这个 output XML gived me by curl option hotel simplexml load string output hotel gt a
  • 在 PHP 命令行上显示完整的堆栈跟踪

    Problem 我的 PHP 堆栈跟踪缩写为 Stack trace 0 www html table app create php 128 SoapClient gt call call Array 1 www html table ap

随机推荐

  • GitLab 管道 Docker 构建卡在 apk 上

    尝试创建一个简单的 GitLab 管道 为 Alpine Linux Openshift CLI 构建 Docker 镜像 这是代码 FROM frolvlad alpine glibc latest MAINTAINER Daniel W
  • 从嵌入的 SVG 设置 XSL FO 背景图像

    我正在创建背景文本withinXSL FO 文档是这样的
  • JQuery Mobile 刷新复选框仅有效一次 - .checkboxradio('refresh') 问题

    我遇到了一个奇怪的问题 我有一个带有复选框列的表格 我正在使用 JQuery Mobile 复选框 我希望单击一行与单击该行中的复选框相关联 JS document on pagecreate function event bindRowC
  • 如何在 Formidable (Node.js) 中取消用户上传?

    我已经研究这个问题两天了 但我被困住了 我正在使用 Node js 和 Express 并且正在尝试实现上传表单 基本上 我希望表单执行以下操作 检查文件的大小 如果太大则取消上传 当我说取消时 我的意思是防止任何进一步的数据写入磁盘并删除
  • Supervisor 3.3 与 Ubuntu 16.04 服务启动失败 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天早上 我通过使用升级了我的主管 pip install upgrade supervisor from 3 2 to 3 3 但之后
  • Java中创建静态对象的目的是什么?

    class Demo void show System out println i am in show method of super class class Flavor1Demo An anonymous class with Dem
  • 使 GDI 绘图不可点击

    我有一个带有 GDI 绘图的透明 WinForms 应用程序 我将其用作覆盖层 问题是 每当我单击 GDI 绘图时 焦点就会转到应用程序窗口 我该如何扭转这种情况 您需要使用right颜色如TransparencyKey 一切使得Form
  • 如何在 RubyMine 中运行 Cucumber 场景大纲示例表的单行?

    我正在使用 RubyMine 运行测试 强加给我 我有一些使用场景大纲和示例格式的功能 有没有办法可以只运行示例表中的某一行 Example Examples user row row1 row2 1 2 4 51 51 97 98 98
  • Java Swing:将 JLabel 添加到 JPanel

    我只是想将 JLabel 添加到现有的 JPanel 中 这看起来很简单 我已经查遍了 我认为这是正确的 但标签没有出现在我的面板上 有人看到我缺少什么吗 谢谢 ResultsPanel myPanel new ResultsPanel p
  • 如何检查传递到 EC2 实例的用户数据是否正常工作

    在使用 EC2 命令行 API 创建新的 AWS EC2 实例时 我将一些用户数据传递到新实例 我如何知道该用户数据是否被执行 您可以使用以下步骤进行验证 启动 EC2 实例时使用 SSH Check the log of your use
  • CSS - 页面右侧的图像,文本未环绕在其周围

    这可能是一个简单的问题 但我无法弄清楚 我想使用 CSS 将图像放在页面的右侧 而不是在其周围环绕文本 我想要这样的 img text text text text text text text 如果我在图像上进行 float right
  • 为什么 android-inapp-billing-v3 库需要两次尝试购买?

    我正在尝试使用 android inapp billing v3 库在我的简单应用程序中实现应用内购买 我正在使用这个库 https github com anjlab android inapp billing v3 https gith
  • 根据“几个因素”斜率更改 ggplot 中的线条颜色

    更新 我有以下数据 我想根据 3 个因素 I II III 的斜率在组之间画一条线 set seed 205 dat data frame t rep c I II III each 10 pairs rep 1 10 3 value rn
  • 最快的C++序列化?

    我正在寻找一种非常快速的 C 二进制序列化技术 我只需要序列化对象中包含的数据 没有指针等 我希望它尽可能快 如果它特定于 x86 硬件 这是可以接受的 我熟悉执行此操作的 C 方法 作为测试 我对几种技术进行了基准测试 我发现 C 方法比
  • 前往 source.cloud.google.com 获取

    我有一个托管在 source cloud google com 上的项目 我希望使用go get并使用模块来管理它 当我做go get 我得到以下信息 go get source cloud google com
  • 视图隐藏在 UINavigationBar iOS 7 下面

    早些时候 我的项目使用的是 iOS 6 1 最近我已经切换到 iOS 7 对于我知道的很多更改 我更新了我的代码 但是我观察到了一个奇怪的行为 我在每个屏幕上的视图都隐藏在导航栏下方 重新定位视图解决了 iOS7 的问题 但为旧版 iOS
  • App Engine Python:AttributeError:“模块”对象没有属性“Stock”

    我只是在生产中遇到此错误 在本地主机上它运行良好 Traceback most recent call last File base python runtime python lib versions 1 google appengine
  • 在 JS/jQuery 中绑定方向键

    如何在 Javascript 和 或 jQuery 中将函数绑定到左右箭头键 我查看了 jQuery 的 js hotkey 插件 包装内置绑定函数以添加参数来识别特定键 但它似乎不支持箭头键 document onkeydown func
  • Node.js SOAP 客户端参数格式

    我在使用 Node js 的 Node soap 模块作为客户端将某个特定的 Soap 参数正确格式化为第 3 方 SOAP 服务时遇到问题 此方法的 client describe 表示此特定输入应采用以下形式 params param
  • 在 PHPExcel 中复制样式和数据

    我想将某个范围的所有数据和样式复制到其他单元格 例如我想从 A4 I15 复制 然后完全粘贴我想要从 A16 复制的内容和样式 我该怎么做 这就是我要复制的内容 我知道只复制数据而不复制样式 并使用以下代码执行此操作 cellValues