doubutao6216 2014-11-10 15:41
浏览 488

使用PHPExcel复制剪切并将行集从一个位置粘贴到Excel工作表中的另一个位置

I am trying to cut and copy a range of rows from my excel sheet (about 2346 rows) and paste it in down at the bottom of the sheet. I would like to cut and copy 6-80 rows,331-354 rows and then paste them in bottom,
I would like to know a good way to perform this operation using PHPexcel methods. Please give me suggestions.

Thank you

  • 写回答

1条回答 默认 最新

  • douzhi1937 2015-04-08 05:46
    关注

    Okay I had nearly the same problem (I just wanted to copy & paste values and styling, without cutting anything). The solution doesn't seem to quite be solved here, or anywhere that I could find, sooo this is what I did:

    //Copy & paste values of range of cells
    $cellValues = $objPHPExcel->getActiveSheet()->rangeToArray('C25:AN26');
    $objPHPExcel->getActiveSheet()->fromArray($cellValues, null, 'C89');
    

    (I got the same Call to undefined method PHPExcel_Worksheet::range‌​ToArray() error as Maggi above, using Mark's given code, but for some reason breaking it up into 2 lines works);

    and then this silly bit of code to copy & paste the styling of the same range:

    $i = 2;
    while ($i < 55) {
        $j = num2char($i);
        $k = num2char($i+1);
        $objPHPExcel->getActiveSheet()->duplicateStyle($objPHPExcel->getActiveSheet()->getStyle($j.'26:'.$k.'26'), $j.'90:'.$k.'90');
        $i++;
    }
    
    function num2char($num) {
        $numeric = $num % 26;
        $letter = chr(65 + $numeric);
        $num2 = intval($num / 26);
        if ($num2 > 0) {
            return num2char($num2 - 1) . $letter;
        } else {
            return $letter;
        }
    }
    

    (num2char function taken directly from here)

    And then if you need to cut the original cells, use the removeRow() function.

    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算